Assessing the performance portability of modern parallel programming models using TeaLeaf

Matthew Martineau*, Simon McIntosh-Smith, Wayne Gaudin

*Corresponding author for this work

Research output: Contribution to journalArticle (Academic Journal)peer-review

24 Citations (Scopus)

Abstract

In this work, we evaluate several emerging parallel programming 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 Project. We find that the best performance is achieved with architecture-specific implementations but that, in many cases, the performance portable models are able to solve the same problems to within a 5% to 30% performance penalty. While the models expose varying levels of complexity to the developer, they all achieve reasonable performance with this application. As such, if this small performance penalty is permissible for a problem domain, we believe that productivity and development complexity can be considered the major differentiators when choosing a modern parallel programming model to develop applications like Tealeaf.

Original languageEnglish
Article numbere4117
Number of pages20
JournalConcurrency and Computation: Practice and Experience
Volume29
Issue number15
Early online date29 Mar 2017
DOIs
Publication statusPublished - 10 Aug 2017

Keywords

  • Kokkos
  • OpenMP 4.0
  • performance portability
  • programming models
  • RAJA

Fingerprint

Dive into the research topics of 'Assessing the performance portability of modern parallel programming models using TeaLeaf'. Together they form a unique fingerprint.

Cite this