Porting HPC Applications to AMD Instinct MI300A Using Unified Memory and OpenMP
Advanced Micro Devices, Inc., Austin, U.S.A.
arXiv:2405.00436 [cs.DC]
@misc{tandon2024porting,
title={Porting HPC Applications to AMD Instinct$^text{TM}$ MI300A Using Unified Memory and OpenMP},
author={Suyash Tandon and Leopold Grinberg and Gheorghe-Teodor Bercea and Carlo Bertolli and Mark Olesen and Simone Bnà and Nicholas Malaya},
year={2024},
eprint={2405.00436},
archivePrefix={arXiv},
primaryClass={cs.DC}
}
AMD Instinct MI300A is the world’s first data center accelerated processing unit (APU) with memory shared between the AMD "Zen 4" EPYC cores and third generation CDNA compute units. A single memory space offers several advantages: i) it eliminates the need for data replication and costly data transfers, ii) it substantially simplifies application development and allows an incremental acceleration of applications, iii) is easy to maintain, and iv) its potential can be well realized via the abstractions in the OpenMP 5.2 standard, where the host and the device data environments can be unified in a more performant way. In this article, we provide a blueprint of the APU programming model leveraging unified memory and highlight key distinctions compared to the conventional approach with discrete GPUs. OpenFOAM, an open-source C++ library for computational fluid dynamics, is presented as a case study to emphasize the flexibility and ease of offloading a full-scale production-ready application on MI300 APUs using directive-based OpenMP programming.
May 5, 2024 by hgpu