Abstract
This work bridges the gap between multi-GPU computing and high-productivity, performance-portable programming solutions. Our goal is to enhance scientific applications with a productive and portable solution - program once, deploy everywhere - for multi-GPU programming with no cost to programmability. To accomplish this, we implemented JACC.Multi, which is part of the Julia for ACCelerators (JACC) performance-portable framework. JACC. Multi is the only high-level, portable metaprogramming solution that targets multi-GPU environments and is integrated in a readily accessible programming language (e.g., Julia language). With transparent GPU-to-GPU communication, JACC. Multi is optimized for scientific application workloads and is portable for NVIDIA and AMD accelerators. For the evaluation, we use two modern multi-GPU systems: Hudson, which features two NVIDIA H100 Hopper GPUs per node, and Frontier, which features four AMD MI250X GPUs per node, each with two Graphics Compute Dies (GCDs) for a total of eight GCDs per node. Additionally, as part of the evaluation, we use JACC (one GPU), MPI+JACC, and JACC. Multi codes that implement well-known and widely used scientific algorithms/kernels such as the conjugate gradient algorithm and an explicit forward Euler solver that requires GPU-to-GPU communication. Overall, JACC. Multi codes achieve better performance than MPI+JACC codes and significant speedups over JACC (one GPU), with up to 1.9× on Hudson and 6× on Frontier.
| Original language | English |
|---|---|
| Title of host publication | Proceedings - 2025 IEEE International Conference on e-Science, eScience 2025 |
| Publisher | Institute of Electrical and Electronics Engineers Inc. |
| Pages | 240-249 |
| Number of pages | 10 |
| ISBN (Electronic) | 9798331591458 |
| DOIs | |
| State | Published - 2025 |
| Event | 21st IEEE International Conference on e-Science, eScience 2025 - Chicago, United States Duration: Sep 15 2025 → Sep 18 2025 |
Publication series
| Name | Proceedings - 2025 IEEE International Conference on e-Science, eScience 2025 |
|---|
Conference
| Conference | 21st IEEE International Conference on e-Science, eScience 2025 |
|---|---|
| Country/Territory | United States |
| City | Chicago |
| Period | 09/15/25 → 09/18/25 |
Funding
This research used resources of the Experimental Computing Laboratory at ORNL, which is supported by the Office of Science of the US Department of Energy (DOE) under Contract No. DE-AC05-00OR22725. This research also used resources of the Oak Ridge Leadership Computing Facility at ORNL, supported by the DOE s Office of Science under Contract No. DE-AC05-00OR22725. This research was funded in part by DOE s Office of Science, Advanced Scientific Computing Research program with the Stewardship for Programming Systems and Tools project, which is part of Next-Generation Scientific Software Technologies program, and MAGNET: Mathematics, ComputinG, and NETworking for Resource-Efficient Computational Science Performance Portability on Extreme Heterogeneous Architectures project, which is part of the Computer Science Competitive Portfolios program.
Keywords
- JACC
- Julia
- Metaprogramming
- Multi-GPU
- Parallel Programming
- Performance Portability
- Productivity