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.
翻译:AMD Instinct$^\text{TM}$ MI300A 是全球首款数据中心级加速处理单元(APU),其内存由AMD "Zen 4" EPYC$^\text{TM}$核心与第三代CDNA$^\text{TM}$计算单元共享。单一内存空间具有以下优势:(i) 无需数据复制和昂贵的数据传输;(ii) 大幅简化应用程序开发,支持应用渐进式加速;(iii) 易于维护;(iv) 其潜力可通过OpenMP 5.2标准中的抽象机制充分实现——该标准能以更高性能的方式统一主机与设备数据环境。本文阐述了利用统一内存的APU编程模型蓝图,并重点指出其与传统独立GPU方案的关键差异。我们以开源计算流体动力学C++库OpenFOAM为案例,演示了基于指令的OpenMP编程在MI300 APU上移植完整生产级应用时的灵活性与便捷性。