Close

Presentation

JACC: Leveraging HPC Meta-Programming and Performance Portability with the Just-in-Time and LLVM-based Julia Language
DescriptionWe present JACC (Julia for ACCelerators), the first high-level, metaprogramming, 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 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, such as MiniFE, a proxy application for unstructured implicit finite element codes, 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 over the CPU implementations with no extra cost.
Event Type
Workshop
TimeMonday, 18 November 20243:30pm - 3:48pm EST
LocationB301
Tags
Accelerators
Heterogeneous Computing
Parallel Programming Methods, Models, Languages and Environments
Registration Categories
W