Docker에서 GPU를 사용할 때 "could not select device driver "" with capabilities: [[gpu]]" 오류가 발생하는 것은 보통 Docker가 GPU를 인식하지 못해서 발생한다.
- NVIDIA Docker 설치 확인:
- Docker와 NVIDIA 드라이버 버전 호환성 확인:
- Docker 버전과 NVIDIA 드라이버 버전이 호환되는지 확인합니다. 호환성 문제일 수 있음
- NVIDIA 드라이버 설치 확인:
- NVIDIA 드라이버가 제대로 설치되어 있고, nvidia-smi 명령어로 GPU 상태를 확인할 수 있는지 확인
nvidia-smi
- Docker 실행 명령어 수정:
- 위 명령어에서 -gpus all을 사용할 때, NVIDIA Docker가 GPU를 인식할 수 있도록 적절한 권한을 부여해야 한다. -runtime=nvidia 옵션을 추가:
docker run -it --runtime=nvidia --gpus all --ipc=host -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME/.Xauthority:/home/$(id -un)/.Xauthority -v $HOME/.Xauthority:/root/.Xauthority -v /home/eddie:/home -e NVIDIA_VISIBLE_DEVICES=all -e NVIDIA_DRIVER_CAPABILITIES=all -e DISPLAY=$DISPLAY -e QT_X11_NO_MITSHM=1 --privileged --net=host --name monodepth doyeon0113/monodepth /bin/bash
- Docker 및 NVIDIA 관련 로그 확인:
- 그래도 문제가 해결되지 않는다면, Docker 및 NVIDIA 관련 로그를 확인하여 추가적인 오류 메시지를 확인
docker 재실행
sudo systemctl restart docker
정상적으로 작동하는 것을 확인할 수 있다.