A task-based data-flow methodology for programming heterogeneous systems with multiple accelerator APIs
Aleix Bon\'e, Alejandro Aguirre, David \'Alvarez, Pedro J. Martinez-Ferrer, Vicen\c{c} Beltran

TL;DR
This paper introduces a task-based data-flow approach with task-aware APIs to simplify programming heterogeneous systems with multiple accelerators, improving integration, performance, and extensibility across diverse hardware and APIs.
Contribution
It proposes a unified task-based methodology using task-aware APIs and thread management to seamlessly integrate multiple accelerator programming models in heterogeneous systems.
Findings
Enables transparent and efficient use of multiple accelerator APIs within a single application.
Demonstrates improved performance and reduced complexity in heterogeneous node programming.
Provides a portable runtime extension for better thread management across native runtimes.
Abstract
Heterogeneous nodes that combine multi-core CPUs with diverse accelerators are rapidly becoming the norm in both high-performance computing (HPC) and AI infrastructures. Exploiting these platforms, however, requires orchestrating several low-level accelerator APIs such as CUDA, SYCL, and Triton. In some occasions they can be combined with optimized vendor math libraries: e.g., cuBLAS and oneAPI. Each API or library introduces its own abstractions, execution semantics, and synchronization mechanisms. Combining them within a single application is therefore error-prone and labor-intensive. We propose reusing a task-based data-flow methodology together with Task-Aware APIs (TA-libs) to overcome these limitations and facilitate the seamless integration of multiple accelerator programming models, while still leveraging the best-in-class kernels offered by each API. Applications are…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Logic, programming, and type systems
