arXiv · 2308.15964
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 hardware-independent 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.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Paul Cardosi, Bérenger Bramas. 2023-08-30. Specx: a C++ task-based runtime system for heterogeneous distributed architectures. https://arxiv.org/abs/2308.15964
Cite the original work for its findings. Save a collection to share your selection of sources.