Grid: OneCode and FourAPIs
Peter Boyle, Guido Cossu, Gianluca Filaci, Christoph Lehner, Antonin, Portelli, Azusa Yamaguchi

TL;DR
This paper presents an updated Grid library for Lattice QCD that achieves cross-platform performance portability across multiple GPU architectures and CPUs, supporting CUDA, HIP, and SYCL environments.
Contribution
The work introduces an internal abstraction interface that enables single-source code to run efficiently on diverse GPU and CPU architectures, including future Exascale systems.
Findings
Supports Nvidia CUDA, AMD HIP, and SYCL environments
Enables performance portability across multiple architectures
Retains CPU vectorisation and SIMD execution within OpenMP
Abstract
We discuss a substantial update to the Grid software library for Lattice QCD, enabling it to port to multiple GPU architectures while retaining CPU vectorisation and SIMD execution within OpenMP threads. The GPU environments supported include vendor specific Nvidia CUDA and AMD HIP environments and a (mostly) standards based SYCL implementation. This is performed by an internal abstraction interface giving single source cross-platform performance portability across all number of planned Exascale architectures, and all those planned by the US Department of Energy.
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Advanced Data Storage Technologies · Particle physics theoretical and experimental studies
