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

Related authors

Barotropic tides in MPAS-Ocean (E3SM V2): impact of ice shelf cavities
Nairita Pal, Kristin N. Barton, Mark R. Petersen, Steven R. Brus, Darren Engwirda, Brian K. Arbic, Andrew F. Roberts, Joannes J. Westerink, and Damrongsak Wirasaet
Geosci. Model Dev., 16, 1297–1314, https://doi.org/10.5194/gmd-16-1297-2023,https://doi.org/10.5194/gmd-16-1297-2023, 2023
Short summary
An evaluation of the E3SMv1 Arctic ocean and sea-ice regionally refined model
Milena Veneziani, Wieslaw Maslowski, Younjoo J. Lee, Gennaro D'Angelo, Robert Osinski, Mark R. Petersen, Wilbert Weijer, Anthony P. Craig, John D. Wolfe, Darin Comeau, and Adrian K. Turner
Geosci. Model Dev., 15, 3133–3160, https://doi.org/10.5194/gmd-15-3133-2022,https://doi.org/10.5194/gmd-15-3133-2022, 2022
Short summary

Related subject area

Climate and Earth system modeling
All aboard! Earth system investigations with the CH2O-CHOO TRAIN v1.0
Tyler Kukla, Daniel E. Ibarra, Kimberly V. Lau, and Jeremy K. C. Rugenstein
Geosci. Model Dev., 16, 5515–5538, https://doi.org/10.5194/gmd-16-5515-2023,https://doi.org/10.5194/gmd-16-5515-2023, 2023
Short summary
The Canadian Atmospheric Model version 5 (CanAM5.0.3)
Jason Neil Steven Cole, Knut von Salzen, Jiangnan Li, John Scinocca, David Plummer, Vivek Arora, Norman McFarlane, Michael Lazare, Murray MacKay, and Diana Verseghy
Geosci. Model Dev., 16, 5427–5448, https://doi.org/10.5194/gmd-16-5427-2023,https://doi.org/10.5194/gmd-16-5427-2023, 2023
Short summary
The Teddy tool v1.1: temporal disaggregation of daily climate model data for climate impact analysis
Florian Zabel and Benjamin Poschlod
Geosci. Model Dev., 16, 5383–5399, https://doi.org/10.5194/gmd-16-5383-2023,https://doi.org/10.5194/gmd-16-5383-2023, 2023
Short summary
Assimilation of the AMSU-A radiances using the CESM (v2.1.0) and the DART (v9.11.13)–RTTOV (v12.3)
Young-Chan Noh, Yonghan Choi, Hyo-Jong Song, Kevin Raeder, Joo-Hong Kim, and Youngchae Kwon
Geosci. Model Dev., 16, 5365–5382, https://doi.org/10.5194/gmd-16-5365-2023,https://doi.org/10.5194/gmd-16-5365-2023, 2023
Short summary
Modernizing the open-source community Noah with multi-parameterization options (Noah-MP) land surface model (version 5.0) with enhanced modularity, interoperability, and applicability
Cenlin He, Prasanth Valayamkunnath, Michael Barlage, Fei Chen, David Gochis, Ryan Cabell, Tim Schneider, Roy Rasmussen, Guo-Yue Niu, Zong-Liang Yang, Dev Niyogi, and Michael Ek
Geosci. Model Dev., 16, 5131–5151, https://doi.org/10.5194/gmd-16-5131-2023,https://doi.org/10.5194/gmd-16-5131-2023, 2023
Short summary

Cited articles

Besard, T., Foket, C., and De Sutter, B.: Effective Extensible Programming: Unleashing Julia on GPUs, IEEE T. Parall. Distr., 30, 827–841, https://doi.org/10.1109/TPDS.2018.2872064, 2018. a
Besard, T., Churavy, V., Edelman, A., and De Sutter, B.: Rapid software prototyping for heterogeneous and distributed platforms, Adv. Eng. Softw., 132, 29–46, 2019. a
Bezanson, J., Edelman, A., Karpinski, S., and Shah, V. B.: Julia: A fresh approach to numerical computing, SIAM Rev., 59, 65–98, 2017. a
Bishnu, S.: Time-Stepping Methods for Partial Differential Equations and Ocean Models, Zenodo, https://doi.org/10.5281/zenodo.7439539, 2021. a, b, c
Bishnu, S.: Rotating Shallow Water Verification Suite, Zenodo [code], https://doi.org/10.5281/zenodo.7421135, 2022. a, b, c, d
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.