AMDT-HPC
type: document
title: AMDT-HPC
tags: AMDT, HPC, SED, dtk, dtk-distributed, Kokkos
0. Informations globales
Status | Draft |
Epic | HPC pour tous |
PO | Thibaud Kloczko |
DevTeam | AMDT |
Stakeholders | SED |
Delivery date | By 2024 |
- 0. Informations globales
- 1. Objectifs
- 2. Contexte
- 3. Hypothèses de travail
- 4. User Stories
- 5. Architecture, Design et Experience Utilisateurs
- 6. Questions
- 7. Ce qui est hors-scope
1. Objectifs
:::info Allez droit au but, Informez, sans être ennuyeux ::: Il s'agit:
- d'une part, d'amener les technologies HPC auprès des équipes de recherche qui en sont d'ordinaire éloignées afin de leur permettre de faire passer à l'échelle leurs cas d'usage
- d'autre part, de permettre aux équipes déjà utilisatrices de bénéficier des dernières avancées dans le domaine
2. Contexte
:::info Pourquoi fait-on cela ? Comment cela s'inscrit-il dans les objectifs du service, du centre, d'Inria ? :::
L'émergence de frameworks comme Kokkos pour pouvoir abstraire les couches hardware et faciliter l'utilisation d'OpenMP ou de CUDA couplée aux évolutions matérielles des ressources de calcul offrent des possibilités de passage à l'échelle pour de nombreux cas d'usage (chaines de Markov, simulations du cerveau) qui sont souvent inexploitées du fait qu'elles requièrent une expertise technique particulière hors de portée pour un grand nombre d'équipes. Même pour les équipes depuis longtemps immergées dans le domaine du hpc, en particulier celles qui travaillent en calcul numérique, il est difficile de suivre les évolutions technologiques logicielles et matérielles et ainsi de bénéficier des apports de ces évolutions. Ce travail s'inscrit donc dans l'objectif de préserver et d'accroître le niveau technologique de nos équipes par rapport à leurs concurrents.
3. Hypothèses de travail
:::info Dressez la liste de vos éventuelles hypothèses techniques, métier ou utilisateur. :::
L'équipe AMDT fait le constat que les besoins de stocker en mémoire de très grosses données, souvent de type graphe, pour procéder à des simulations à grande échelle touchent désormais des équipes de recherche jusque là peu concernées par ces problématiques. Dans ce contexte, l'utilisation de MPI (Message Passing Interface), devenu un standard de facto, est quasi indispensable mais cela requiert une expertise particulière et cela demande de revoir de fond en comble les codes initiaux. L'utilisation de solutions hybrides encore plus performantes couplant MPI et OpenMP ou MPI et CUDA est bien sûr hors de portée pour ces équipes. Un constat similaire peut être fait pour des équipes en calcul numérique pour qui revisiter leur code pour l'adapter aux nouvelles possibilités logicielles et matérielles est une tâche difficile. La montée en compétence des ingénieurs de l'équipe AMDT sur le domaine du HPC couplée à la factorisation de solutions logicielles au sein du framework dtk-distributed et, par suite, l'application sur des cas d'usage déjà identifiés nous semble une étape nécessaire pour aider l'ensemble de nos équipes.
4. User Stories
:::info Dressez la liste des user stories concernées ou fournissez le lien idoine. Fournissez également le lien vers les entretiens client et ajoutez les captures d'écran de ce que vous avez vu. Donnez suffisamment de détails pour que le récit soit complet et n'oubliez pas les métriques de réussite. :::
# | Titre de la User Story | Description de la User Story | Priorité | Commentaires |
---|---|---|---|---|
1 | Veille technologique | En tant qu'IR SED, je veux monter en compétence sur les bibliothèques HPC pour pouvoir les utiliser au mieux selon les besoins des équipe de recherche | must have | - Il s'agit de tester Kokkos, MPI-4, OpenACC, OpenMP-5, bibliothèques d'Algèbre Linéaire Parallèle |
2 | dtk-distributed | En tant qu'IR SED, je veux upgrader le framework dtk-distributed pour intégrer les nouvelles technologies et améliorer son ergonomie pour les utilisateurs avancés et moins avancés | must have | - il s'agit de bosser sur les structures de données distribuées, sur les algos, sur leur exécution sur des devices particuliers |
3 | Marmote | En tant qu'IR SED, je peux utiliser l'expertise et le framework pour réaliser les cas d'usage du projet Marmote | should have | - Cas d'usage pour les chaines de MArkov |
4 | Neuromod | - Cas d'usage pour les simulations du cerveau | ||
5 | Diogenes | - Cas d'usage pour la nano-photonique |
5. Architecture, Design et Experience Utilisateurs
:::info Une fois que l'équipe a étoffé la solution pour chaque user story, reliez les explorations du design et les maquettes fonctionnelles à la page. :::
6. Questions
:::info En général, au fur et à mesure que l'équipe comprend quel est le problème à résoudre, des questions émergent. Dressez un tableau des éléments qui doivent faire l'objet d'une décision ou de recherches afin d'en assurer le suivi. :::
Question | Proposition pour sa résolution |
---|---|
7. Ce qui est hors-scope
:::info Recentrez l'attention de l'équipe sur la tâche en cours en affirmant clairement ce que vous ne faites pas. Signalez les aspects qui, pour le moment, sont en dehors du périmètre, mais pourraient être envisagés ultérieurement. :::