Les performances des calculateurs sont devenues limitées par les déplacements des données dans les domaines de l'IA, du HPC comme dans l'embarqué. Il existe pourtant des accélérateurs matériels qui permettent de traiter des mouvements de données de façon efficace énergétiquement, mais il n'existe pas de langage de programmation qui permette de les mettre en œuvre dans le code supportant les calculs.
C'est au programmeur de configurer explicitement les DMA et utiliser des appels de fonctions pour les transferts de données et analyser les programmes pour en identifier les goulots d'étranglement mémoire.
Par ailleurs les compilateurs ont été conçus dans les années 80, époque à laquelle les mémoires travaillaient à la même fréquence que les cœurs de calcul.
L'objet de cette thèse sera d'intégrer dans un compilateur la possibilité de réaliser des optimisations basées sur les transferts de données.