Concevoir un simulateur de réseau thermique parallèle et scalable pour la conception de puces
Aperçu
En quoi consiste ce défi.
Vous parallélisez un solveur C++ de diffusion thermique 2D avec OpenMP, puis obtenez un certificat vérifiable.
Le brief
Ce que vous ferez, et ce que vous démontrerez.
Le simulateur thermique séquentiel prend 45 minutes pour une grille réaliste de 4096×4096 points, ce qui limite le nombre de configurations thermiques que les concepteurs de puces peuvent explorer avant la fabrication.
Earning criteria — what you'll demonstrate
- Appliquer le modèle roofline (modèle de performance qui met en relation l'intensité arithmétique d'un code avec la bande passante mémoire et la puissance de calcul crête) pour diagnostiquer si un noyau est limité par la mémoire ou par le calcul
- Combiner trois niveaux d'optimisation (localité de cache, vectorisation SIMD, parallélisme multicœur) sur un même code et mesurer la contribution de chacun
- Gérer les subtilités du parallélisme sur un stencil itératif : dépendances entre pas de temps, faux partage entre lignes de cache, placement des threads
- Valider numériquement un code optimisé en comparant ses résultats à une référence avec une tolérance d'erreur définie
- Construire un protocole de benchmarking complet incluant scalabilité forte (taille fixe, plus de threads) et scalabilité faible (taille proportionnelle aux threads)
Adéquation au programme
Où cela s'inscrit dans votre cursus.
Renforce les mêmes compétences que celles attendues par votre diplôme.
Cursus associés bientôt disponibles.
Compétences
Les compétences que vous démontrerez.
Chacune apparaît sur votre certificat vérifié.
Débouchés
Les métiers auxquels ce défi vous prépare.
De vrais intitulés. De vraies passerelles de compétences. Choisissez celui qui se rapproche le plus de votre trajectoire.
Les parcours de carrière que ce défi construit
Métiers de référenceIngénieur en Systèmes Distribués
La maîtrise du parallélisme, de la synchronisation entre threads et de l'analyse de scalabilité constitue le socle technique d'un ingénieur qui conçoit des systèmes distribués à haute performance.
Ce défi renforce
- parallel-programming
- benchmarking-methodology
- performance-profiling
Architecte Cloud
Comprendre les limites de scalabilité d'un calcul (loi d'Amdahl, goulots mémoire) est essentiel pour dimensionner correctement des charges de travail intensives en calcul dans le cloud.
Ce défi renforce
- benchmarking-methodology
- cache-aware-optimization
- algorithm-analysis
Ingénieur Logiciel Embarqué
L'optimisation bas niveau (SIMD, alignement mémoire, faux partage) et la validation numérique rigoureuse sont des compétences directement transférables aux systèmes embarqués critiques.
Ce défi renforce
- simd-vectorization
- cache-aware-optimization
- performance-profiling
Architecte de Systèmes
Concevoir un logiciel en trois versions progressivement optimisées, avec une architecture modulaire séparant calcul, I/O et benchmarking, prépare aux décisions architecturales des systèmes de simulation à grande échelle.
Ce défi renforce
- algorithm-analysis
- parallel-programming
- benchmarking-methodology