Docker Compatibility with Singularity for HPC

Originally published at: https://developer.nvidia.com/blog/docker-compatibility-singularity-hpc/

Bare-metal installations of HPC applications on a shared system require system administrators to build environment modules for 100s of applications which is complicated, high maintenance, and time consuming. Furthermore, upgrading an application to the latest revision requires carefully updating the environment modules. Networks of dependencies often break during new installs while upgrades unintentionally crash other…

Is it possible that the Nvidia driver of the host and the container be different?

Hi Eshan,
Userspace NVIDIA driver components from the host are dynamically mounted in the container at runtime, which is to say none are present in the container image itself and so an exact match isn't required. Applications within each container are built against a particular CUDA release which does impose minimum driver version requirements. For example an application built against the CUDA/9.0 toolchain requires a host CUDA driver greater than or equal to R384. Host driver version requirements are detailed in the images NGC documentation.