Many Cores, Many Models: GPU Programming Model vs. Vendor Compatibility Overview
Andreas Herten

TL;DR
This paper provides a comprehensive guide to GPU programming models across different vendors and platforms, helping scientific programmers navigate compatibility and support issues in HPC environments.
Contribution
It offers a detailed comparison and assessment of GPU programming models and their support levels across AMD, Intel, and NVIDIA platforms.
Findings
Supported models vary significantly between vendors.
Compatibility issues impact Fortran support in HPC.
A concise reference table aids in selecting appropriate models.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques · Advanced Data Storage Technologies
