Génération de code efficace par compilation polyédrique et par apprentissage basé sur les graphes – MLOPT
Avec l’émergence des systèmes de calcul haute performance (HPC), il existe une demande croissante de codes exploitant les caractéristiques de ces systèmes. Une façon d'atteindre de bonnes performances est d’exposer le parallélisme de tâches sur des programmes écrits séquentiellement, puis d’exécuter les tâches avec des bibliothèques hautes performances. Cependant, la parallélisation de programmes séquentiels ainsi que la reconnaissance des fonctions de bibliothèque ne sont pas des tâches triviales. Alors que la parallélisation nécessite une inspection minutieuse des patterns de dépendance, la reconnaissance des fonctions de bibliothèque nécessite que le programmeur comprenne le calcul et sélectionne l'une des nombreuses fonctions de bibliothèque.
Par conséquent, nous proposons de générer automatiquement un tel code à partir d'un programme séquentiel en combinant la puissance de la compilation polyédrique avec les réseaux de neurones de graphes (GNN).
Tout d’abord, nous proposerons un classificateur de patterns de dépendance pour la parallélisation automatique s’appuyant sur des graphes de dépendance polyédriques et les Large Language Models (LLM). Cette classification sera ensuite exploitée pour exposer le parallélisme avec une priorité sur le parallélisme de tâches.
Ensuite, nous aborderons le problème de détection de bibliothèque en tirant parti de l'apprentissage automatique et de la compilation polyédrique sur une combinaison de traces d'exécution, de graphes de dépendance polyédriques et de modèles de programme basés sur des graphes.
Enfin, nous proposerons un algorithme de translation validation pour garantir l'exactitude de la transformation ; qui reste spéculative puisque l’on s’appuie sur du machine learning. Lorsque la validation de la traduction n'est pas conclusive, nous prévoyons de nous appuyer sur une exécution spéculative utilisant un système de rollback.
Coordination du projet
Christophe Alias (Institut national de la recherche en informatique et automatique)
L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.
Partenariat
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
Aide de l'ANR 324 201 euros
Début et durée du projet scientifique :
avril 2025
- 42 Mois