Generating Highly Performant Code via Polyhedral Compilation and Graph-based Learning – MLOPT
Due to the emergence of High-Performance Computing (HPC) systems, there is an increasing demand for codes that leverage the powerful architecture of such systems. One way to achieve high-level performance is to expose task-level parallelism on sequentially written programs, then to recognize tasks as high-performance library calls for an efficient execution on processing elements. However, parallelization of sequential programs as well as library function recognition are not trivial tasks. While parallelization requires a careful inspection of dependence patterns, library function recognition requires the programmer to understand the computation itself and to select one of the many library functions.
Hence, we propose to develop a framework for automatically generating such a parallel version of a sequential program by combining the power of polyhedral compilation with Graph Neural Networks (GNNs), thus improving both developer productivity and code efficiency.
First, we will propose a dependence pattern classifier for automatic parallelization relying on polyhedral dependence graphs and Large Language Models (LLMs). This precise dependence pattern classification will then be exploited to retrieve parallelism with a priority on task-level parallelism.
Then, we will address the library detection problem by leveraging machine learning and polyhedral compilation on a combination of execution traces, polyhedral dependence graphs and graph-based program models. While graph-based learning will enable the recognition of irregular algorithms, local polyhedral analysis will improve the overall precision.
Finally, we will propose an exact translation validation algorithm to enforce the correctness of the whole transformation, which remains speculative. We plan to extend the scope and the scalability of the approaches proposed by the polyhedral community. When the translation validation cannot conclude, we plan to rely on a speculative execution using a system of rollbacks.
Project coordination
Christophe Alias (Institut national de la recherche en informatique et automatique)
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.
Partnership
I3S Institut national de la recherche en informatique et automatique
Iowa State University -- Software Analytics and Pervasive Parallelism Lab
Institut national de la recherche en informatique et automatique
Help of the ANR 324,201 euros
Beginning and duration of the scientific project:
April 2025
- 42 Months