Aller au contenu principal

HEAVEN

Heterogenous Architectures: Versatile Exploitation and programing

Équipe action

La programmation et l'exploitation efficaces d'architectures hétérogènes impliquent le développement de méthodes et d'outils pour la conception de systèmes, embarqués ou non. L'équipe action HEAVEN s'inscrit dans l'axe de recherche PCS de PERSYVAL-Lab.

Description du projet

Les architectures informatiques deviennent de plus en plus complexes, exposant un parallélisme massif, des mémoires organisées hiérarchiquement et des unités de traitement hétérogènes. Ces architectures sont extrêmement difficiles à programmer car elles obligent la plupart du temps les programmeurs d'applications à choisir entre portabilité et performance.

Bien que les environnements de programmation standard comme OpenMP évoluent actuellement pour prendre en charge l'exécution d'applications sur différents types d'unités de traitement, ces approches souffrent de deux problèmes principaux. Premièrement, pour exploiter des unités de traitement hétérogènes au niveau de l'application, les programmeurs doivent explicitement traiter les mécanismes de bas niveau spécifiques au matériel, tels que les transferts de mémoire entre la mémoire hôte et les mémoires privées d'un coprocesseur, par exemple. Deuxièmement, comme l'évolution des environnements de programmation vers la programmation hétérogène se concentre principalement sur les plateformes CPU/GPU (Central processing unit/Graphics processing unit), certains accélérateurs matériels sont encore difficiles à exploiter à partir d'une application parallèle à usage général.

Le FPGA (Field-programmable gate array) est l'un d'entre eux. Contrairement aux CPU et aux GPU, cet accélérateur matériel peut être configuré pour répondre aux besoins de l'application. Il contient des réseaux de blocs logiques programmables qui peuvent être reliés entre eux pour construire un circuit spécialisé pour l'application ciblée. Par exemple, les FPGA peuvent être configurés pour accélérer des portions de code dont on sait qu'elles sont peu performantes sur les CPU ou les GPU. L'efficacité énergétique des FPGA est également l'un des principaux atouts de ce type d'accélérateurs par rapport aux GPU, ce qui encourage la communauté scientifique à considérer les FPGA comme l'un des éléments constitutifs des plateformes hétérogènes multicœurs à grande échelle et à faible consommation d'énergie.

Cependant, seule une fraction de la communauté envisage pour l'instant de programmer les FPGA, car les configurations doivent être conçues à l'aide de langages de description de bas niveau tels que le VHDL (VHSIC Hardware Description Language), que les programmeurs d'applications ne maîtrisent pas.

L'objectif principal de ce projet est d'améliorer l'accessibilité des architectures hétérogènes contenant des accélérateurs FPGA pour les programmeurs d'applications parallèles. Le projet proposé se concentre sur trois aspects principaux :

  • Portabilité : nous ne voulons pas que les programmeurs d'applications soient obligés de revoir complètement la conception de leurs applications pour bénéficier des dispositifs FPGA. Cela signifie qu'il faut étendre les environnements de programmation parallèle standard tels qu'OpenMP pour prendre en charge les FPGA. Améliorer la portabilité des applications signifie également tirer parti de la plupart des mécanismes de bas niveau spécifiques au matériel au niveau du système d'exécution ;
  • Performance : nous voulons que notre solution soit suffisamment flexible pour tirer le meilleur parti de toutes les plateformes hétérogènes contenant des dispositifs FPGA en fonction des besoins de performance spécifiques, comme le débit de calcul ou la consommation d'énergie par exemple ;
  • Expériences : L'expérimentation des accélérateurs FPGA sur des applications scientifiques réelles est également un élément clé de notre proposition de projet. En particulier, les solutions développées dans ce projet permettront de comparer les architectures sur des applications réelles de différents domaines comme le traitement du signal et la finance computationnelle.

