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

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Cardosi, Paul, Bramas, Bérenger
Format: Preprint
Published: 2023
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912119730995200
author Cardosi, Paul
Bramas, Bérenger
author_facet Cardosi, Paul
Bramas, Bérenger
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2308_15964
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Specx: a C++ task-based runtime system for heterogeneous distributed architectures
Cardosi, Paul
Bramas, Bérenger
Distributed, Parallel, and Cluster Computing
Software Engineering
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.
title Specx: a C++ task-based runtime system for heterogeneous distributed architectures
topic Distributed, Parallel, and Cluster Computing
Software Engineering
url https://arxiv.org/abs/2308.15964