We are exploring the use of running singularity containers via the Skylab workflow for specific tasks. This page contains information on setting up and running containers on remote hosts, mounting directories, and launching at EWOK runtime.
Singularity Documentation: https://docs.sylabs.io/guides/latest/user-guide/
Initial account setup
- Create an account on sylabs (via google/ucar email)
- Generate access token - once logged in, got to the top right in the drop down menu under your user name and click "Access Tokens". Enter a label/alias, ie "Hercules", and click "Create Access Token". You will be prompted for this token when you first create a container using the
--remote
option.
Environment setup
Load the singularity module with: module load singularity
Building a singularity container
Singularity containers can be built using a .def
file. This allows for easy reproducibility and standardization. You can find more information on this file setup in the Singularity Documentation. Below is a simple .def
file used for a bare bones container that is used to run WeatherBenchX.
TODO: insert def from Hercules
In order to build a container on a remote host or HPC, you need to use the --remote
flag since we typically do not have admin privileges. An example build command using the definition file above on Hercules is: singularity build --remote wb_container.sif /work2/noaa/jcsda/agriffin/JEDI_WB/wb_container/wb_container.def
Running a container
TODO