When I run “./webodm.sh start --gpu” i get:
Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: load library failed: libnvidia-ml.so.1: cannot open shared object file: no such file or directory: unknown
When I run “sudo ./webodm.sh start --gpu” i get:
docker-compose -f docker-compose.yml -f docker-compose.nodeodm.gpu.nvidia.yml up --scale node-odm=1
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
After installing docker engine on docker desktop “./webodm.sh start --gpu” or “sudo ./webodm.sh start --gpu” starts webdom smoothly.
Does it mean i have to install docker desktop and docker engine before i can use the gpu capability of webodm in linux
I have searched a lot for a solution to make webodm with --gpu flag to start using docker desktop without installing docker engine but to no avail.
Thanks so much. My username is a member of the docker group and only docker desktop is installed (on this debian laptop). WebODM --gpu is still not starting.
Also, I have another laptop that has ubuntu 22.04. It has only docker engine installed. WebODM --gpu starts smoothly. The problem is that even with --gpu, it took 3hrs 40mins to process 4945 multispectral images. It has Nvidia Geforce RTX 3080 with nvidia drivers and nvidia container tookits installed. The same dataset was process by WebODM in windows in 1hr 30mins.
Can you use a tool like topgrade to get fully up to date, and then maybe try debsums to see if somehow a package got broken/corrupted? This looks quite strange that you can’t connect and the service file doesn’t exist.
The ubuntu laptop
Additional info: I was facing the same problem after installing docker desktop only. I switched to docker engine only and webodm --gpu worked but took a longer time to process than even in windows
If the * sign is on desktop-linux, “./webodm.sh start” starts smoothly but “./webodm.sh start --gpu” does not start and returns “Cannot connect to the Docker daemon at unix:///home/superstar/.docker/desktop/docker.sock. Is the docker daemon running?”. If i change the * to “default” using “docker context use default” both “./webodm.sh start” and “./webodm.sh start --gpu” do not start
Can you run other docker GPU commands without error? You may have log off and log back in for your docker group credentials to work? Eg. does this work.
docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
I have followed the instruction on ‘Installation Guide — NVIDIA Cloud Native Technologies documentation’ for the ubuntu computer which is currently running docker engine only. I got the computer to run on the gpu but it processes slowly compared to WebODM on windows which runs without gpu.
I could not follow the instruction on the debian computer(runs on docker desktop) because it does not have an nvidia card.
Thanks so much for the support. I look forward to more.