Articles | Volume 16, issue 19
https://doi.org/10.5194/gmd-16-5539-2023
https://doi.org/10.5194/gmd-16-5539-2023
Development and technical paper
 | 
05 Oct 2023
Development and technical paper |  | 05 Oct 2023

Comparing the Performance of Julia on CPUs versus GPUs and Julia-MPI versus Fortran-MPI: a case study with MPAS-Ocean (Version 7.1)

Siddhartha Bishnu, Robert R. Strauss, and Mark R. Petersen

Model code and software

Layered Shallow Water Model in Julia, Implementation on CPU, GPU, and Cluster Hardware, and Performance Tests Robert R. Strauss https://doi.org/10.5281/zenodo.7493064

MPAS-Ocean Shallow Water Performance Test Case Mark Petersen, Siddhartha Bishnu, and Robert R. Strauss https://doi.org/10.5281/zenodo.7439134

Download
Short summary
Here we test Julia, a relatively new programming language, which is designed to be simple to write, but also fast on advanced computer architectures. We found that Julia is both convenient and fast, but there is no free lunch. Our first attempt to develop an ocean model in Julia was relatively easy, but the code was slow. After several months of further development, we created a Julia code that is as fast on supercomputers as a Fortran ocean model.