In the documentation page on how to use CUDA Quantum NGC Container, it is said that both Docker and Singularity(Apptainer) are supported. However, run instructions are only given for Docker. Is there a place to pull the Singularity/Apptainer container image for CUDA Quantum, or do we have to convert the Docker image?
Please take a look at our Singularity instructions, it has the instructions on how to create the container.
Many thanks! Is the --fakeroot option required in order to build and run the container? And does the container come with its own glibc library? I believe our glibc version on RHEL 7 is too old to run cuda-quantum.
I didn’t use --fakeroot
option in my experience. Do you have some trouble/get some error?
glibc inside the container should be used, but unlike docker, singularity binds some directories and it may affect unexpected behavior.
Our HPC cluster currently does not allow users to run singularity containers with the fakeroot option. However, it seems the only need for the fakeroot privilege is to copy the tutorial and readme files to the current directory. I get the error as shown below without --fakeroot. Everything else works fine, i.e. I can use cuda-quantum within the container.
singularity run cudaq.sif
mount: /dev/pts: must be superuser to use mount.
cp: cannot stat ‘/home/cudaq/*’: Permission denied
Thanks. You’re right. --fakerroot
is not required option.
That’s great. I run my container with the following commands:
singularity pull docker://nvcr.io/nvidia/quantum/cuda-quantum:0.8.0
singularity run --nv cuda-quantum_0.8.0.sif
Thanks, that’s great to know! So is it possible to use singularity to pull and run all docker containers hosted by NVIDIA?