We have installed Singularity onto Hex and Hal. Singularity is a containerization system that allows users and admins to create contained operating systems and environments. Don’t like SLES on HPC, then run Ubuntu. Don’t want our version of OpenMPI then install and run mpich in Debian.
You can launch an interactive shell as part of a job, or pipe a shell script directly into an image. Local HPC disks are mounted into the image so your output can go directly to your own folders.
You can mount your add Docker layers, bootsrtap off an OS or pull prebuilt images directly from DockerHub or SingluarityHub.
Once built the image remains static so you can submit the run-time environment as well as the data for peer review and future analysis.
To run singularity launch a job (it’s not installed on the head node) and type:
singularity <shell/exec> <imagefile> [options]
If you want to run MPI then launch the Singularity job with mpirun, don’t run MPI inside the Singularity container.