Skip to main content
SHARE
Publication

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

by Igor Sfiligoi, Emily Belli, Jeff Candy, Reuben D Budiardja
Publication Type
Conference Paper
Book Title
PEARC '23: Practice and Experience in Advanced Research Computing
Publication Date
Page Numbers
246 to 250
Publisher Location
New York, New York, United States of America
Conference Name
PEARC '23: Practice and Experience in Advanced Research Computing
Conference Location
Portland, Oregon, United States of America
Conference Sponsor
PEARC
Conference Date
-

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.