Skip to content

Singularity

Singularity is an open source container platform designed to be simple, fast, and secure. It allows unprivileged users to run untrusted containers in a trusted way. It has been designed with reproducability and HPC workloads in mind.

It is available as an installed package on CREATE.

Take note

Singularity is only accessible from the compute nodes, to use Singularity and avoid the memory limitations of the login nodes, please request an interactive session.

1
2
k1234567@erc-hpc-login:~$ srun -p cpu --pty /bin/bash
k1234567@erc-hpc-comp1:~$ singularity --help

Usage

You can also download containers using singularity pull command from the Singularity Container Library

1
singularity pull library://sylabsed/examples/lolcow

or from the Docker Hub

1
singularity pull docker://godlovedc/lolcow

Alternatively you can build your own containers. Please see the Singularity documentation for more information.

Warning

Using third party containers is a great way to get started, but you need to make sure that the container is behaving as expected before using it in your work.

Running containers

Containers can be used like any other application via an interactive shell or a batch job. You can either run the container

1
singularity run ./container.sif

execute a command

1
singularity exec ./container.sif python hello.py

or start a shell

1
2
singularity shell ./container.sif
Singularity container.sif:~>