Journal article Open Access

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

August Ernstsson; Johan Ahlqvist; Stavroula Zouzoula; Christoph Kessler

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 (1.2 MB)
Name Size
1.2 MB Download
Views 55
Downloads 29
Data volume 33.5 MB
Unique views 52
Unique downloads 29


Cite as