CE25 - Sciences et génie du logiciel - Réseaux de communication multi-usages, infrastructures de hautes performances

Automatic Task-Based Parallelization with Speculative Execution – AUTOSPEC

Submission summary

The performance increase of supercomputers is supported by the use of manycore processors and accelerators. Their efficient use and programmability require a high degree of expertise. Computer research activities have evolved in different directions, sometimes orthogonal, to allow non-expert developers to benefit from the potential of these machines and to propose methods for advanced developers to create high-performance applications. For instance, in the field of compilation, the community has created different tools for automatic parallelization. Most of these approaches parallelize loop nests with the support of the polyhedral model. They are therefore efficient for linear algebra operators or stencil codes. However, they are unsuitable for many applications that do not concentrate their workloads in low-level loops or that rely on object-oriented language with multiple abstraction mechanisms. In the high-performance computing community, several parallelization paradigms have been proposed, such as the task-based method, which is usually implemented with a task graph in which nodes represent tasks and edges represent the dependencies between them. This method allows for a detailed description of the parallelism of an algorithm by ignoring the hardware. Although it has demonstrated its potential in various scientific applications, it is primarily used by experts, and some applications cannot scale because of a limited degree of parallelism.
The AUTOSPEC project aims to create methods for automatic task-based parallelization and to improve this paradigm by increasing the degree of parallelism using speculative execution. The project will focus on source-to-source transformations for automatic parallelization, speculative execution models, DAG scheduling, and the activation mechanisms for speculative execution. With this aim, the project will rely on a source-to-source compiler that targets the C++, a runtime system with speculative execution capabilities, and an editor (IDE) to enable compiler-guided development. The outcomes from the project will be open-source with the objective of developing a user community. The benefits will be of great interest both for developers who want to use an automatic parallelization method, but also for high-performance programming experts who will benefit from improvements of the task-based programming.
The results of this project will be validated in various applications such as a protein complexes simulation software, and widely used open-source software. The aim will be to cover a wide range of applications to demonstrate the potential of the methods derived from this project while trying to establish their limitations to open up new research perspectives.

Project coordination

Bérenger Bramas (Centre de Recherche Inria Nancy - Grand Est)

The author of this summary is the project coordinator, who is responsible for the content of this summary. The ANR declines any responsibility as for its contents.

Partner

Inria Nancy Grand Est Centre de Recherche Inria Nancy - Grand Est

Help of the ANR 303,024 euros
Beginning and duration of the scientific project: September 2021 - 48 Months

Useful links

Explorez notre base de projets financés

 

 

ANR makes available its datasets on funded projects, click here to find more.

Sign up for the latest news:
Subscribe to our newsletter