中文

基于 C++ 的物理计算在 Apple M 系列统一芯片上借助 Metal 着色语言的无缝 GPU 加速

计算物理 2023-10-05 v3 地球物理

摘要

Apple 生产的 M 系列芯片已被证明是日常任务中主流 Intel 与 AMD x86 处理器的有力且高能效替代方案。此外,集成中央处理单元与图形处理单元的统一设计,使这些 M 系列芯片无需独立图形处理单元(GPU)即可在诸多高图形需求任务上表现出色,某些情况下甚至超越独立 GPU。本工作中,我们展示了如何利用 Metal 着色语言(MSL)调动 M 系列芯片,以加速 C++ 中典型的数组操作。更重要的是,我们展示了 MSL 的使用如何避免 CUDA 或 OpenACC 内存管理的典型复杂性,其允许中央处理单元(CPU)与 GPU 在统一内存中工作。我们针对标准一维与二维数组操作(如数组加法、SAXPY 与有限差分模板),相对于串行与 OpenMP 加速的 CPU 代码,展示了 M 系列芯片的性能表现。实现 MSL 的较低复杂性也使我们能以极小代价,在保留全部 CPU 与 OpenMP 功能的同时,利用 MSL 加速一个已有的弹性波方程求解器(原基于 OpenMP 加速的 C++)。在特定设置下,模拟波方程所得的加速近一个数量级。使用 MSL 获得的加速相较于其他 GPU 加速波传播代码相对于其 CPU 版本的加速相近,但并未带来 prohibitive 一般科学程序员利用这些加速器的编程复杂性增加。该结果表明,统一处理单元可成为地震学家及广义计算科学家的有力工具,降低了编写利用现代 GPU 的高性能代码的门槛。

关键词

引用

@article{arxiv.2206.01791,
  title  = {Seamless GPU acceleration for C++ based physics with the Metal Shading Language on Apple's M series unified chips},
  author = {Lars Gebraad and Andreas Fichtner},
  journal= {arXiv preprint arXiv:2206.01791},
  year   = {2023}
}