Thèse soutenue

Adaption d'un système HPC pour intégrer des FPGAs

FR  |  
EN
Auteur / Autrice : Georgios Christodoulis
Direction : Frédéric DesprezFrançois Broquedis
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 05/12/2019
Etablissement(s) : Université Grenoble Alpes (ComUE)
Ecole(s) doctorale(s) : École doctorale Mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 1995-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique de Grenoble (2007-....)
Jury : Président / Présidente : Raymond Namyst
Examinateurs / Examinatrices : Olivier Muller, David Novo
Rapporteurs / Rapporteuses : Christian Pérez, Smaïl Niar

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

En plus des cœurs de CPU traditionnels, d'autres unités de traitementsont utilisées par la communauté High Performance Computing (HPC) afind'obtenir une efficacité et des performances améliorées. Un FieldProgrammable Gate Arrays (FPGA), est une unité de traitement composée delogique reprogrammable interconnectée et de blocs mémoire.Ce type d'unité de traitement constitue un candidat prometteur pouraméliorer la puissance de calcul de plates-formes HPC car il permet deréduire le nombre de couches d'abstraction entre le niveau deprogrammation et le matériel réel. En contre-partie, l'exploitation deFPGA nécessite une connaissance approfondie de la conception matériellede bas niveau et une grande expertise des outils fournis par lesvendeurs qui ne correspond pas à celle des programmeurs HPC. Nous avons,dans le cadre de cette thèse, conçu un framework permettant undéveloppement simple des applications scientifiques sur des plateformeshétérogènes intégrant des FPGAs. Au cœur de notre framework se trouve lesystème d'exécution hétérogène StarPU, qui a été étendu pour supporterles FPGAs, cachant aux programmeurs des opérations complexes dérivant dela complexité de l'architecture sous-jacente et permettant un contrôlefin de la performance à travers différentes stratégies de planification.Pour la communication avec le FPGA, nous avons créé Conor, unebibliothèque de communication basée sur RIFFA, qui assure la cohérencede l'accélérateur lors de scénarios où les threads logicielsinteragissent simultanément avec le calcul effectué sur le FPGA.Notre approche est évaluée selon deux axes, l'un correspondant à laprogrammabilité et l'autre aux surcoûts imposés par les composantesadditionnelles rattachées au FPGA.La programmabilité du framework a été évaluée à l'aide d'une version parblocs de multiplication de matrice. Cette multiplication de matrice estégalement utilisée pour démontrer que nos extensions à StarPU n'ont pasimposé de surcoût supplémentaires.En plus du premier exemple de multiplication de matrice, nous avons crééune conception matérielle efficace de gemm, qui permettra l'exécutiond'applications plus complexes et intéressantes comme la décomposition deCholesky.