Programming Heterogeneous Architectures Using Hierarchical Tasks - Archive ouverte HAL
Article Dans Une Revue Concurrency and Computation: Practice and Experience Année : 2023

Programming Heterogeneous Architectures Using Hierarchical Tasks

Résumé

Task-based systems have become popular due to their ability to utilize the computational power of complex heterogeneous systems. A typical programming model used is the Sequential Task Flow (STF) model, which unfortunately only supports static task graphs. This can result in submission overhead and a static task graph that is not well-suited for execution on heterogeneous systems. A common approach is to find a balance between the granularity needed for accelerator devices and the granularity required by CPU cores to achieve optimal performance. To address these issues, we have extended the STF model in the STARPU runtime system by introducing the concept of hierarchical tasks. This allows for a more dynamic task graph and, when combined with an automatic data manager, it is possible to adjust granularity at runtime to best match the targeted computing resource. That data manager makes it possible to switch between various data layout without programmer input and allows us to enforce the correctness of the DAG as hierarchical tasks alter it during runtime. Additionally, submission overhead is reduced by using large-grain hierarchical tasks, as the submission process can now be done in parallel. We have shown that the hierarchical task model is correct and have conducted an early evaluation on shared memory heterogeneous systems using the CHAMELEON dense linear algebra library.
Fichier principal
Vignette du fichier
finale_submission.pdf (498.33 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04088833 , version 1 (04-05-2023)
hal-04088833 , version 2 (11-05-2023)

Identifiants

Citer

Mathieu Faverge, Nathalie Furmento, Abdou Guermouche, Gwenolé Lucas, Raymond Namyst, et al.. Programming Heterogeneous Architectures Using Hierarchical Tasks. Concurrency and Computation: Practice and Experience, In press, 35 (25), ⟨10.1002/cpe.7811⟩. ⟨hal-04088833v2⟩
231 Consultations
190 Téléchargements

Altmetric

Partager

More