JuliaCon 2023

JACC: on-node performance portable programming model in Julia
2023-07-28 , 32-124

We present our research efforts in creating a performance portable programming model, JACC, in Julia targeting heterogeneous hardware on the US Department of Energy Leadership Computational Facilities. JACC leverages the high-productivity aspect of Julia and the CUDA.jl and AMDGPU.jl vendor specific GPU implementations and expands to many core CPUs (Arm, x86) and automatic memory management. The goal is to allow Julia applications to write performant code once leveraging existing infrastructure.


In this talk we present our efforts towards a performance portable programming model in Julia: JACC. We leverage existing implementations targeting vendor-specific GPU hardware acceleration: CUDA.jl and AMDGPU.jl. Similar to KernelAbstractions.jl for GPUs and Kokkos for C++ on multiple platforms, we aim to understand the requirements and feasibility of a performance portable layer targeting heterogeneous hardware at the US Department of Energy Leadership Computing Facilities. We share the gaps in coarse/fine granularity kernel implementations, lessons learned and results from testing JACC on Summit (IBM+NVIDIA) and Crusher (AMD) using the gray-scott diffusion-reaction proxy application running simulation on CPU and GPU heterogeneous hardware. We aim to understand the feasibility of this capability as an important need towards the adoption of Julia in the High-Performance Computing (HPC) communities. JACC leverages the Julia high-productivity and high-performance capability on top of LLVM allowing users to develop their software focusing on their science, while offloading performance portability aspects to our efforts.

William F. Godoy is a Senior Computer Scientist in the Computer Science and Mathematics Division at Oak Ridge National Laboratory (ORNL). His interests are in the areas of high-performance computing (HPC) scientific software, programming models, data and parallel I/O. He has contributed to several scientific codes funded by the US Department of Energy Exascale Computing Project and the Neutron Science Facilities at ORNL, and at previous staff positions at Intel. William obtained his PhD in Mechanical Engineering from the State University of New York (SUNY) at Buffalo in 2009. He is a 2022 BSSw Fellowship honorable mention, US-RSE and ACM member and a IEEE senior member serving in several technical venues.

This speaker also appears in: