Portable High-Performance Kernel Generation for a Computational Fluid Dynamics Code with DaCe
Portable High-Performance Kernel Generation for a Computational Fluid Dynamics Code with DaCe
With the emergence of new high-performance computing (HPC) accelerators, such as Nvidia and AMD GPUs, efficiently targeting diverse hardware architectures has become a major challenge for HPC application developers. The increasing hardware diversity in HPC systems often necessitates the development of architecture-specific code, hindering the sustainability of large-scale scientific applications. In this work, we leverage DaCe, a data-centric parallel programming framework, to automate the generation of high-performance kernels. DaCe enables automatic code generation for multicore processors and various accelerators, reducing the burden on developers who would otherwise need to rewrite code for each new architecture. Our study demonstrates DaCe's capabilities by applying its automatic code generation to a critical computational kernel used in Computational Fluid Dynamics (CFD). Specifically, we focus on Neko, a Fortran-based solver that employs the spectral-element method, which relies on small tensor operations. We detail the formulation of this computational kernel using DaCe's Stateful Dataflow Multigraph (SDFG) representation and discuss how this approach facilitates high-performance code generation. Additionally, we outline the workflow for seamlessly integrating DaCe's generated code into the Neko solver. Our results highlight the portability and performance of the generated code across multiple platforms, including Nvidia GH200, Nvidia A100, and AMD MI250X GPUs, with competitive performance results. By demonstrating the potential of automatic code generation, we emphasise the feasibility of using portable solutions to ensure the long-term sustainability of large-scale scientific applications.
MÃ¥ns I. Andersson、Martin Karp、Niclas Jansson、Stefano Markidis
计算技术、计算机技术自动化基础理论
MÃ¥ns I. Andersson,Martin Karp,Niclas Jansson,Stefano Markidis.Portable High-Performance Kernel Generation for a Computational Fluid Dynamics Code with DaCe[EB/OL].(2025-06-26)[2025-07-16].https://arxiv.org/abs/2506.20994.点此复制
评论