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

08/30/2023
by   Paul Cardosi, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/10/2018

DuctTeip: An efficient programming model for distributed task based parallel computing

Current high-performance computer systems used for scientific computing ...
research
09/25/2018

HSTREAM: A directive-based language extension for heterogeneous stream computing

Big data streaming applications require utilization of heterogeneous par...
research
10/31/2017

Performance Optimization and Parallelization of a Parabolic Equation Solver in Computational Ocean Acoustics on Modern Many-core Computer

As one of open-source codes widely used in computational ocean acoustics...
research
03/11/2022

Automatic Parallelization of Python Programs for Distributed Heterogeneous Computing

This paper introduces a novel approach to automatic ahead-of-time (AOT) ...
research
05/05/2020

Parallel Programming Models for Heterogeneous Many-Cores : A Survey

Heterogeneous many-cores are now an integral part of modern computing sy...
research
05/22/2021

Automatic task-based parallelization of C++ applications by source-to-source transformations

Currently, multi/many-core CPUs are considered standard in most types of...
research
10/21/2020

Runtime vs Scheduler: Analyzing Dask's Overheads

Dask is a distributed task framework which is commonly used by data scie...

Please sign up or login with your details

Forgot password? Click here to reset