An Evaluation of Emerging Many-Core Parallel Programming Models

Matt J Martineau, Simon N McIntosh-Smith, Wayne Gaudin, Michael Boulton

Research output: Chapter in Book/Report/Conference proceedingConference Contribution (Conference Proceeding)

30 Citations (Scopus)
521 Downloads (Pure)

Abstract

In this work we directly evaluate several emerging parallel program- ming models: Kokkos, RAJA, OpenACC, and OpenMP 4.0, against the mature CUDA and OpenCL APIs. Each model has been used to port TeaLeaf, a miniature proxy application, or mini-app, that solves the heat conduction equation, and belongs to the Mantevo suite of applications. We find that the best performance is achieved with device-tuned implementations but that, in many cases, the performance portable models are able to solve the same problems to within a 5-20% performance penalty. The models expose varying levels of complexity to the developer, and they all present reasonable performance, therefore we believe that complexity will become the major influencer in the long-term adoption of such models.
Original languageEnglish
Title of host publicationProceedings of the 7th International Workshop on Programming Models and Applications for Multicores and Manycores (PMAM'16)
EditorsPavan Balaji, Kai-Cheung Leung
PublisherAssociation for Computing Machinery (ACM)
Pages1-10
Number of pages10
ISBN (Electronic)9781450319089
ISBN (Print)9781450341967
DOIs
Publication statusPublished - 12 Mar 2016
Event7th International Workshop on Programming Models and Applications for Multicores and Manycores, PMAM 2016 - Barcelona, Spain
Duration: 12 Mar 2016 → …

Conference

Conference7th International Workshop on Programming Models and Applications for Multicores and Manycores, PMAM 2016
CountrySpain
CityBarcelona
Period12/03/16 → …

Keywords

  • parallel programming models
  • performance evaluation
  • kokkos
  • raja
  • openmp 4.0

Fingerprint Dive into the research topics of 'An Evaluation of Emerging Many-Core Parallel Programming Models'. Together they form a unique fingerprint.

Cite this