Reports Year : 2024

Specx: a C++ task-based runtime system for heterogeneous distributed architectures

Abstract

Parallelization is needed everywhere, from laptops and mobile phones to supercomputers. Among parallel programming models, task-based programming has demonstrated a powerful potential and is widely used in high-performance scientific computing. Not only does it allow for efficient parallelization across distributed heterogeneous computing nodes, but it also allows for elegant source code structuring by describing hardwareindependent algorithms. In this paper, we present Specx, a task-based runtime system written in modern C++. Specx supports distributed heterogeneous computing by simultaneously exploiting CPUs and GPUs (CUDA/HIP) and incorporating communication into the task graph. We describe the specificities of Specx and demonstrate its potential by running parallel applications. This document is a preliminary version of the publication on Specx, which does not include the benchmarks. We invite the readers to regularly check if a new version is available online.
Fichier principal
Vignette du fichier
main.pdf (777.71 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-04191350 , version 1 (30-08-2023)
hal-04191350 , version 2 (15-11-2024)

Licence

Identifiers

  • HAL Id : hal-04191350 , version 2

Cite

Paul Cardosi, Bérenger Bramas. Specx: a C++ task-based runtime system for heterogeneous distributed architectures. inria. 2024. ⟨hal-04191350v2⟩
76 View
43 Download

Share

More