Singularity
Overview
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 world.
Note: There are two strands of Singularity:
Apptainer. The original open-source version of Singularity managed by HPCng: (releases / github). This is what we are using.
And the Community Edition, forked by sylabs.io back in May 2021: SingularityCE (releases / github). They now also provide Pro and Enterprise editions.
Using
Use the module name singularity
to discover versions available and to load the application.
Note: On Beartooth, version 3.10.3 is currently loaded by default on a session start up, however after 11/6/23 users will need to load singularity as a module and it will no longer be autoloaded when users log into the BT HPC.
Due to security/user permissions a researcher is currently unable to build a Singularity container directly on the cluster. They will need to build this on their own desktop/laptop and then copy the image across onto the cluster and then run.
Alternatively:
You can try using a prebuilt contain from some where else.
Consult with ARCC on building a container that provides the environment you require. We have done this with a number of researchers to provide unique R environments with a series of pre-installed R packages.