Singularity for Satorians
Fast start
Pull your image
export SINGULARITY_DOCKER_ARCHITECTURE=ppc64le
singularity pull docker://centos:7
Get an allocation, for example:
srun --gres=gpu:4 -N 1 --mem=1T --time 1:00:00 -l --pty /bin/bash
Submit your payload
singularity exec centos_7.sif ls /
Other notes
Pull your image
If you are using an existing image, confirm that arch is ppc64le
Interactive Allocation:
Get an allocation (for interactive allocation):
Consider the size of your workload, do you need CPU? memory? GPU?
These are all specified in the bsub request, here is a good [1]
For example, here is a bsub to request allocation for 4 GPUS, via the normal queue, launching an interactive session using bash as terminal
srun --gres=gpu:4 -N 1 --mem=1T --time 1:00:00 -l --pty /bin/bash
Submit your payload
Using interactive allocation, we are allocated a node - your interactions with singularity will be generally standard , just like you would in any environments
Remember you do not have sudo access on this cluster, this might impact your workflow
singularity exec centos_7.sif ls /
Non interactive / batch mode
Workflow is similar to interactive allocation, however we need to create an application profile prior to submitting the workload
This mode might be better for headless / non-interactive workloads as the resources can be more easily allocated to the workload
Create an application profile [2]
For example
Begin Application
NAME = singapp
CONTAINER = singularity[image(centos_7.sif)]
DESCRIPTION = Singularity User Service
End Application
Submit the workload via the application profile [3]
For example
sbatch singapp ./myjob.sh