In recent history, GPUs became a key driver of compute performance in HPC. With the installation of the Frontier supercomputer, they became the enablers of the Exascale era; further largest-scale installations are in progress (Aurora, El Capitan, JUPITER). But the early-day dominance by NVIDIA and their CUDA programming model has changed: The current HPC GPU landscape features three vendors (AMD, Intel, NVIDIA), each with native and derived programming models. The choices are ample, but not all models are supported on all platforms, especially if support for Fortran is needed; in addition, some restrictions might apply. It is hard for scientific programmers to navigate this abundance of choices and limits. This paper gives a guide by matching the GPU platforms with supported programming models, presented in a concise table and further elaborated in detailed comments. An assessment is made regarding the level of support of a model on a platform.
翻译:近年来,GPU已成为高性能计算领域计算性能的关键驱动因素。随着Frontier超级计算机的部署,它们成为引领百亿亿次时代的核心力量;此外,更大规模的系统(如Aurora、El Capitan、JUPITER)也在建设中。但早期由NVIDIA及其CUDA编程模型主导的格局已发生转变:当前HPC GPU生态包含三家厂商(AMD、Intel、NVIDIA),各自拥有原生及衍生的编程模型。虽然选择众多,但并非所有模型都能在所有平台上获得支持,尤其当需要Fortran支持时;此外,部分模型可能存在功能限制。对科学计算程序员而言,在如此繁多的选择与约束中导航实属不易。本文通过表格简明对照GPU平台与所支持的编程模型,并结合详细注释加以阐述,为读者提供指导。同时,本文对各平台上的模型支持程度进行了评估。