March 2026

Conference Paper

JACC: Leveraging HPC Meta-Programming and Performance Portability with the Just-in-Time and LLVM-based Julia Language

By:
Valero Lara, Pedro ; Godoy, William F; Mankad, Het Y; Teranishi, Keita ; Vetter, Jeffrey S; Blaschke, Johannes
Page Number:
1955-1966
Book Title:
SC-W '24: Proceedings of the SC '24 Workshops of the International Conference on High Performance Computing, Network, Storage, and Analysis
Publication Date:
March 12, 2026
Publisher Location:
IEEE, New Jersey, United States of America
Conference Name:
Artificial Intelligence and Machine Learning for Scientific Applications
Conference Location:
Atlanta, Georgia, United States of America
Conference Sponsor:
IEEE/ACM
View DOI Listing:
https://doi.org/10.1109/SCW63240.2024.00245

Abstract

We present JACC (Julia for Accelerators), the first high-level, and performance-portable model for the just-in-time and LLVM-based Julia language. JACC provides a unified and lightweight front end across different back ends available in Julia, enabling the same Julia code to run efficiently on many HPC CPU and GPU targets. We evaluated the performance of JACC for common HPC kernels as well as for the most computationally demanding kernels used in applications, HPCCG, a supercomputing benchmark test for sparse domains, and HARVEY, a blood flow simulator to assist in the diagnosis and treatment of patients suffering from vascular diseases. We carried out the performance analysis on the most advanced US DOE supercomputers: Aurora, Frontier, and Perlmutter. Overall, we show that JACC has a negligible overhead versus vendor-specific solutions, reporting GPU speedups with no extra cost to programmability.