Singularity is a free, cross-platform and open-source computer program that performs operating-system-level virtualization also known as containerization.
One of the main uses of Singularity is to bring containers and reproducibility to scientific computing and the high-performance computing (HPC) world.
The need for reproducibility requires the ability to use containers to move applications from system to system.
Using Singularity containers, developers can work in reproducible environments of their choosing and design, and these complete environments can easily be copied and executed on other platforms.
You can find the documentations on the Singularity docs page
Version Installation Path modulefile
3.2.1 /opt/singularity/3.2.1 singularity/3.2.1
No group membership or license is needed. Singularity can be used by all HLRN users by default.
Selecting the version and loading the environment
Load the modulefile
This provides access to the binary singularity wich can be used to run containers.
By default bash completion for singularity is not loaded. To enjoy bash completion with Singularity commands and options, source the bash completion file as stated below:
After loading singularity module, environment variable
SING_AUTOC contains the necessary bash completion file.
Building images and running containers
Building images for Singularity requires root privileges. Therefore you need to prepare the image locally on your computer and then move the image into HLRN.
Or you can use Singularity or Docker hubs to run images located there. For more information please use:
Here is an example job of running the local Singularity image (.sif)