A Performance Analysis of Modern Parallel Programming Models Using a Compute-Bound Application

Andrei Poenaru*, Simon Mcintosh-Smith*, Tom Lin

*Corresponding author for this work

Research output: Contribution to conferenceConference Paperpeer-review

Abstract

Performance portability is becoming increasingly important as next-generation high performance computing systems grow increasingly diverse and heterogeneous. Several new approaches to parallel programming have been developed in recent years to tackle this challenge, such as SYCL and Kokkos. While several studies have been published evaluating these new programming models, they have tended to focus on memory-bandwidth bound applications. In this paper we analyse the performance of the most promising modern parallel programming models, on a diverse range of contemporary high-performance hardware, using a compute-bound molecular docking mini-app. We present a mini-app for BUDE, the Bristol University Docking Engine, am application routinely used for drug discovery. We implement the mini-app in different programming models targeting both CPUs and GPUs, including SYCL and Kokkos. We then present an analysis of the performance of each implementation and compare them to highly-optimised baselines set using established programming models such as OpenMP, OpenCL, and CUDA. Our study includes a wide variety of modern hardware platforms covering CPUs based on x86 and Arm architectures, as well as GPUs. We found that, with the emerging higher-level parallel programming models framework such as SYCL, we could achieve performance comparable to that of the established models without hurting either portability or productivity. We identify a set of key challenges and pitfalls to take into account when adopting these emerging programming models, some of which are implementation-specific effects and not fundamental design errors that prevent further adoption. Finally, we discuss our findings in the wider context of performance-portable compute-bound workloads.
Original languageEnglish
DOIs
Publication statusPublished - 17 Jun 2021
EventISC High Performance 2021 - Frankfurt, Germany
Duration: 24 Jun 20212 Jul 2021
https://www.isc-hpc.com/

Conference

ConferenceISC High Performance 2021
Abbreviated titleISC HPC
CountryGermany
CityFrankfurt
Period24/06/212/07/21
Internet address

Keywords

  • programming models
  • performance portability
  • performance analysis
  • compute-bound benchmark

Fingerprint

Dive into the research topics of 'A Performance Analysis of Modern Parallel Programming Models Using a Compute-Bound Application'. Together they form a unique fingerprint.

Cite this