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

Institutions

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

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Lattice QCD code on GPUs: Implementation and performancecomparison with OpenACC and CUDA

Issaku Kanamori, Wei-Lun Chen, Hideo Matsufuru
1 citations
Particle physics theoretical and experimental studies
1.87
article

Lattice QCD code on GPUs: Implementation and performancecomparison with OpenACC and CUDA

Issaku Kanamori, Wei-Lun Chen, Hideo Matsufuru
article en
1 citations

Abstract

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.

High Energy Accelerator Research Organization (JP), The Graduate University for Advanced Studies, SOKENDAI (JP), RIKEN Center for Computational Science (JP)
Ministry of Education, Culture, Sports, Science and Technology, University of Tsukuba, Japan Society for the Promotion of Science, RIKEN
Openalex Percentile: Top 15%
Particle physics theoretical and experimental studies
1.87
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.