The Gray Scott School

The Gray Scott School

Field notes from a nine-day high-performance computing school at CINERI — optimizing one reaction-diffusion simulation from the CPU core to the GPU.

What this is

These are field notes from the Gray Scott School 2026 at CINERI, a nine-day school on high-performance computing. Every day takes the same program — a Gray-Scott reaction-diffusion simulation — and makes it run faster on more of the machine, from a single CPU core all the way to the GPU.

The subject never changes. What changes is how much of the hardware we learn to use.

The through-line

One method runs through all nine days, whatever the language or the accelerator:

  1. Measure before optimizing — never trust intuition before timing.
  2. Find the limiting factor — is the code compute-bound or memory-bound?
  3. Exploit the hardware — vectorization inside a core, parallelism across cores, then the GPU.

The nine days

DayTopic
Day 1 — FoundationsCPU, compilation, SIMD, concurrency, memory- vs compute-bound
Day 2 — C++ on CPUdata layout, vectorization, cache blocking, TBB
Day 3 — Fortran on CPUmodern Fortran, stencils, floating-point precision
Day 4 — Kokkos on CPUone source, many backends
Day 5 — Python on CPUNumPy, Numba, JAX
Day 6 — SIMD with EVE + GPU architectureexplicit portable SIMD
Day 7 — Python on GPUCuPy, cuNumeric, JAX
Day 8 — Fortran on GPUdo concurrent, OpenACC, OpenMP target
Day 9 — Kokkos on GPUportable kernels on the accelerator

Held at CINERI, taught with the LAPP team. The reference course lives at cta-lapp.pages.in2p3.fr.

Copyright © 2026