REVIEW 7 cited by
Taking GPU Programming Models to Task for Performance Portability
Not yet reviewed by Pith; the record is open.
This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.
SPECIMEN: schema-true, not a live event
T0 review · schema-true
One-sentence machine reading of the paper's core claim.
pith:XXXXXXXX · record.json · timestamp
Signed reviews
read the original abstract
Portability is critical to ensuring high productivity in developing and maintaining scientific software as the diversity in on-node hardware architectures increases. While several programming models provide portability for diverse GPU systems, they don't make any guarantees about performance portability. In this work, we explore several programming models -- CUDA, HIP, Kokkos, RAJA, OpenMP, OpenACC, and SYCL, to assess the consistency of their performance across NVIDIA and AMD GPUs. We use five proxy applications from different scientific domains, create implementations where missing, and use them to present a comprehensive comparative evaluation of the performance portability of these programming models. We provide a Spack scripting-based methodology to ensure reproducibility of experiments conducted in this work. Finally, we analyze the reasons for why some programming models underperform in certain scenarios and in some cases, present performance optimizations to the proxy applications.
Forward citations
Cited by 7 Pith papers
-
What Irregularity Costs: CUDA C++, Rust, and Triton on a Hash-Blocked GPU Workload
On an irregular hash-blocked TSDF kernel, CUDA C++ and Rust are close (1.0-3.3x) on the insertion stage, Triton is 11-32x slower, and Triton's fixed-bound probe silently drops surface data at higher load factors.
-
Astrophysics on GPUs: introducing AGILE 1.0
AGILE 1.0 is a GPU-AMR framework for astrophysical conservation laws that demonstrates ~2e9 CUPS on a B200 GPU, strong scaling to 2048 GPUs, and production-style applications in HD, FFHD, MHD, and SRHD.
-
Performant Unified GPU Kernels for Portable Singular Value Computation Across Hardware and Precision
A unified Julia implementation of two-stage QR SVD achieves near-cuSOLVER performance across four GPU vendors and three precisions, including firsts for Apple Metal and half precision.
-
Accelerating Numerical Relativity with Code Generation: CUDA-enabled Hyperbolic Relaxation
NRPyEllipticGPU, a CUDA-accelerated elliptic solver generated by NRPy, reproduces binary black hole initial data to roundoff-level agreement with its CPU parent and shows up to 16x single-precision kernel speedups.
-
Toward Portable GPU Performance: Julia Recursive Implementation of TRMM and TRSM
A few hundred lines of Julia deliver recursive TRMM and TRSM kernels that perform on par with cuBLAS and rocBLAS on large matrices and work on Apple Silicon for the first time.
-
HORSES3D-GPU: A high-order discontinuous Galerkin solver for multi-GPU systems
HORSES3D was GPU-ported with OpenACC, achieving near-ideal scaling above ~16–20k elements per GPU and running a 2,048-GPU, 10.7B-DOF High-Lift Common Research Model simulation.
-
SACRA-K: A Performance-Portable Numerical Relativity Code with Kokkos
A Kokkos-based C++ port of the SACRA numerical relativity code achieves ~10x speedup on GPU/APU over the Fortran CPU version while preserving waveform accuracy, pi-symmetry, and second-order convergence.
Discussion (0). Continue with ORCID to comment.