Singularity
Singularity is a container platform that doesn't elevate the privileges of a user running the container. This is important as UMIACS runs many multi-tenant computer systems and doesn't provide administrative control to users in them.
It can run a variety of images including its own format and Docker images. To create images you however need to have administrative rights and therefore you will need to do this on a host that you have access to (laptop or personal desktop).
First if you are going to pull large images you may run out of space in your home directory so we suggest you run the following commands to setup a alternate cache directory:
export WORKDIR=/scatch0/derek export SINGULARITY_CACHEDIR=${WORKDIR}/.cache mkdir -p $SINGULARITY_CACHEDIR
We do suggest you pull images down into an intermediate file (SIF file) as you can then not have to worry about re-caching the image.
$ singularity pull cuda10.2.sif docker://nvidia/cuda:10.2-devel INFO: Converting OCI blobs to SIF format INFO: Starting build... Getting image source signatures Copying blob sha256:7ddbc47eeb70dc7f08e410a6667948b87ff3883024eb41478b44ef9a81bf400c 25.45 MiB / 25.45 MiB [====================================================] 0s Copying blob sha256:c1bbdc448b7263673926b8fe2e88491e5083a8b4b06ddfabf311f2fc5f27e2ff 34.53 KiB / 34.53 KiB [====================================================] 0s Copying blob sha256:8c3b70e3904492c753652606df4726430426f42ea56e06ea924d6fea7ae162a1 845 B / 845 B [============================================================] 0s Copying blob sha256:45d437916d5781043432f2d72608049dcf74ddbd27daa01a25fa63c8f1b9adc4 162 B / 162 B [============================================================] 0s Copying blob sha256:d8f1569ddae616589c5a2dabf668fadd250ee9d89253ef16f0cb0c8a9459b322 6.88 MiB / 6.88 MiB [======================================================] 0s Copying blob sha256:902fc5ce82298797e09dc1b28ed942da3892a354321725fad6955ee651557e98 9.00 MiB / 9.00 MiB [======================================================] 0s Copying blob sha256:ae1bb79c5cfc1c10948684c3a2964ec7444b19cae7edc487aa474804336b52c1 184 B / 184 B [============================================================] 0s Copying blob sha256:fa6605c8fe7a3779c56b4768ac46738f160f005067f22c03e3cf5e87ad5d19d0 674.37 MiB / 674.37 MiB [==================================================] 8s Copying blob sha256:0508a679d3397b66fdf6cd56db9a99e2b7af5a8519e9f9534d2dff07779f2482 783.58 MiB / 783.58 MiB [=================================================] 10s Copying config sha256:44b5f1390c8715653c6488b3cb4fbee875c30cacadc827b2b4372b18318b2fa0 7.28 KiB / 7.28 KiB [======================================================] 0s Writing manifest to image destination Storing signatures 2020/04/14 11:52:55 info unpack layer: sha256:7ddbc47eeb70dc7f08e410a6667948b87ff3883024eb41478b44ef9a81bf400c 2020/04/14 11:52:56 info unpack layer: sha256:c1bbdc448b7263673926b8fe2e88491e5083a8b4b06ddfabf311f2fc5f27e2ff 2020/04/14 11:52:56 info unpack layer: sha256:8c3b70e3904492c753652606df4726430426f42ea56e06ea924d6fea7ae162a1 2020/04/14 11:52:56 info unpack layer: sha256:45d437916d5781043432f2d72608049dcf74ddbd27daa01a25fa63c8f1b9adc4 2020/04/14 11:52:56 info unpack layer: sha256:d8f1569ddae616589c5a2dabf668fadd250ee9d89253ef16f0cb0c8a9459b322 2020/04/14 11:52:57 info unpack layer: sha256:902fc5ce82298797e09dc1b28ed942da3892a354321725fad6955ee651557e98 2020/04/14 11:52:57 info unpack layer: sha256:ae1bb79c5cfc1c10948684c3a2964ec7444b19cae7edc487aa474804336b52c1 2020/04/14 11:52:57 info unpack layer: sha256:fa6605c8fe7a3779c56b4768ac46738f160f005067f22c03e3cf5e87ad5d19d0 2020/04/14 11:53:14 info unpack layer: sha256:0508a679d3397b66fdf6cd56db9a99e2b7af5a8519e9f9534d2dff07779f2482 INFO: Creating SIF file... INFO: Build complete: cuda10.2.sif
Now you can run the local image with the run command or start a shell with the shell command. Please note that if you are in an environment with GPUs and you want to access them inside the container you do need to specify the --nv flag.
$ singularity run --nv cuda10.2.sif nvidia-smi -L GPU 0: GeForce GTX 1080 Ti (UUID: GPU-9ee980c3-8746-08dd-8e14-82fbaf88367e)