SIParCS 2023 - Qina Tan

Qina Tan, Colorado School of Mines

Qina Tan, Colorado School of Mines

Just-in-Time Compilation of a Chemistry Solver for GPU

Recorded Talk

At NCAR, we perform world-class research in Earth system science with a particular focus on the interaction between the atmosphere and other components like the oceans and land surface. One of the many critical pieces in our understanding of the Earth system is the way in which chemical reactions impact the atmosphere. Atmospheric chemistry is typically solved by a numerical solver in a weather or climate model. Currently a researcher executes a “preprocessor” to generate a specialized version of the source code for a specific chemical mechanism. This preprocessing step both negatively impacts the user experience and software maintenance costs. These problems can potentially be overcome using a just-in-time (JIT) compilation approach. The JIT compilation can build the necessary chemistry solver at runtime. This means that once a researcher changes the chemical mechanism, the JITed solver is able to generate the appropriate chemistry solver automatically.. However, several open questions remain: (1) Does the JITed code yield a competitive performance against the one generated by the “preprocessor”? (2) Is the JITed code portable between different platforms such as CPU and Graphics Processing Units (GPU)? Addressing these concerns is likely to greatly enhance the attraction and adoption of the JIT compilation in this research community. The goal of this 2023 summer internship is to develop a GPU version of an existing JIT-based chemistry solver written in C++. The student’s primary focus will be developing the JITed chemistry solver for GPU and documenting the procedures, success or known issues. The student will also run various chemistry solvers on different Linux clusters at NCAR to verify their accuracy and evaluate their performance.

Mentors: Jian Sun, John Dennis, Matthew Dawson (ACOM)

Slides and poster