Take home messages

  • Containers provide a consistent software environment (BYOS = Bring Your Own Software)

    • The very same container image runs on different plateforms, from laptop/desktop to cloud and HPC

      • Only requires a container engine (Docker, Singularity, Sarus, etc.) for single node (“inside-out”)

      • An ABI compatible Message Passing Interface (MPI) library

      • or Slurm Workload Manager (srun) and a Process Management Interface (PMI) for multi-nodes (“outside-in”)

    • No need to wait for System Administrators to install particular pieces of software

  • Use local and private resources for developments, testing, learning, etc.

    • More confortable and responsive (no queue)

    • Release (very expensive) HPC resources for production runs

  • Get the most of interconnects when adequate drivers and libraries are included

    • May require customization for “exotic” infrastructures

  • No proprietary compilers or libraries

    • Free for everyone to use and distribute

  • Performances close to running directly on bare-metal, often better

  • Bit-for-bit reproducibility (with the same processor layout, same architecture and same compilation/optimization options)

    • Start simulations somewhere and continue them wherever compute resources are available

  • Can be used as part of workflows in which one task is the climate simulation itself

    • Full control over the entire sequence of tasks (no possible loss of information)

    • One step closer to reproducible research

  • In the future it will be possible to accompany every new NorESM release with the container that was used by the development team

    • Guaranted results (fully tested and validated)

    • Much easier for users who will be able to focus on science instead of wasting time to sort-out porting and software dependencies