Achieving performance portability for a heat conduction solver mini-application on modern multi-core systems

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

Authors

  • Richard O. Kirk
  • Gihan R. Mudalige
  • Istvan Z. Reguly
  • Steven A. Wright
  • Matt J. Martineau

Colleges, School and Institutes

External organisations

  • University of Warwick
  • Pazmany Peter Catholic University
  • Merchant Venturers Building

Abstract

Modernizing production-grade, often legacy applications to take advantage of modern multi-core and many-core architectures can be a difficult and costly undertaking. This is especially true currently, as it is unclear which architectures will dominate future systems. The complexity of these codes can mean that parallelisation for a given architecture requires significant re-engineering. One way to assess the benefit of such an exercise would be to use mini-Applications that are representative of the legacy programs.In this paper, we investigate different implementations of TeaLeaf, a mini-Application from the Mantevo suite that solves the linear heat conduction equation. TeaLeaf has been ported to use many parallel programming models, including OpenMP, CUDA and MPI among others. It has also been re-engineered to use the OPS embedded DSL and template libraries Kokkos and RAJA. We use these different implementations to assess the performance portability of each technique on modern multi-core systems.While manually parallelising the application targeting and optimizing for each platform gives the best performance, this has the obvious disadvantage that it requires the creation of different versions for each and every platform of interest. Frameworks such as OPS, Kokkos and RAJA can produce executables of the program automatically that achieve comparable portability. Based on a recently developed performance portability metric, our results show that OPS and RAJA achieve an application performance portability score of 71% and 77% respectively for this application.

Bibliographic note

Funding Information: The OPS project is funded by the UK Engineering and Physical Sciences Research Council projects EP/K038494/1, EP/K038486/1, EP/K038451/1 and EP/K038567/1 on “Future-proof massively-parallel execution of multi-block applications” project. This research was also funded by the Hungarian Human Resources Development Operational Programme (EFOP-3.6.2-16-2017-00013) and by the János Bólyai Research Scholarship of the Hungarian Academy of Sciences. Funding Information: This work was supported by the UK Atomic Weapons Establishment under grant CDK0724 (AWE Technical Outreach Programme). Prof. Stephen Jarvis is an AWE William Penney Fellow. This work would not have been possible without the assistance of a number of members of the Applied Computer Science group at AWE, to whom we would like to express our gratitude. Publisher Copyright: © 2017 IEEE.

Details

Original languageEnglish
Title of host publicationProceedings - 2017 IEEE International Conference on Cluster Computing, CLUSTER 2017
Publication statusPublished - 22 Sep 2017
Event2017 IEEE International Conference on Cluster Computing, CLUSTER 2017 - Honolulu, United States
Duration: 5 Sep 20178 Sep 2017

Publication series

NameProceedings - IEEE International Conference on Cluster Computing, ICCC
Volume2017-September
ISSN (Print)1552-5244

Conference

Conference2017 IEEE International Conference on Cluster Computing, CLUSTER 2017
Country/TerritoryUnited States
CityHonolulu
Period5/09/178/09/17

Keywords

  • Kokkos, Mini-Apps, OPS, Performance Portability, RAJA