Lattice QCD code on GPUs: Implementation and performancecomparison with OpenACC and CUDA
Many recent supercomputers employ GPUs as arithmetic accelerators, and thus exploiting their performance is essential in large-scale numerical simulations.Our target application is lattice QCD simulations, in which a linear equation solver for large sparse matrix consumes most of simulation time.To implement an offloading code, there are two approaches: employing a directive-based library such as OpenACC and OpenMP, or an API-based library such as NVIDIA CUDA.In general the latter achieves higher performance because it enables detailed tuning suitable to the hardware feature.However, thanks to the development of compiler technology, the former also achieves enough performance in many practical cases.In this paper we offload the linear equation solver in lattice QCD by implementing OpenACC and CUDA codes and compare their performance on recent GPUs of the NVIDIA Hopper architecture.In particular, scaling behavior for multiple process is our interest focusing on the large-scale simulations.It would give a guide in choosing an offloading scheme for developers of similar types of application in which the memory bandwidth and communication overhead restrict the efficiency.
Authors
- Issaku Kanamori (ORCID: https://orcid.org/0000-0003-4467-1052)
- Wei-Lun Chen (ORCID: https://orcid.org/0000-0002-8542-9126)
- Hideo Matsufuru (ORCID: https://orcid.org/0000-0003-1056-3969)
Institutions
- High Energy Accelerator Research Organization (JP)
- The Graduate University for Advanced Studies, SOKENDAI (JP)
- RIKEN Center for Computational Science (JP)
Publication Details
- Published
- 2025-02-19
- DOI
- https://doi.org/10.1145/3712031.3712327
- Citations
- 1
- Primary Topic
- Particle physics theoretical and experimental studies
- Type
- article
- Field-Weighted Citation Impact
- 1.87
Funders
- Ministry of Education, Culture, Sports, Science and Technology
- University of Tsukuba
- Japan Society for the Promotion of Science
- RIKEN