티스토리 뷰
테스트 환경
OS : Ubuntu server 18.04.1
Docker ver. : 18.06.1-ce
nvidia driver ver. : 396.44(10/1/2018 현재 가장 최신드라이버)
테스트장비 : Tesla V100 16GB
docker image로 테스트를 할 경우 아래같은 에러를 뿜어낸다.
테스트이미지 정보 : NGC & nvidia/cuda:10.0-devel-ubuntu16.04
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"process_linux.go:385: running prestart hook 1 caused \\\"error running hook: exit status 1, stdout: , stderr: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig.real --device=all --compute --utility --require=cuda>=10.0 brand=tesla,driver>=384,driver<385 --pid=1547 /var/lib/docker/overlay2/da8a3bbb48c089b6d571884ae15de8dd5259f5525abafc60ca884b64f315999e/merged]\\\\nnvidia-container-cli: requirement error: unsatisfied condition: driver < 385\\\\n\\\"\"": unknown.
위 에러는 사실 엔비디아 드라이버 버전 조건이 맞지 않아서 발생하는 것으로, CUDA랑 nvidia driver 버전을 맞추어 주어야 정상적으로 실행이 된다.
CUDA 9.2 docker image는 정상실행가능.
https://stackoverflow.com/questions/28932864/cuda-compute-capability-requirements/28933055#28933055
CUDA Compute Capability 버전도 확인해줘야 되나 Pascal 이후의 최신 아키텍처에서 염려 할 사항은 아니다.
결론 : 엔비디아 드라이버가 400번대로 새로 나오면 변경될것으로 보여진다. 이미 RTX 시리즈에는 적용이 된 것으로 보여진다.