Hoffman2:Singularity

From Center for Cognitive Neuroscience
Revision as of 18:19, 8 April 2026 by Hwang (talk | contribs) (Singularity)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Singularity

Singularity is a type of container technology. It is provided in Hoffman2 currently.

* Note: Singularity's newer versions are under its new name "Apptainer". It's recommended to use Apptainer instead of Singularity.
  Just need to replace all the "singularity" with "apptainer" in the following command and it should work the same way.

How to use Singularity

The example code here is from IDRE team's | gitlab. Please check it up for more information.

Interactive mode

In a CentOs 7 Node, load Singularity module as

module load singularity
singularity shell --userns $H2_CONTAINER_LOC/tensorflow-2.4.1-gpu-jupyter.sif

Then run your command inside of the container

python3 tf-example.py > tf-example-batch.out

Batch mode

Add the following line into your batch job script

module load singularity/3.7.1

Use "singularity exec" to run command in Singularity container

Example

singularity exec --userns $H2_CONTAINER_LOC/tensorflow-2.4.1-gpu-jupyter.sif  python3 tf-example.py > tf-example-batch.out

Convert Docker image for Singularity

Docker image can be converted for Singularity

export SINGULARITY_CACHEDIR=$SCRATCH/singularity_cache
singularity pull tensorflow-1.15.5-gpu-jupyter.sif docker://tensorflow/tensorflow:1.15.5-gpu-jupyter