L'École Gray Scott
L'École Gray Scott
Notes de terrain d'une école de calcul haute performance de neuf jours à la CINERI — optimiser une simulation de réaction-diffusion, du cœur CPU au GPU.
De quoi il s'agit
Ce sont des notes de terrain de la Gray Scott School 2026 à la CINERI, une école de neuf jours sur le calcul haute performance. Chaque jour reprend le même programme — une simulation de réaction-diffusion de Gray-Scott — et le fait tourner plus vite sur davantage de la machine, d'un seul cœur CPU jusqu'au GPU.
Le sujet ne change jamais. Ce qui change, c'est la part du matériel qu'on apprend à exploiter.
Le fil rouge
Une seule méthode traverse les neuf jours, quel que soit le langage ou l'accélérateur :
- Mesurer avant d'optimiser — ne jamais se fier à l'intuition avant d'avoir chronométré.
- Trouver le facteur limitant — le code est-il compute-bound ou memory-bound ?
- Exploiter le matériel — vectorisation dans un cœur, parallélisme entre cœurs, puis le GPU.
Les neuf jours
| Jour | Sujet |
|---|---|
| Jour 1 — Fondations | CPU, compilation, SIMD, concurrence, memory- vs compute-bound |
| Jour 2 — C++ sur CPU | data layout, vectorisation, blocking cache, TBB |
| Jour 3 — Fortran sur CPU | Fortran moderne, stencils, précision flottante |
| Jour 4 — Kokkos sur CPU | une source, plusieurs backends |
| Jour 5 — Python sur CPU | NumPy, Numba, JAX |
| Jour 6 — SIMD avec EVE + architecture GPU | SIMD explicite et portable |
| Jour 7 — Python sur GPU | CuPy, cuNumeric, JAX |
| Jour 8 — Fortran sur GPU | do concurrent, OpenACC, OpenMP target |
| Jour 9 — Kokkos sur GPU | noyaux portables sur l'accélérateur |
À la CINERI, avec l'équipe du LAPP. Le cours de référence est sur cta-lapp.pages.in2p3.fr.