Specification of cmake builders for Octopus 14 in Gitlab CI

Following a discussion between @lang-m @martin.lueders and @AlexBuccheri , we settled on migrating to this set of builders for Gitlab CI.

The main requirement to introducing these builders is cmake presets, as @lang-m already has spack toolchains written.

A few comments on naming conventions

min and max = minimum and maximum external dependencies.

MPI + OMP could be referred to as parallel.

cmake prefix can be dropped in the naming of the builders.

cmake Builders

Old compiler support (consider a better name)

  • Intel cmake production min MPI + OMP
  • GCC cmake production min MPI + OMP

New compiler support (consider a better name)

  • Intel cmake production min MPI + OMP
  • GCC cmake production min MPI + OMP

Stable/current.

  • GCC cmake debug max serial
  • GCC cmake production max serial
  • Intel cmake debug max serial
  • Intel cmake production max serial
  • GCC cmake debug max MPI + OMP
  • GCC cmake production max MPI + OMP
  • Intel cmake debug max MPI + OMP
  • Intel cmake production max MPI + OMP

Specialised builders

  • GCC cmake debug max serial with f-sanitizer flag (start as on-demand)
  • GCC cmake production valgrind (with what external dependencies?)

Hardware-specific builders

  • NVIDIA cmake production CUDA: V100 or gamer cards (run on both?)
  • NVIDIA cmake production CUDA MPI with NVlink
  • PowerPC: GCC cmake production max (or as many external dependencies as possible)
  • GCC: Subset of the stable builders on AMD machines
Edited by Martin Lang