Published May 19, 2021 | Version v1
Journal article Open

SkePU 3: Portable High-Level Programming of Heterogeneous Systems and HPC Clusters

  • 1. PELAB, Department of Computer and Information Science, Linköping University, Linköping , Sweden

Description

We present the third generation of the C++-based open-source skeleton programming
framework SkePU. Its main new features include new skeletons, new data container
types, support for returning multiple objects from skeleton instances and user func-
tions, support for specifying alternative platform-specific user functions to exploit e.g.
custom SIMD instructions, generalized scheduling variants for the multicore CPU
backends, and a new cluster-backend targeting the custom MPI interface provided by
the StarPU task-based runtime system. We have also revised the smart data contain-
ers’ memory consistency model for automatic data sharing between main and device
memory. The new features are the result of a two-year co-design effort collecting
feedback from HPC application partners in the EU H2020 project EXA2PRO, and
target especially the HPC application domain and HPC platforms. We evaluate the
performance effects of the new features on high-end multicore CPU and GPU systems
and on HPC clusters.

Files

Ernstsson2021_Article_SkePU3PortableHigh-LevelProgra.pdf

Files (1.2 MB)

Additional details

Funding

EXA2PRO – Enhancing Programmability and boosting Performance Portability for Exascale Computing Systems 801015
European Commission