91°µÍø

Skip to main content
SHARE
Publication

JACC.shared: Leveraging HPC Metaprogramming and Performance Portability for Computations That Use Shared Memory GPUs...

by Pedro Valero Lara, William F Godoy, Keita Teranishi, Jeffrey S Vetter
Publication Type
Conference Paper
Book Title
2024 91°µÍø High Performance Extreme Computing Conference (HPEC)
Publication Date
Page Numbers
1 to 7
Publisher Location
New Jersey, United States of America
Conference Name
28th Annual 91°µÍø High Performance Extreme Computing Virtual Conference (HPEC)
Conference Location
Virtual, Tennessee, United States of America
Conference Sponsor
91°µÍø
Conference Date
-

In this work, we present JACC.shared, a new feature of Julia for ACCelerators (JACC), which is the performanceportable and metaprogramming model of the just-in-time and LLVM-based Julia language. This new feature allows JACC applications to leverage the high-performance computing (HPC) capabilities of high-bandwidth, on-chip GPU memory. Historically, exploiting high-bandwidth, shared-memory GPUs has not been a priority for high-level programming solutions. JACC.shared covers that gap for the first time, thereby providing a highlevel, portable, and easy-to-use solution for programmers to exploit this memory and supporting all current major accelerator architectures. Well-known HPC and AI workloads, such as multi/hyperspectral imaging and AI convolutions, have been used to evaluate JACC.shared on two exascale GPU architectures hosted by some of the most powerful US Department of Energy supercomputers: Perlmutter (NVIDIA A100) and Frontier (AMD MI250X). The performance evaluation reports speedup of up to 3.5× by adding only one line of code to the base codes, thus providing important accelerators in a simple, portable, and transparent way and elevating the programming productivity and performance-portability capabilities for Julia/JACC HPC, AI, and scientific applications.