No Travel? No Problem.

Remote Participation
Comparing Julia to Performance Portable Parallel Programming Models for HPC
Event Type
Online Only
Accelerator-based Architectures
Computational Science
Emerging Technologies
Extreme Scale Comptuing
File Systems and I/O
Heterogeneous Systems
Parallel Programming Languages and Models
Scientific Computing
Software Engineering
Registration Categories
TimeMonday, 15 November 20214pm - 4:30pm CST
DescriptionJulia 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 characterize 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.
Back To Top Button