Specx: a C++ task-based runtime system for heterogeneous distributed architectures
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 efficient parallelization across...
Saved in:
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
PeerJ Inc.
2025-07-01
|
Series: | PeerJ Computer Science |
Subjects: | |
Online Access: | https://peerj.com/articles/cs-2966.pdf |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
_version_ | 1839630631113326592 |
---|---|
author | Paul Cardosi Bérenger Bramas |
author_facet | Paul Cardosi Bérenger Bramas |
author_sort | Paul Cardosi |
collection | DOAJ |
description | 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 efficient parallelization across distributed heterogeneous computing nodes, but it also allows for elegant source code structuring by describing hardware-independent algorithms. In this article, we present Specx, a task-based runtime system written in modern C++. Specx supports distributed heterogeneous computing by simultaneously exploiting central processing units (CPUs) and graphics processing units (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 | Article |
id | doaj-art-22730085d0ec4a898ab9d51c20fcf3a4 |
institution | Matheson Library |
issn | 2376-5992 |
language | English |
publishDate | 2025-07-01 |
publisher | PeerJ Inc. |
record_format | Article |
series | PeerJ Computer Science |
spelling | doaj-art-22730085d0ec4a898ab9d51c20fcf3a42025-07-13T15:05:11ZengPeerJ Inc.PeerJ Computer Science2376-59922025-07-0111e296610.7717/peerj-cs.2966Specx: a C++ task-based runtime system for heterogeneous distributed architecturesPaul Cardosi0Bérenger Bramas1ICPS Team, ICube, Illkirch, FranceICPS Team, ICube, Illkirch, FranceParallelization 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 efficient parallelization across distributed heterogeneous computing nodes, but it also allows for elegant source code structuring by describing hardware-independent algorithms. In this article, we present Specx, a task-based runtime system written in modern C++. Specx supports distributed heterogeneous computing by simultaneously exploiting central processing units (CPUs) and graphics processing units (GPUs) (CUDA/HIP) and incorporating communication into the task graph. We describe the specificities of Specx and demonstrate its potential by running parallel applications.https://peerj.com/articles/cs-2966.pdfRuntime systemCUDAHipSchedulingTask-basedC++ |
spellingShingle | Paul Cardosi Bérenger Bramas Specx: a C++ task-based runtime system for heterogeneous distributed architectures PeerJ Computer Science Runtime system CUDA Hip Scheduling Task-based C++ |
title | Specx: a C++ task-based runtime system for heterogeneous distributed architectures |
title_full | Specx: a C++ task-based runtime system for heterogeneous distributed architectures |
title_fullStr | Specx: a C++ task-based runtime system for heterogeneous distributed architectures |
title_full_unstemmed | Specx: a C++ task-based runtime system for heterogeneous distributed architectures |
title_short | Specx: a C++ task-based runtime system for heterogeneous distributed architectures |
title_sort | specx a c task based runtime system for heterogeneous distributed architectures |
topic | Runtime system CUDA Hip Scheduling Task-based C++ |
url | https://peerj.com/articles/cs-2966.pdf |
work_keys_str_mv | AT paulcardosi specxactaskbasedruntimesystemforheterogeneousdistributedarchitectures AT berengerbramas specxactaskbasedruntimesystemforheterogeneousdistributedarchitectures |