The International Conference for High Performance Computing, Networking, Storage, and Analysis

Research and ACM SRC Posters Archive

JACC: Easy CPU/GPU Performance Portability for Scientific Applications in Julia


Poster Type: Research Posters

Author: William Godoy (Oak Ridge National Laboratory (ORNL)), Pedro Valero-Lara (Oak Ridge National Laboratory (ORNL)), Philip Fackler (Oak Ridge National Laboratory (ORNL)), Keita Teranishi (Oak Ridge National Laboratory (ORNL)), Jeffrey Vetter (Oak Ridge National Laboratory (ORNL)), Jhonny Gonzalez (The University of Texas at El Paso, Oak Ridge National Laboratory (ORNL)), Jose Gonzalez (The University of Texas at El Paso, Oak Ridge National Laboratory (ORNL)), Alexis Huante (The University of Texas at Austin, Oak Ridge National Laboratory (ORNL))

Supervisor:

Abstract: Our JACC poster for SC25 presents a completely updated version of the Best Poster finalist at SC24, showcasing the latest added features in the JACC library and ecosystem for productive scientific computing. First, we describe the new and stable JACC API components: (i) a portable memory model, (ii) kernel launching, and (iii) CPU/GPU backend selection without code changes. Second, we present two added features: (i) JACC’s shared, for exploiting cached shared memory among threads, and (ii) JACC’s Multi module to program nodes with an increasing number of GPUs. Third, we present JACC ports of five science applications: XSBench, miniBUDE, LULESH, BabelStream, and Hartree–Fock, showing performance comparisons against C++ programming models for the first three on NVIDIA’s A100 and H100, and AMD’s MI100 and MI250X (Frontier’s) GPUs. Our work shows that as JACC and Julia continue to mature they allow developing performance-portable science codes at a fraction of the cost.

Best Poster Finalist (BP): no
Poster: PDF
Poster Summary: PDF


Back to Poster Archive Listing