Failing to run Modulus after loading the container on windows subsystem for Linux

I am trying to install modulus on a windows machine via WSL2 and so far I managed to install the nvidia-docker and run two of the nvidia sample container (jupyter) successfully. nvidia-smi also detects the GPU driver (Geforce RTX 3060).
However when running modulus image, I get this error

docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #1: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy'
nvidia-container-cli: mount error: file creation failed: /var/lib/docker/overlay2/0da15aa9aff5f06bd9213b809e2cf7b0914b497b2f189ab4a04996a198f02cf2/merged/usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1: file exists: unknown.

Any lead how to fix this?

Hi @smraniaki

Unfortunately this seems to be a known issue with Nvidia Docker, a bit outside our control. There’s some information in the linked thread below that may help. If nothing works you can always try a bare metal install using pip.

Hi @ngeneva

Is it possible that the modulus containers are being built with the nvidia runtime enabled, and thus the injected *.so files are mistakenly included in the image? The response from Nvidia docker about issues with modulus seems to suggest this. An issue related to how the container is built would also explain why I’m able to run the PyTorch container on WSL2 without any issues, but am unable to run the Modulus container

Hi @rohan.patel

I cannot not fully confirm if that’s the case, but its possible one of the dependencies of Modulus is potentially causing this. In the mean time, if you don’t need PySDF, you can try building your own container using the Modulus source code (we include our dockerfile in the repo you can modify).

We will look into getting some tests for WSL environments for testing for future releases. Thank you for getting back to us with info.