Using SIRF with Apptainer or Singularity - SyneRBI/SIRF GitHub Wiki
Using SIRF with Apptainer
Apptainer (formerly Singularity) is a container platform that supports laptops to HPC systems. Some clusters do not allow directly running Docker images, but do support Apptainer.
Converting Docker images to .sif
Apptainer can convert Docker images to its own .sif format. This could be as simple as
# First set-up Apptainer environment variables (adjust to your needs)
module load apptainer
# Convert
apptainer pull docker://synerbi/sirf:edge-gpu
In June 2026, our GPU docker image is about 9GB, and the converted .sif file is roughly the same size. Note that this needed about 32GB of disk space while doing the conversion. If you ran out of disk space (or quota), you can first do
export APPTAINER_TMPDIR=~/Scratch/apptainerbuild # adjust file path for you of course
mkdir -p $APPTAINER_TMPDIR
Running the image
After the above conversion, the following should work
apptainer exec --nv --env SIRF_INSTALL_PATH=/opt/SIRF-SuperBuild/INSTALL --env PYTHONPATH=/opt/SIRF-SuperBuild/INSTALL/python sirf_edge-gpu.sif python
where the --nv option should enable GPU support, see Apptainer GPU doc.
(Note that SIRF 3.10 images probably need adding --env LD_LIBRARY_PATH=/opt/SIRF-SuperBuild/INSTALL/lib, but this is no longer required for "edge" images).
Depending on your local set-up, Apptainer might have mounted a local directory for you already. Checkout the Apptainer doc for more information on mounting.
Using Singularity
The above should apply, but replacing apptainer with singularity and APPTAINER_TMPDIR with SINGULARITY_TMPDIR.