The approach for GPU support seems to work fine natively but however singularity supports CUDA, it seems to break down there. If you use the flag --nv to add CUDA support, you cannot actually see libcuda.so and friends inside the container. For us this is bad, as we need to see the actual libraries. This manifests as problems like:
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system.
Please also try adding directory that contains libnvidia-ml.so to your system PATH.