Version imprimable |
Automating the derivation of memory allocations for acceleration of polyhedral programs (Dérivation automatique d'allocations mémoire pour l'accélération de programmes dans le modèle polyédrique) | ||
Ferry, Corentin - (2024-02-19) / Université de Rennes, Colorado state university Automating the derivation of memory allocations for acceleration of polyhedral programs Langue : Anglais Directeur de thèse: Derrien, Steven; Rajopadhye, Sanjay Laboratoire : IRISA Ecole Doctorale : MATISSE Thématique : Informatique | ||
Mots-clés : Compilateurs (informatique), Mémoires (ordinateurs), Synthèse HLS, Ordinateurs -- Mémoires, Compilateurs (logiciels), Synthèse de haut niveau (informatique), Réseaux logiques programmables par l'utilisateur Résumé : À mesure que les processeurs gagnent en puissance de calcul, leurs demandes en accès mémoire s'accroissent de différentes manières : certains calculs exigent une latence faible pour des accès aléatoires, d'autres un débit important et des accès réguliers. Pour répondre à cette demande, les architectures et technologies mémoire se diversifient. Il est alors nécessaire que les programmes et les accélérateurs qui les exécutent s'adaptent pour effectuer des accès de faible latence et de haut débit; notamment, sont à adapter la suite des accès en mémoire et la disposition des données. Si ces tâches sont réalisables manuellement, leur automatisation épargne au développeur d'avoir à les rechercher. Dans cette thèse, on propose plusieurs méthodes automatisées de disposition des données pour des accélérateurs FPGA. Pour des mémoires à haut débit et haute latence d'accès, on cherche à maximiser l'utilisation de la bande passante; pour des mémoires à plus faible débit, on minimise la quantité d'accès non valorisés en préservant la contiguité. On introduit à cet effet des analyses mathématiques, des allocations de mémoires spécifiques ainsi que des transformations automatisées de programme pour obtenir des accélérateurs FPGA optimisés. Résumé (anglais) : As processors compute power keeps increasing, so do their demands in memory accesses: some computations will require a higher bandwidth and exhibit regular memory access patterns, others will require a lower access latency and exhibit random access patterns. To cope with all demands, memory technologies are becoming diverse. It is then necessary to adapt both programs and hardware accelerators to the memory technology they use. Notably, memory access patterns and memory layouts have to be optimized. Manual optimization can be extremely tedious and does not scale to a large number of processors and memories, where automation becomes necessary. In this Ph.D dissertation, we suggest several automated methods to derive data layouts from programs, notably for FPGA accelerators. We focus on getting the best throughput from high-latency, high-bandwidth memories and, for all kinds of memories, the lowest redundancy while preserving contiguity. To this effect, we introduce mathematical analyses to partition the data flow of a program with uniform and affine dependence patterns, propose memory layouts and automation techniques to get optimized FPGA accelerators. Identifiant : rennes1-ori-wf-1-19103 |
Exporter au format XML |