A hybrid MPI-OpenMP scheme for scalable parallel pseudospectral computations for fluid turbulence

A hybrid scheme that utilizes MPI for distributed memory parallelism and OpenMP for shared memory parallelism is presented. The work is motivated by the desire to achieve exceptionally high Reynolds numbers in pseudospectral computations of fluid turbulence on emerging petascale, high core-count, ma...

ver descrição completa

Detalhes bibliográficos
Autores: Mininni, Pablo Daniel, Rosenberg, Duane, Reddy, Raghu, Pouquet, Annick
Formato: artículo
Estado:Versión publicada
Fecha de publicación:2011
País:Argentina
Recursos:Consejo Nacional de Investigaciones Científicas y Técnicas
Repositorio:CONICET Digital (CONICET)
Idioma:inglés
OAI Identifier:oai:ri.conicet.gov.ar:11336/56975
Acesso em linha:http://hdl.handle.net/11336/56975
Access Level:acceso abierto
Palavra-chave:Computational Fluids
Mpi
Numerical Simulation
Openmp
Parallel Scalability
https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
https://purl.org/becyt/ford/1.3
Descrição
Resumo:A hybrid scheme that utilizes MPI for distributed memory parallelism and OpenMP for shared memory parallelism is presented. The work is motivated by the desire to achieve exceptionally high Reynolds numbers in pseudospectral computations of fluid turbulence on emerging petascale, high core-count, massively parallel processing systems. The hybrid implementation derives from and augments a well-tested scalable MPI-parallelized pseudospectral code. The hybrid paradigm leads to a new picture for the domain decomposition of the pseudospectral grids, which is helpful in understanding, among other things, the 3D transpose of the global data that is necessary for the parallel fast Fourier transforms that are the central component of the numerical discretizations. Details of the hybrid implementation are provided, and performance tests illustrate the utility of the method. It is shown that the hybrid scheme achieves good scalability up to ∼20,000 compute cores with a maximum efficiency of 89%, and a mean of 79%. Data are presented that help guide the choice of the optimal number of MPI tasks and OpenMP threads in order to maximize code performance on two different platforms. © 2011 Elsevier B.V. All rights reserved.