Katherine Rasmussen is a Computer Systems Engineer in CLaSS and also works with NERSC's Applications Performance Group.
Katherine has a M.A. in Linguistics and is a software developer with experience in grammars and compilers. She has leveraged past experience in Mobile Assisted Language Learning to transition into working in compiler development and various programming languages. Katherine has experience with parsing and disambiguating old computer languages, as well as working with processing and building abstract syntax trees (ASTs) for compiler frontends. She has contributed code related to the Fortran language to open-source compiler projects, including to the LLVM Fortran compiler project Flang. She is also a regular contributor to the Lawrence Livermore National Laboratory’s open-source compiler-based infrastructure for building source-to-source transformations and analysis tools, ROSE.
- LLVM Flang Fortran compiler testing
Katherine Rasmussen, Damian Rouson, Naje George, Dan Bonachea, Hussain Kadhem, Brian Friesen, "Agile Acceleration of LLVM Flang Support for Fortran 2018 Parallel Programming", Research Poster at the International Conference for High Performance Computing, Networking, Storage, and Analysis (SC22), November 2022, doi: 10.25344/S4CP4S
The LLVM Flang compiler ("Flang") is currently Fortran 95 compliant, and the frontend can parse Fortran 2018. However, Flang does not have a comprehensive 2018 test suite and does not fully implement the static semantics of the 2018 standard. We are investigating whether agile software development techniques, such as pair programming and test-driven development (TDD), can help Flang to rapidly progress to Fortran 2018 compliance. Because of the paramount importance of parallelism in high-performance computing, we are focusing on Fortran’s parallel features, commonly denoted “Coarray Fortran.” We are developing what we believe are the first exhaustive, open-source tests for the static semantics of Fortran 2018 parallel features, and contributing them to the LLVM project. A related effort involves writing runtime tests for parallel 2018 features and supporting those tests by developing a new parallel runtime library: the CoArray Fortran Framework of Efficient Interfaces to Network Environments (Caffeine).