Loading [a11y]/accessibility-menu.js
Comparing Julia to Performance Portable Parallel Programming Models for HPC | IEEE Conference Publication | IEEE Xplore

Comparing Julia to Performance Portable Parallel Programming Models for HPC


Abstract:

Julia is a general-purpose, managed, strongly and dynamically-typed programming language with emphasis on high performance scientific computing. Traditionally, HPC softwa...Show More

Abstract:

Julia is a general-purpose, managed, strongly and dynamically-typed programming language with emphasis on high performance scientific computing. Traditionally, HPC software development uses languages such as C, C++ and Fortran, which compile to unmanaged code. This offers the programmer near bare-metal performance at the expense of safety properties that a managed runtime would otherwise provide. Julia, on the other hand, combines novel programming language design approaches to achieve high levels of productivity without sacrificing performance while using a fully managed runtime. This study provides an evaluation of Julia's suitability for HPC applications from a performance point of view across a diverse range of CPU and GPU platforms. We select representative memory-bandwidth bound and compute bound mini-apps, port them to Julia, and conduct benchmarks across a wide range of current HPC CPUs and GPUs from vendors such as Intel®, AMD®, NVIDIA®, Marvell®, and Fujitsu®, We then compare and characterise the results against existing parallel programming frameworks such as OpenMP®, Kokkos, OpenCL™, and first-party frameworks such as CUDA®, HIP™, and oneAPI™ SYCL™. Finally, we show that Julia's performance either matches the competition or is only a short way behind.
Date of Conference: 15-15 November 2021
Date Added to IEEE Xplore: 28 December 2021
ISBN Information:
Conference Location: St. Louis, MO, USA

Contact IEEE to Subscribe

References

References is not available for this document.