SIParCS 2026 - Riley Fisher

Riley Fisher, University of Colorado Boulder
A Performance and Usability Study of the Rust Programming Language
Recorded Talk
NSF NCAR develops and maintains community models that are critical to advancing our understanding of the Earth system. Collectively, these models contain millions of lines of code of which most are currently unable to take advantage of modern hardware architectures or performance libraries. As a leader in the field, NCAR explores and evaluates which changes in programming practices are essential for keeping up with modern computing standards. Of the many aspects to consider, the choice of programming language is the foundation for creating models that prioritize performance, scalability, and maintainability. This project aims to expand NCAR’s understanding around both the performance and usability of various programming languages and scientific computing libraries. We add a Rust implementation to the NCAR-developed shallow water model mini–application, which contains versions written in C/C++, Fortran, and Python. Rust is a newer programming language of interest because of its compile-time memory safety, efficiency, Python-like packaging, and proposed developability. Performance studies on Derecho's CPUs show comparable speed and scaling between the Rust, C, and Fortran implementations, while the Python implementation is notably slower. The Rust development experience suggests that, despite being an actively developing language, there is a quick learning curve thanks to its package capabilities and readable, compile-time error messages. We also explore development with some of Rust's newer features, such as GPU support. As priorities shift to exascale capable and hardware portable code, Rust is an appealing language that balances performance, usability, and safe coding practices.
Mentors: Lalo Torres, Ren Stengel, John Dennis
Slides and poster