Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Evaluating performance and portability of high-level programming models: Julia, Python/Numba, and Kokkos on exascale nodes

Conference ·

We explore the performance and portability of the high-level programming models: the LLVM-based Julia and Python/Numba, and Kokkos on high-performance computing (HPC) nodes: AMD Epyc CPUs and MI250X graphical processing units (GPUs) on Frontier’s test bed Crusher system and Ampere’s Arm-based CPUs and NVIDIA’s A100 GPUs on the Wombat system at the Oak Ridge Leadership Computing Facilities. We compare the default performance of a hand-rolled dense matrix multiplication algorithm on CPUs against vendor-compiled C/OpenMP implementations, and on each GPU against CUDA and HIP. Rather than focusing on the kernel optimization per-se, we select this naive approach to resemble exploratory work in science and as a lower-bound for performance to isolate the effect of each programming model. Julia and Kokkos perform comparably with C/OpenMP on CPUs, while Julia implementations are competitive with CUDA and HIP on GPUs. Performance gaps are identified on NVIDIA A100 GPUs for Julia’s single precision and Kokkos, and for Python/Numba in all scenarios. We also comment on half-precision support, productivity, performance portability metrics, and platform readiness. We expect to contribute to the understanding and direction for high-level, high-productivity languages in HPC as the first-generation exascale systems are deployed.

Research Organization:
Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
Sponsoring Organization:
USDOE; USDOE Office of Science (SC)
DOE Contract Number:
AC05-00OR22725
OSTI ID:
1994693
Country of Publication:
United States
Language:
English

Similar Records

Studying Performance Portability of LAMMPS across Diverse GPU-based Platforms
Conference · Sun May 01 00:00:00 EDT 2022 · OSTI ID:1869068

Studying performance portability of LAMMPS across diverse GPU-based platforms
Journal Article · Sun Sep 24 00:00:00 EDT 2023 · Concurrency and Computation. Practice and Experience · OSTI ID:2076176

The Kokkos OpenMPTarget Backend: Implementation and Lessons Learned
Conference · Fri Sep 01 00:00:00 EDT 2023 · OSTI ID:2224192

Related Subjects