Plan d'entraînement¶
Vingt-quatre mois, découpés en quatre phases de six mois, calés sur le calendrier de la maquette ENSIIE et sur celui des compétitions.
C'est un plan d'équipe, pas un plan individuel : les charges sont réparties, et la somme dépasse ce qu'une personne peut faire.
Le principe directeur¶
Une compétition se gagne avant, pas pendant
Pendant les quarante-huit heures, on ne peut presque rien apprendre. On ne fait qu'exécuter ce qui a été préparé, et diagnostiquer les imprévus avec les réflexes qu'on a.
Le travail de préparation a donc trois objets, par ordre de valeur :
- Construire l'infrastructure — piles logicielles, scripts, carnets de réglages — pour que le temps de compétition soit consacré à optimiser et non à installer.
- Acquérir les réflexes de diagnostic — savoir en dix minutes si un code est memory bound, où regarder quand une accélération est mauvaise, quel outil sortir.
- Éprouver l'équipe — savoir qui fait quoi, comment on communique, comment on arbitre. Cela ne s'improvise pas.
Phase 1 · Fondations (mois 1 à 6)¶
Période typique : été avant le semestre 3, puis le semestre 3.
L'objectif : que chaque membre de l'équipe sache mesurer correctement et comprenne les modèles de performance. Sans ce socle commun, l'équipe ne peut pas se parler.
Le travail individuel, pour chacun¶
| Tâche | ⏱ | Référence |
|---|---|---|
| Le projet GEMM, du naïf à OpenBLAS | 15 h | P1 |
| La caractérisation d'une machine | 12 h | P2 |
| Les modèles de performance | 20 h | Socle ch. 1 |
| L'outillage de mesure et le carnet | 8 h | P4 |
Total par personne : 55 heures. C'est un été studieux, ou deux heures par semaine pendant un semestre.
Le travail d'équipe¶
- Constituer l'équipe et remplir la grille d'auto-évaluation.
- Attribuer les six rôles, par écrit.
- Créer le dépôt commun et y publier les projets individuels.
- Une réunion toutes les deux semaines, une heure, avec un compte rendu écrit.
Le jalon de fin de phase¶
Test de sortie de phase 1
Chaque membre de l'équipe doit pouvoir, sans aide et en moins d'une heure :
- mesurer le pic de calcul et la bande passante mémoire d'une machine inconnue ;
- calculer l'intensité arithmétique d'un noyau simple et prédire son régime ;
- profiler un programme et nommer ses trois fonctions dominantes ;
- expliquer la différence entre strong et weak scaling.
Faites passer le test. Une réponse négative désigne le travail de la personne pour le mois suivant.
Phase 2 · Parallélisme et infrastructure (mois 7 à 12)¶
Période typique : semestre 4, qui apporte ICPA24 au tronc commun et, si vous l'avez prise, PRCV24. Le cursus FISA n'apporte ni cluster, ni système de fichiers parallèle : cette phase est donc celle où l'équipe doit produire elle-même ce que la maquette ne donne pas.
L'objectif : que l'équipe sache construire et exploiter un cluster, et que chaque modèle de programmation soit couvert par au moins deux personnes.
La répartition par rôle¶
| Rôle | Tâche principale | ⏱ |
|---|---|---|
| 1 · Infrastructure | P7 cluster maison, du métal au HPL | 35 h |
| 2 · Pile logicielle | Socle ch. 7 et un environnement Spack complet | 30 h |
| 3 · Calcul dense | Socle ch. 2 architecture, le rattrapage du matériel absent de la maquette | 35 h |
| 4 · Applications | P6 Poisson MPI, et le Fortran | 45 h |
| 5 · Données | Socle ch. 6, IOR et mdtest | 25 h |
| 6 · Énergie | Socle ch. 10 et la courbe performance-puissance | 20 h |
Le travail collectif¶
- Le premier HPL de l'équipe, sur le cluster maison ou sur une machine accessible. Même modeste, c'est le jalon psychologique de la phase.
- La première revue croisée : chacun présente son travail aux cinq autres en quinze minutes, et répond aux questions. C'est l'entraînement aux entretiens de la compétition.
- Commencer le carnet de réglages : une page par benchmark, avec les paramètres et ce qu'on a compris.
Le jalon de fin de phase¶
Test de sortie de phase 2
L'équipe doit pouvoir, collectivement et en moins d'une journée :
- déployer un cluster de quatre nœuds depuis des machines vierges, par script ;
- y installer une pile logicielle complète depuis un fichier Spack ;
- y faire tourner HPL, STREAM et les OSU Micro-Benchmarks ;
- rapporter le pourcentage du pic atteint et expliquer l'écart.
C'est le test qui prouve que l'équipe existe.
Phase 3 · Spécialisation et accélérateurs (mois 13 à 18)¶
Période typique : été après le semestre 4, puis le semestre 5 qui apporte PGPU35, PDSP35 et COAV35.
L'objectif : couvrir les accélérateurs, monter le banc d'essai complet de compétition, et déposer la candidature.
Les trois chantiers¶
Chantier A · Le banc d'essai (P11, 50 h, rôles 1 et 2). Le dépôt structuré, les recettes de construction, les benchmarks installés et réglés, le lanceur unifié, la base de résultats, le tableau de bord. C'est le chantier le plus important de toute la préparation.
Chantier B · Les accélérateurs (P9, 25 h, rôle 3, avec le rôle 5 pour la partie MLPerf). Portage d'un noyau, plusieurs manières, mesuré. Plus l'optimisation d'un entraînement distribué (P12, 40 h) si MLPerf est au programme.
Chantier C · Les applications (rôle 4, 40 h). Prendre les applications annoncées de la compétition visée — WRF et MFC pour SC26 — les compiler, les faire tourner, les profiler, et rédiger la page de carnet correspondante. Voir P8.
Les échéances administratives, en parallèle¶
C'est la phase où tout se joue en dehors de la technique.
| Quand | Action |
|---|---|
| Début de phase | Écrire aux organisateurs sur l'éligibilité |
| Début de phase | Identifier et engager l'encadrant |
| +1 mois | Demander le soutien écrit de la direction |
| +2 mois | Constituer le dossier |
| Avant le 20 novembre | Déposer pour ISC |
| Novembre-janvier | Surveiller l'ouverture de l'ASC |
| Mars-mai | Déposer pour SC de l'année suivante |
Détails : Éligibilité et candidature.
Le jalon de fin de phase¶
Test de sortie de phase 3
- Le dossier de candidature est déposé.
- Le banc d'essai est opérationnel : quelqu'un d'extérieur peut construire une application et reproduire une mesure en moins d'une heure.
- Le carnet de réglages compte au moins une page par benchmark et par application.
- Au moins deux personnes savent programmer sur accélérateur.
Phase 4 · Répétition générale (mois 19 à 24)¶
Période typique : le semestre 6, pendant le tour virtuel d'ISC (mars-avril) ou en préparation d'une compétition de novembre.
L'objectif : ne plus rien apprendre, tout répéter.
Les simulations¶
C'est le cœur de la phase, et ce que presque personne ne fait.
Le protocole de simulation, à répéter trois fois
Simulation 1 · Huit heures, sur une machine connue. L'équipe reçoit une liste d'épreuves et huit heures. Elle doit produire un chiffre pour chacune, enregistré proprement, avec sa configuration. Objectif : éprouver les scripts et la coordination.
Simulation 2 · Douze heures, avec une application inconnue. Quelqu'un d'extérieur — l'encadrant, ou un membre d'une autre équipe — choisit une application que personne n'a vue, et l'impose. L'équipe doit la compiler, la faire tourner, la profiler et l'optimiser. Objectif : éprouver la procédure de prise en main.
Simulation 3 · Vingt-quatre heures, avec des pannes injectées. L'encadrant casse volontairement des choses pendant l'exercice : un nœud qui tombe, une horloge désynchronisée, un système de fichiers plein, une bibliothèque manquante. Objectif : éprouver la capacité de diagnostic sous pression et les rotations de sommeil.
Après chaque simulation, une revue d'une heure : qu'est-ce qui a coûté du temps, qu'est-ce qui doit être scripté, qu'est-ce qui manque au carnet.
Les répétitions de restitution¶
Les entretiens avec le jury comptent. Répétez-les : chaque membre présente en dix minutes ce qu'il a fait sur son épreuve, avec ses chiffres et ses choix, et répond à des questions hostiles.
Les questions à savoir traiter :
- « Quel pourcentage du pic atteignez-vous sur HPL, et à quoi est dû l'écart ? »
- « Pourquoi ce nombre de rangs et de threads plutôt qu'un autre ? »
- « Ce code est-il limité par le calcul ou par la mémoire ? Comment le savez-vous ? »
- « Qu'avez-vous essayé qui n'a pas marché ? »
- « Comment savez-vous que votre résultat est numériquement correct ? »
- « Si vous aviez douze heures de plus, que feriez-vous ? »
La dernière est la meilleure, et elle révèle immédiatement si l'équipe a un modèle de ce qu'il reste à gagner.
La liste de contrôle du départ¶
À vérifier la semaine avant
- Toutes les piles logicielles sont construites et testées sur une machine proche de la cible.
- Tous les scripts de lancement sont testés et versionnés.
- Le carnet de réglages est imprimé, en plusieurs exemplaires.
- La surveillance de puissance est opérationnelle et a été testée.
- La procédure de reconstruction d'un nœud est écrite et chronométrée.
- Les rotations de sommeil sont planifiées et écrites.
- Chaque membre sait ce qu'il fait les quatre premières heures.
- La base de résultats est prête et un test d'insertion a été fait.
- Une copie hors ligne de toute la documentation nécessaire est disponible.
- Les contacts d'urgence (encadrant, sponsor, organisateur) sont connus de tous.
Le plan condensé, en une page¶
| Mois | Phase | Objectif | Jalon |
|---|---|---|---|
| 1-6 | Fondations | Chacun sait mesurer | Test individuel des quatre compétences |
| 7-12 | Parallélisme et infrastructure | L'équipe sait construire un cluster | Déployer et mesurer en une journée |
| 13-18 | Spécialisation | Banc d'essai complet, candidature déposée | Dossier déposé, banc opérationnel |
| 19-24 | Répétition générale | Tout répéter, rien apprendre | Trois simulations et leurs revues |
Si vous n'avez pas vingt-quatre mois¶
Le cas le plus fréquent. Voici les versions comprimées.
Douze mois¶
Supprimez la phase 1 dans sa version longue : chacun fait seulement P1 et le chapitre Modèles de performance, soit 35 heures. Fusionnez les phases 2 et 3 en concentrant l'effort sur le banc d'essai (P11) et les applications de la compétition visée. Gardez au moins deux simulations.
Six mois¶
Visez un Open Hackathon plutôt qu'une Student Cluster Competition. C'est réalisable en six mois : il suffit d'avoir un code à soi et une équipe de trois personnes.
Trois mois¶
Ne visez rien d'autre que le dépôt d'une candidature pour l'année suivante, et consacrez le temps à : régler l'éligibilité, engager un encadrant, obtenir le soutien de l'école, et publier trois projets mesurés. C'est la phase 3 administrative sans la phase technique, et c'est un investissement rationnel.
À retenir¶
Les cinq principes du plan
- Une compétition se gagne avant. Pendant, on exécute.
- Le chantier le plus important est le banc d'essai (P11) : il détermine combien de temps il restera pour optimiser.
- Les échéances administratives sont sur le chemin critique, pas la technique. Éligibilité, encadrant, soutien de l'école : commencez par elles.
- Trois simulations, dont une avec des pannes injectées. C'est ce que personne ne fait et ce qui distingue une équipe préparée.
- Répétez la restitution. Les entretiens comptent, et la question « qu'avez- vous essayé qui n'a pas marché ? » se prépare.
Chapitre suivant : Monter une équipe à l'ENSIIE.