Mint: A Performance Portable Mesh Data Model Enabling the Development of Next-Generation Massively Parallel Multi-Physics Applications

George Zagaris, Kevin R. Holst, Jayanarayanan Sitaraman, Shirzad Hosseinverdi, William C. Tyson, Vinod K. Lakshminarayan, Andrew Bodling, Jon T. Erwin, Robert P. McNally, Steven E. Lamberson, Ryan B. Bond, Andrew M. Wissink, Keith S. Obenschain · 2025

The increasingly diverse hardware architecture landscape that characterizes modern high-performance scientific computing presents significant software engineering challenges for the development of large-scale multi-physics codes. Performance portability libraries, such as RAJA and Kokkos, have emerged as powerful tools that help mitigate some of these challenges. However, leveraging these libraries for large-scale multi-physics applications requires substantial effort, refactoring and software engineering expertise. This paper introduces Mint, a C++ library that serves as a foundational software infrastructure, consisting of a comprehensive mesh data model and a mesh-aware, fine-grained parallel execution model that underpins the development of massively parallel and performance portable multi-physics applications. Mint enables seamless integration with RAJA and Kokkos and can be extended to support other performance portability libraries and approaches. As a foundational building block, Mint offers a flexible and sustainable approach that streamlines the development of next-generation, multi-physics applications while insulating application developers, scientists and engineers from the complexities of emerging software technologies and diverse hardware architectures. We describe the software architecture of Mint and present performance results from benchmark applications that demonstrate the feasibility of our approach.

Read the paper · More papers on PaperTik