Performance Analysis of the Parallel CFD Code for Turbulent Mixing Simulations

Tulin Kaman, Alaina Edwards, and John McGarigal

Volume 12, Issue 1 (January 2021), pp. 49–58

https://doi.org/10.22369/issn.2153-4136/12/1/7

PDF icon Download PDF

BibTeX
@article{jocse-12-1-7,
  author={Tulin Kaman and Alaina Edwards and John McGarigal},
  title={Performance Analysis of the Parallel CFD Code for Turbulent Mixing Simulations},
  journal={The Journal of Computational Science Education},
  year=2021,
  month=jan,
  volume=12,
  issue=1,
  pages={49--58},
  doi={https://doi.org/10.22369/issn.2153-4136/12/1/7}
}
Copied to clipboard!

Understanding turbulence and mixing due to the hydrodynamic instabilities plays an important role in a wide range of science and engineering applications. Numerical simulations of three dimensional turbulent mixing help us to predict the dynamics of two fluids of different densities, one over the other. The focus of this work is to optimize and improve the computational performance of the numerical simulations for the compressible turbulent mixing on Blue Waters, the petascale supercomputer at the National Center for Supercomputing Applications. In this paper, we study the effect of the programming models on time to solution. The hybrid programming model, which is a combination of parallel programming models, becomes a dominant approach. The most preferable hybrid model is the one that involves the Message Passing Interface (MPI), such as MPI + Pthreads, MPI + OpenMP, MPI + MPI-3 shared memory programming, and others with accelerator support. Among all choices, we choose the hybrid programming model that is based on MPI + OpenMP. We extend the purely MPI parallelized code with OpenMP parallelism and develop the hybrid version of the code. This new hybrid implementation of the code is set up in a way that multiple MPI processes handle the interface propagation, whereas multiple OpenMP threads handle the high order weighted essentially non-oscillatory numerical scheme.