Porteurs du projet

  • olivier.mulleratimag.fr (Olivier Muller), professeur associé à Grenoble INP - UGA, laboratoire TIMA
  • francois.broquedisatimag.fr (François Broquedis), professeur associé à Grenoble INP - UGA, laboratoire LIG

Membres

  • sylvain.huetatgipsa-lab.grenoble-inp.fr (Sylvain Huet), professeur associé à Grenoble INP - UGA, GIPSA lab
  • jose-ernesto.gomez-balderasatgipsa-lab.grenoble-inp.fr (José-Ernesto Gomez-Balderas), professeur associé à l'UGA, GIPSA lab
  • jerome.lelongatimag.fr (Jérôme Lelong), professeur associé à Grenoble INP - UGA, laboratoire LJK
  • frederic.desprezatinria.fr (Frédéric Desprez), directeur de recherche à l'INRIA, laboratoire LIG
  • georgios.christodoulisatimag.fr (Georgios Christodoulis), doctorant, laboratoire LIG
  • Sébastien Pairault, stagiaire M2, GIPSA lab
  • thierry.a.gautieratinria.fr (Thierry Gautier), chercheur permanent à l'INRIA, laboratoire LIP (collaborateur externe)

Actualités

  • [10/07/18] Prix du meilleur article à la conférence ReCoSoC 2018 pour l'article « An FPGA target for the StarPU heterogeneous runtime system », Georgios Christodoulis, Manuel Selva, François Broquedis, Olivier Muller et Frederic Desprez.
  • [03/07/18] Présentation de HEAVEN par Georgios Christodoulis à la journée du LIG.
  • [05/06/18] Rostyslav Brylov a rejoint le projet HEAVEN en tant que stagiaire de master. Pendant 3 mois, il travaillera sous la supervision d'Olivier Muller sur le portage de Rhodinia HPC Benchmark sur la plateforme HEAVEN.
  • [24/03/18] Prix du meilleur article à la conférence ATSIP 2018 pour l'article "Efficient parallelization of GMM background subtraction algorithm on a multi-core platform for moving objects detection", Lhoussein Mabrouk, Sylvain Huet, Dominique Houzet, Said Belkouch, Abdelkrim Hamzaoui et Yahya Zennayi
  • [01/02/18] Manuel Selva a rejoint le projet HEAVEN en tant que chercheur postdoc.
  • [01/07/17] Lhoussein Mabrouk a rejoint le project HEAVEN en tant que doctorant, partiellement financé par le projet. Il travaillera sous la direction de Sylvain Huet sur le portage de noyaux de calcul de traitement du signal sur des plateformes hétérogènes.
  • [03/11/16] Olivier Muller a présenté le projet HEAVEN au séminaire du LIP à Lyon.
  • [13/10/16] Sébastien Pairault a soutenu son mémoire de Master intitulé : « Build and Evaluate a CPU/GPU/FPGA heterogeneous platform for embedded computer vision applications ».
  • [12/10/16] Olivier Muller a donné une conférence à l'atelier FPGA à UIUC (Urbana Champaign) avec des liens étroits avec le projet HEAVEN.
  • [29/06/16] Georgios Christodoulis a présenté le projet HEAVEN à l'atelier JLESC à Lyon
  • [01/03/16] Sébastien Pairault a rejoint le projet HEAVEN en tant que stagiaire de Master. Il travaillera sous la direction de Sylvain Huet et Ernesto Gomez-Balderas sur le portage de noyaux de calcul de traitement du signal sur des plateformes hétérogènes intégrant des FPGA.
  • [24/11/15] Réunion de lancement de HEAVEN organisée à TIMA
  • [01/10/15] Georgios Christodoulis a commencé un doctorat dans le projet HEAVEN. Frédéric Desprez rejoint également le projet en tant que conseiller de Georgios. Georgios sera co-encadré par Frédéric Desprez, Olivier Muller et François Broquedis.

     

Publié le 3 décembre 2024

Mis à jour le 11 mars 2025