Analyzing Reduction Abstractions Capabilities

Tom Deakin, Simon N McIntosh-Smith, John Pennycook, Jason Sewall

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

3 Citations (Scopus)
189 Downloads (Pure)

Abstract

Reductions are a common pattern in parallel programming, and every parallel programming language or framework has its own reduction abstraction with its own idiosyncrasies. These abstractions differ not only in their syntax, but also in their semantics and their ability to express certain types of reduction. Such differences may prevent specific combinations of abstraction and hardware platform from reaching high levels of performance, with consequences for portability and programmer productivity.

In this paper, we present a set of representative reduction benchmarks to explore the capabilities of five contemporary programming languages and frameworks -- OpenMP, Kokkos, RAJA, SYCL, and the oneAPI DPC++ Library (oneDPL) -- across a variety of hardware platforms, including CPUs and GPUs from multiple vendors. We discuss the advantages and disadvantages of each reduction abstraction, and conclude with recommendations to improve their design and implementation.
Original languageEnglish
Title of host publication2021 International Workshop on Performance, Portability and Productivity in HPC (P3HPC)
PublisherIEEE Computer Society
ISBN (Electronic)978-1-6654-2439-4
ISBN (Print)978-1-6654-2440-0
DOIs
Publication statusPublished - 14 Nov 2021
Event2021 International Workshop on Performance, Portability and Productivity in HPC (P3HPC) -
Duration: 14 Nov 202114 Nov 2021
https://p3hpc.org/workshop/2021/

Conference

Conference2021 International Workshop on Performance, Portability and Productivity in HPC (P3HPC)
Abbreviated titleP3HPC
Period14/11/2114/11/21
Internet address

Fingerprint

Dive into the research topics of 'Analyzing Reduction Abstractions Capabilities'. Together they form a unique fingerprint.

Cite this