GROMACS on AMD GPU-Based HPC Platforms: Using SYCL for Performance and Portability
arxiv(2024)
摘要
GROMACS is a widely-used molecular dynamics software package with a focus on
performance, portability, and maintainability across a broad range of
platforms. Thanks to its early algorithmic redesign and flexible heterogeneous
parallelization, GROMACS has successfully harnessed GPU accelerators for more
than a decade. With the diversification of accelerator platforms in HPC and no
obvious choice for a multi-vendor programming model, the GROMACS project found
itself at a crossroads. The performance and portability requirements, and a
strong preference for a standards-based solution, motivated our choice to use
SYCL on both new HPC GPU platforms: AMD and Intel. Since the GROMACS 2022
release, the SYCL backend has been the primary means to target AMD GPUs in
preparation for exascale HPC architectures like LUMI and Frontier. SYCL is a
cross-platform, royalty-free, C++17-based standard for programming hardware
accelerators. It allows using the same code to target GPUs from all three major
vendors with minimal specialization. While SYCL implementations build on native
toolchains, performance of such an approach is not immediately evident.
Biomolecular simulations have challenging performance characteristics: latency
sensitivity, the need for strong scaling, and typical iteration times as short
as hundreds of microseconds. Hence, obtaining good performance across the range
of problem sizes and scaling regimes is particularly challenging. Here, we
share the results of our work on readying GROMACS for AMD GPU platforms using
SYCL, and demonstrate performance on Cray EX235a machines with MI250X
accelerators. Our findings illustrate that portability is possible without
major performance compromises. We provide a detailed analysis of node-level
kernel and runtime performance with the aim of sharing best practices with the
HPC community on using SYCL as a performance-portable GPU framework.
更多查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要