Apptainer
Apptainer is provided as a module and can be used to download, build and run e.g. Nvidia containers:
Apptainer example
bgnlogin1 ~ $ module load apptainer Module for Apptainer 1.1.6 loaded. #pulling a tensorflow image from nvcr.io - needs to be compatible to local driver bgnlogin1 ~ $ apptainer pull tensorflow-22.01-tf2-py3.sif docker://nvcr.io/nvidia/tensorflow:22.01-tf2-py3 ... #example: single node run calling python from the container in interactive job using 4 GPUs bgnlogin1 ~ $ srun -pgpu-a100 --gres=gpu:4 --nodes=1 --pty --interactive --preserve-env ${SHELL} ... bgn1003 ~ $ apptainer run --nv tensorflow-22.01-tf2-py3.sif python ... Python 3.8.10 (default, Nov 26 2021, 20:14:08) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf >>> tf.config.list_physical_devices("GPU") [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:1', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:2', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:3', device_type='GPU')] #optional: cleanup apptainer cache bgnlogin1 ~ $ apptainer cache list ... bgnlogin1 ~ $ apptainer cache clean