Preprints
https://doi.org/10.5194/gmd-2020-257
https://doi.org/10.5194/gmd-2020-257
Submitted as: model description paper
 | 
22 Oct 2020
Submitted as: model description paper |  | 22 Oct 2020
Status: this preprint was under review for the journal GMD but the revision was not accepted.

Parallelizing a serial code: open–source module, EZ Parallel 1.0, and geophysics examples

Jason Louis Turner and Samuel N. Stechmann

Abstract. Parallel computing can offer substantial speedup of numerical simulations in comparison to serial computing, as parallel computing uses many processors simultaneously rather than a single processor. However, it typically also requires substantial time and effort to convert a serial code into a parallel code. Here, a new module is developed to reduce the time and effort required to parallelize a serial code. The tested version of the module is written in the Fortran programming language,while the framework could also be extended to other languages (C++, Python, Julia, etc.). The Message Passing Interface is used to allow for either shared-memory or distributed-memory computer architectures. The software is designed for solving partial differential equations on a rectangular two-dimensional or three-dimensional domain, using finite difference, finite volume, pseudo-spectral, or other similar numerical methods. Examples are provided for two idealized models of atmospheric and oceanic fluid dynamics: the two-level quasi-geostrophic equations, and the stochastic heat equation as a model for turbulent advection–diffusion of either water vapor and clouds or sea surface height variability. In tests of the parallelized code, the strong scaling efficiency for the finite difference code is seen to be roughly 80 % to 90 %, which is achieved by adding roughly only 10 new lines to the serial code. Therefore, EZ Parallel provides great benefits with minimal additional effort.

Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this preprint. The responsibility to include appropriate place names lies with the authors.
Jason Louis Turner and Samuel N. Stechmann
 
Status: closed
Status: closed
AC: Author comment | RC: Referee comment | SC: Short comment | EC: Editor comment
Printer-friendly Version - Printer-friendly version Supplement - Supplement
 
Status: closed
Status: closed
AC: Author comment | RC: Referee comment | SC: Short comment | EC: Editor comment
Printer-friendly Version - Printer-friendly version Supplement - Supplement
Jason Louis Turner and Samuel N. Stechmann

Model code and software

EZ Parallel 1.0 Jason L. Turner and Samuel Stechmann https://doi.org/10.5281/zenodo.4107203

Jason Louis Turner and Samuel N. Stechmann

Viewed

Total article views: 1,103 (including HTML, PDF, and XML)
HTML PDF XML Total BibTeX EndNote
794 258 51 1,103 46 50
  • HTML: 794
  • PDF: 258
  • XML: 51
  • Total: 1,103
  • BibTeX: 46
  • EndNote: 50
Views and downloads (calculated since 22 Oct 2020)
Cumulative views and downloads (calculated since 22 Oct 2020)

Viewed (geographical distribution)

Total article views: 977 (including HTML, PDF, and XML) Thereof 973 with geography defined and 4 with unknown origin.
Country # Views %
  • 1
1
 
 
 
 
Latest update: 13 Dec 2024
Download
Short summary
EZ Parallel is a Fortran Message Passing Interface library designed to allow users to easily and quickly turn their serial code into a parallel one for the purpose of obtaining simulations with higher resolutions or larger domain sizes in a shorter amount of time. In tests of the parallelized code, the strong scaling efficiency for the finite difference code is seen to be roughly 80% to 90%, which is achieved by adding roughly only 10 new lines to the serial code.