Volume 29, Issue 15 e4117
SPECIAL ISSUE PAPER

Assessing the performance portability of modern parallel programming models using TeaLeaf

Matthew Martineau

Corresponding Author

Matthew Martineau

HPC Group, University of Bristol, Bristol, UK

Correspondence

Matthew Martineau, Merchant Venturers Building, Woodland Road, Bristol, BS8 1UB, UK.

Email: [email protected]

Search for more papers by this author
Simon McIntosh-Smith

Simon McIntosh-Smith

HPC Group, University of Bristol, Bristol, UK

Search for more papers by this author
Wayne Gaudin

Wayne Gaudin

UK Atomic Weapons Establishment (AWE), Aldermaston, UK

Search for more papers by this author
First published: 29 March 2017
Citations: 22

Summary

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.

The full text of this article hosted at iucr.org is unavailable due to technical difficulties.