AMDInstinctMI300A是多年前布局的“ExascaleAPU”平台的实现。这个想法是将高性能GPU与高性能CPU封装在同一个封装中,并利用统一的内存池。对于HPC,这些加速器/协处理器设计提供了更高的每瓦性能优势,但需要大量移植、调整和维护具有数百万行代码的应用程序,这可能有点复杂。然而,研究人员似乎已经使用了两种流行的编程模型:OpenMP和OpenACC,来充分利用AMD的下一代APU霸主。
相关报道CPU市场2024年第一季度增长33%,英特尔和AMD客户端和服务器端均下滑,但市场企稳
这篇题为“使用统一内存和OpenMP将HPC应用程序移植到AMDInstinctMI300A”的研究论文使用了OpenFOAM框架,它是一个开源C++库:
我们提供了APU编程模型的蓝图,并演示了使用OpenMP在MI300A上移植代码的简便性和灵活性。
我们详细阐述了生产增量加速的方法,并在行业代码中广泛使用——OpenFOAM。
由于AMDInstinctMI300A加速器使用统一的HBM接口,因此无需数据复制,并且不需要在主机和设备内存空间之间进行编程区分。此外,AMD的ROCm软件套件提供了额外的优化,有助于将APU的所有部分整合到一个一致的异构软件包中。AMDInstinctMI300AAPU的一点点回顾:
首款集成CPU+GPU封装
瞄准百亿亿级超级计算机市场
AMDMI300A(集成CPU+GPU)
1530亿个晶体管
多达24个Zen4核心
CDNA3GPU架构
高达192GBHBM3内存
多达8个Chiplet+8个内存堆栈(5nm+6nm工艺)
图片来源:Aarxiv
结果,性能获得了巨大的好处。在使用OpenFOAM的HPC摩托车基准测试的评估中,AMDInstinctMI300AAPU与AMDInstinctMI210、NVIDIAA10080GB和NVIDIAH100(80GB)GPU进行了测试。AMDGPU在ROCm6.0堆栈上运行,NVIDIAGPU在CUDA12.2.2堆栈上运行。该基准测试配置为运行20个时间步长,每个时间步长的平均执行时间(秒)作为品质因数(FOM)。除InstinctMI300A之外的所有三种配置均使用独立CPU,因此插槽CPU配置有异构内存管理,以允许GPU寻址系统内存并运行基准测试。
测试中,结果以NVIDIAH100系统标准化,该系统在三款独立芯片中提供了最佳的独立GPU性能,但InstinctMI300AAPU最终比NVIDIAH100提高了4倍,比InstinctMI210加速器提高了5倍。
在GPU上,超过65%的时间花费在页面迁移上:更新GPU表以及在主机和设备之间复制数据。
在APU上,CPU内核和GPU计算单元之间共享的统一物理内存完全消除了页面迁移的开销,从而显着提高了性能。
图片来源:Aarxiv
人们还发现,采用单一Zen4CPU封装的AMDInstinctMI300A的速度是采用独立GPU解决方案运行的单插槽Zen4CPU的两倍。使用多个进程重载MI300AAPU进一步将性能提高了2倍(每个APU使用3-6个CPU核心进行测试),这比dGPU+dCPU配置上缺乏可扩展性要好得多。
因此,AMDInstinctMI300AAPU的计算能力在HPC领域将是无与伦比的。由于人工智能似乎成为当今的主要热潮,NVIDIA在其下一代Blackwell系列中已经从传统HPC性能上退了一步,而AMD将通过其MI300X加速器和未来的更新来解决这个问题,它看起来像是HPC领域将带来AMD的亮点。