Hoffman2:Singularity

From Center for Cognitive Neuroscience
Revision as of 22:38, 12 August 2021 by Hwang (talk | contribs) (→‎Convert Docker image for 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.

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