Table of Contents |
---|
Warning |
---|
The csubmitter tool described below is not always working properly; if you can’t need to install your container, please contact rchelp@hms.harvard.edu and provide all relevant information about your container, and we will install it for you. |
Overview
We are running a pilot project to support Singularity containers in O2; Singularity allows users to execute software containers within regular O2 jobs, and it is fully compatible with existing Docker images.
...
Containers available from other repositories or webpages must be first downloaded on O2 and then submitted with the --image-path flag.
Note: The testing process can take from several minutes to a few hours, depending on the type of container tested.
...
Code Block |
---|
#!/bin/bash #SBATCH -p short #SBATCH -t 2:00:00 #SBATCH -c 1 #SBATCH --mem=4G singularity exec /n/app/singularity/containers/$USER/your_container.sif tool_to_run |
Note 1:
By default only /tmp and /home/$USER are available inside the singularity container.
...
Access permissions for those filesystem is preserved inside the container.
Note 2:
By default not all env variables might be ported inside the singularity container. If a variable defined outside Singularity needs to be ported inside the container and it is not available by default, it can be pre-set outside the container with the prefix SINGULARITYENV_. For example the variable FOO can be ported inside the singularity container by presetting it as SINGULARITYENV_FOO
Code Block |
---|
compute-a-16-21:~ FOO="something" compute-a-16-21:~ export SINGULARITYENV_FOO=$FOO |
Note 3:
If you plan to use one or more GPU cards inside the container you need to submit the O2 job to a partition that supports GPU computing and add the flag --nv
to your singularity command, for example:
...