Speculative Rewriting of Recursive Programs as Loop Candidates for Efficient Parallelization and Optimization Using an Inspector-Executor Mechanism - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2021

Speculative Rewriting of Recursive Programs as Loop Candidates for Efficient Parallelization and Optimization Using an Inspector-Executor Mechanism

Réécriture spéculative de programmes récursifs en boucles candidates à une parallélisation et une optimisation efficaces utilisant un mécanisme inspecteur-exécuteur

Résumé

In this thesis, we introduce Rec2Poly, a framework for speculative rewriting of recursive programs as affine loops that are candidates for efficient optimization and paralleliza- tion. Rec2Poly seeks a polyhedral-compliant run-time control and memory behavior in recursions making use of an offline profiling technique. When it succeeds to model the behavior of a recursive program as affine loops, it can use the affine loop model to automatically generate an optimized and parallelized code based on the inspector-executor strategy for the next executions of the program. The inspector involves a light version of the original recursive program whose role is to collect, generate and verify run-time in- formation that is crucial to ensure the correctness of the equivalent affine iterative code. The executor is composed of the affine loops that can be parallelized or even optimized using the polyhedral model.
Dans cette thèse, nous proposons Rec2Poly, un cadriciel pour la réécriture spéculative des programmes récursifs sous forme de boucles affines qui sont candidates à une parallélisation et une optimisation efficaces. Rec2Poly cherche un flot de contrôle dyna- mique et un comportement mémoire conformes au modèle polyédrique dans les récursions, en utilisant une technique de profilage hors ligne. Lorsqu’il réussit à modéliser le comportement d’un programme récursif sous forme de boucles affines, il peut utiliser le modèle de boucle affine pour générer automatiquement un code optimisé et parallélisé basé sur la stratégie inspecteur-exécuteur pour les prochaines exécutions du programme. L’inspecteur implique une version allégée du programme récursif d’origine dont le rôle est de collecter, générer et vérifier les informations d’exécution qui sont essentielles pour garantir l’exactitude du code itératif affine équivalent. L’exécuteur est composé des boucles affines qui peuvent être parallélisées voire optimisées à l’aide du modèle polyédrique.
Fichier principal
Vignette du fichier
Kobeissi_Salwa_2021_ED269.pdf (2.24 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-03495816 , version 1 (20-12-2021)
tel-03495816 , version 2 (20-12-2021)

Identifiants

  • HAL Id : tel-03495816 , version 2

Citer

Salwa Kobeissi. Speculative Rewriting of Recursive Programs as Loop Candidates for Efficient Parallelization and Optimization Using an Inspector-Executor Mechanism. Computation and Language [cs.CL]. Université de Strasbourg, 2021. English. ⟨NNT : ⟩. ⟨tel-03495816v2⟩
85 Consultations
546 Téléchargements

Partager

Gmail Facebook X LinkedIn More