A Lightweight Approach to Performance Portability with targetDP
Alan Gray, Kevin Stratford

TL;DR
targetDP is a lightweight abstraction layer enabling grid-based applications to achieve performance portability across diverse data-parallel hardware architectures, demonstrated on fluid dynamics and lattice QCD applications with scalable results.
Contribution
The paper introduces targetDP, a novel platform-agnostic abstraction layer that simplifies achieving performance portability for grid-based applications on various hardware architectures.
Findings
Single source code achieves portable performance across architectures.
Performance scales effectively on large supercomputers with MPI integration.
Demonstrated success on fluid dynamics and lattice QCD applications.
Abstract
Leading HPC systems achieve their status through use of highly parallel devices such as NVIDIA GPUs or Intel Xeon Phi many-core CPUs. The concept of performance portability across such architectures, as well as traditional CPUs, is vital for the application programmer. In this paper we describe targetDP, a lightweight abstraction layer which allows grid-based applications to target data parallel hardware in a platform agnostic manner. We demonstrate the effectiveness of our pragmatic approach by presenting performance results for a complex fluid application (with which the model was co-designed), plus a separate lattice QCD particle physics code. For each application, a single source code base is seen to achieve portable performance, as assessed within the context of the Roofline model. TargetDP can be combined with MPI to allow use on systems containing multiple nodes: we demonstrate…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
