RSECon and Rust

17 October 2022

In September 2022, the Society of Research Software Engineers held their conference (RSECon) at Newcastle University. EPCC both attended and contributed to the conference, with Eleanor Broadway serving on the organisation committee for the conference. The Society aims to establish a research environment which recognises the role of software in research; this conference enabled interesting discussion around RSE work and the role of RSEs.

A number of EPCC staff attended and ran our stall. We had interesting discussions with conference attendees, and offered fun goodies: postcards, pencils, rubbers, and metal straws! There were good discussions and questions around ARCHER2, the type of work we do at EPCC, and how different RSE departments operate.

As well as hosting a stand, members of EPCC got involved in the technical aspect of the conference. David Henty gave a workshop on Jupyter notebooks, Chris Johnson and Lorna Smith hosted a panel about the eCSE programme, and Chris Wood gave two talks.

I also gave a talk on Rust for scientific computing, alongside a colleague (and friend!) Dr Freddy Wordingham from my time doing my PhD. Rust is a modern programming language, originally created in 2006. The first stable release came out in 2015; it has since been adopted fairly widely including by companies such as Discord, Google, and Microsoft. The focus of Rust is on performance and concurrency. Memory safety is enforced at compile time, therefore no data races can occur. This can make for tricky code writing, especially when writing for parallelism on HPC systems, but ensures that once it passes the compiler you can be confident it will perform as expected.

During our PhDs, Freddy and I developed a code in Rust to perform Monte Carlo Radiative Transfer, and applied this to different cancer research problems. In my current role at EPCC, I have been working in the EuroCC project on a technical report about the use of Rust on HPC systems. More specifically, I have written a simple computational fluid dynamics (CFD) code of a fluid in a box in Rust, in order to compare Rust to similar codes in C and Fortran.

At RSECon, our presentation focused on our experiences using Rust, and why it is appropriate for scientific computing. We also discussed the drawbacks to Rust, namely the steep learning curve and the relative newness of the language leading to less documentation (StackOverflow) help than other, older languages. Overall, if the time is available to invest in learning Rust, then it can be a great choice of programming language!

There was a plethora of interesting talks, workshops, and panels at RSECon, alongside fun evening events. It was lovely to be able to attend in person and share some of my knowledge in front of an interested audience!

RSE Conference 2022 website: https://rsecon2022.society-rse.org

The EPCC team at RSEcon

Author

Dr Laura Moran
Laura Moran