Porting HPC Applications to AMD Instinct$^\textTM$ MI300A Using Unified Memory and OpenMP
<|reference_start|>Porting HPC Applications to AMD Instinct$^\textTM$ MI300A Using Unified Memory and OpenMP: AMD Instinct$^\text{TM}$ MI300A is the world's first data center accelerated processing unit (APU) with memory shared between the AMD "Zen 4" EPYC$^\text{TM}$ cores and third generation CDNA$^\text{TM}$ 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.<|reference_end|>
@article{tandon2024porting,
    title={Porting HPC Applications to AMD Instinct$^\text{TM}$ MI300A Using
  Unified Memory and OpenMP},
    author={Suyash Tandon, Leopold Grinberg, Gheorghe-Teodor Bercea, Carlo
  Bertolli, Mark Olesen, Simone Bn`a and Nicholas Malaya},
    journal={arXiv preprint arXiv:2405.00436},
    year={2024},
    archivePrefix={arXiv},
    eprint={2405.00436},
    primaryClass={cs.DC}
}