High Performance Computing Using MPI and OpenMP on Multi-core Parallel Systems
NAS Division, NASA Ames Research Center, Moffett Field, CA 94035
Parallel Computing (02 March 2011)
@article{jin2011high,
title={High Performance Computing Using MPI and OpenMP on Multi-core Parallel Systems},
author={Jin, H. and Jespersen, D. and Mehrotra, P. and Biswas, R.},
journal={Parallel Computing},
issn={0167-8191},
year={2011},
publisher={Elsevier}
}
The rapidly increasing number of cores in modern microprocessors is pushing the current high performance computing (HPC) systems into the petascale and exascale era. The hybrid nature of these systems – distributed memory across nodes and shared memory with non-uniform memory access within each node – poses a challenge to application developers. In this paper, we study a hybrid approach to programming such systems – a combination of two traditional programming models, MPI and OpenMP. We present the performance of standard benchmarks from the multi-zone NAS Parallel Benchmarks and two full applications using this approach on several multi-core based systems including an SGI Altix 4700, an IBM p575+ and an SGI Altix ICE 8200EX. We also present new data locality extensions to OpenMP to better match the hierarchical memory structure of multi-core architectures.
March 28, 2011 by hgpu