Skip to content

Singularity

Singularity

Singularity lets you run applications in a Linux container of your choosing. It enables you to have full control of your work environment. Singularity containers can be used to package entire scientific workflows, software and libraries, and even data.

Thanks to containers you will be able to:

  • Create completely portable environments.
  • Create completely reproducible and replicable environments wherever you go.

Warning

Singularity gives you the ability to install and run applications in your own Linux environment with your own customized software stack. With this ability comes the added responsibility of managing your own Linux environment. While the DIPC HPC staff can provide guidance on how to create and use singularity containers, we do not have the resources to manage containers for individual users. If you decide to use Singularity, it is your responsibility to build and manage your own containers.

Installing Singularity and building images

Documentation type Resource
Installation instructions Admin guide
Usage User guide

Singularity container under SLURM

Singularity with SLURM: batch script example
#!/bin/bash

#SBATCH --partition=atlas
#SBATCH --job-name=gpu-cnn-test
#SBATCH --cpus-per-task=1
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --gpus-per-node=P40:1
#SBATCH --time=100:00:00
#SBATCH --mem=24000

module load Singularity

srun -n $SLURM_NTASKS singularity exec xxx.sif <commands>