SPMD OpenMP versus MPI on a IBM SMP for 3 Kernels of the NAS Benchmarks

  • Authors:
  • Géraud Krawezik;Guillaume Alléon;Franck Cappello

  • Affiliations:
  • -;-;-

  • Venue:
  • ISHPC '02 Proceedings of the 4th International Symposium on High Performance Computing
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Shared Memory Multiprocessors are becoming more popular since they are used to deploy large parallel computers. The current trend is to enlarge the number of processors inside such multiprocessor nodes. However a lot of existing applications are using the message passing paradigm even when running on shared memory machines. This is due to three main factors: 1) the legacy of previous versions written for distributed memory computers, 2) the difficulty to obtain high performances with OpenMP when using loop level parallelization and 3) the complexity of writing multithreaded programs using a low level thread library. In this paper we demonstrate that OpenMP can provide better performance than MPI on SMP machines. We use a coarse grain parallelization approach, also known as the SPMD programming style with OpenMP. The performance evaluation considers the IBM SP3 NH2 and three kernels of the NAS benchmark: FT, CG and MG. We compare three implementations of them: the NAS 2.3 MPI, a fine grain (loop level) OpenMP version and our SPMD OpenMP version. A breakdown of the execution times provides an explanation of the performance results.