Parallelization of the NAS conjugate gradient benchmark using the global arrays shared memory programming model

Yeliang Zhang, Vinod Tipparaju, Jarek Nieplocha, Salim Hariri

Research output: Chapter in Book/Report/Conference proceedingConference contribution

10 Scopus citations

Abstract

The NAS Conjugate Gradient (CG) benchmark is an important scientific kernel used to evaluate machine performance and compare characteristics of different programming models. Global Arrays (GA) toolkit supports a shared memory programming paradigm and offers the programmer control over the distribution and locality that are important for optimizing performance on scalable architectures. In this paper, we describe and compare two different parallelization strategies of the CG benchmark using GA and report performance results on a shared-memory system as well as on a cluster. Performance benefits of using shared memory for irregular/sparse computations have been demonstrated before in the context of the CG benchmark using OpenMP. Similarly, the GA implementation outperforms the standard MPI implementation on shared memory system, in our case the SGI Altix. However, with GA these benefits are extended to distributed memory systems and demonstrated on a Linux cluster with Myrinet.

Original languageEnglish (US)
Title of host publicationProceedings - 19th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2005
DOIs
StatePublished - 2005
Event19th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2005 - Denver, CO, United States
Duration: Apr 4 2005Apr 8 2005

Publication series

NameProceedings - 19th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2005
Volume2005

Other

Other19th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2005
Country/TerritoryUnited States
CityDenver, CO
Period4/4/054/8/05

ASJC Scopus subject areas

  • General Engineering

Fingerprint

Dive into the research topics of 'Parallelization of the NAS conjugate gradient benchmark using the global arrays shared memory programming model'. Together they form a unique fingerprint.

Cite this