vimarsana.com

Abstract. Some programming languages are easy to develop at the cost of slow execution, while others are fast at runtime but much more difficult to write. Julia is a programming language that aims to be the best of both worlds – a development and production language at the same time. To test Julia's utility in scientific high-performance computing (HPC), we built an unstructured-mesh shallow water model in Julia and compared it against an established Fortran-MPI ocean model, the Model for Prediction Across Scales–Ocean (MPAS-Ocean), as well as a Python shallow water code. Three versions of the Julia shallow water code were created: for single-core CPU, graphics processing unit (GPU), and Message Passing Interface (MPI) CPU clusters. Comparing identical simulations revealed that our first version of the Julia model was 13 times faster than Python using NumPy, where both used an unthreaded single-core CPU. Further Julia optimizations, including static typing and removing implicit memory allocations, provided an additional 10–20× speed-up of the single-core CPU Julia model. The GPU-accelerated Julia code was almost identical in terms of performance to the MPI parallelized code on 64 processes, an unexpected result for such different architectures. Parallelized Julia-MPI performance was identical to Fortran-MPI MPAS-Ocean for low processor counts and ranges from 2× faster to 2× slower for higher processor counts. Our experience is that Julia development is fast and convenient for prototyping but that Julia requires further investment and expertise to be competitive with compiled codes. We provide advice on Julia code optimization for HPC systems.

Related Keywords

Milan ,Lombardia ,Italy ,Cambridge ,Cambridgeshire ,United Kingdom ,United States ,Markr Petersen ,Los Alamos ,Robertr Strauss ,Sylwester Arabas ,Office Of Science User Facility ,Ferrari ,Environmental Research ,Us Department Of Energy ,Office Of Science ,Linkedin ,Facebook ,National Nuclear Security Administration ,Energy Exascale Earth System Model ,Planetary Sciences ,Los Alamos National Laboratory ,Massachusetts Institute Of Technology ,Software Environments ,Methods Group ,National Energy Research Scientific Computing Center ,Institutional Computing Program ,Department Of Earth ,Twitter ,Massachusetts Institute ,Nonlinear Studies ,Prediction Across Scales ,Message Passing Interface ,Model Dev ,Intel Cascade Lake ,Intel Xeon ,Peripheral Component Interconnect Express ,Copernicus Publications ,Scientific Discovery ,Advanced Computing ,Coupling Approaches ,Next Generation Architectures ,Computational Systems ,Computing Program ,Nuclear Security Administration ,Science User Facility ,

© 2025 Vimarsana

vimarsana.com © 2020. All Rights Reserved.