Optimization and Portability of a Fusion OpenACC-based FORTRAN HPC Code from NVIDIA to AMD GPUs

Bibliographic Details
Title: Optimization and Portability of a Fusion OpenACC-based FORTRAN HPC Code from NVIDIA to AMD GPUs
Authors: Sfiligoi, Igor, Belli, Emily A., Candy, Jeff, Budiardja, Reuben D.
Source: Practice and Experience in Advanced Research Computing (PEARC '23). Association for Computing Machinery, New York, NY, USA, 246-250. (2023)
Publication Year: 2023
Collection: Computer Science
Physics (Other)
Subject Terms: Computer Science - Distributed, Parallel, and Cluster Computing, Computer Science - Performance, Physics - Plasma Physics
More Details: NVIDIA has been the main provider of GPU hardware in HPC systems for over a decade. Most applications that benefit from GPUs have thus been developed and optimized for the NVIDIA software stack. Recent exascale HPC systems are, however, introducing GPUs from other vendors, e.g. with the AMD GPU-based OLCF Frontier system just becoming available. AMD GPUs cannot be directly accessed using the NVIDIA software stack, and require a porting effort by the application developers. This paper provides an overview of our experience porting and optimizing the CGYRO code, a widely-used fusion simulation tool based on FORTRAN with OpenACC-based GPU acceleration. While the porting from the NVIDIA compilers was relatively straightforward using the CRAY compilers on the AMD systems, the performance optimization required more fine-tuning. In the optimization effort, we uncovered code sections that had performed well on NVIDIA GPUs, but were unexpectedly slow on AMD GPUs. After AMD-targeted code optimizations, performance on AMD GPUs has increased to meet our expectations. Modest speed improvements were also seen on NVIDIA GPUs, which was an unexpected benefit of this exercise.
Comment: 6 pages, 4 figures, 2 tables, To be published in Proceedings of PEARC23
Document Type: Working Paper
DOI: 10.1145/3569951.3597545
Access URL: http://arxiv.org/abs/2305.10553
Accession Number: edsarx.2305.10553
Database: arXiv
More Details
DOI:10.1145/3569951.3597545