Nvidia-Docker CUDA_ERROR_UNKNOWN 오류

Docker를 통해서 Nvidia GPU를 이용하기 위해서 Nvidia-Docker 를 많이 사용합니다.

컨테이너 내부에서 nvidia-smi를 통해 그래픽 카드가 보임에도 불구하고,

Tensorflow 코드를 수행하면 아래와 같은 그래픽 카드를 못찾는 다는 에러 메시지를 내보낼 때가 있습니다.

2017-06-19 08:43:18.361653: E tensorflow/stream_executor/cuda/cuda_driver.cc:406] failed call to cuInit: CUDA_ERROR_UNKNOWN
...

InvalidArgumentError (see above for traceback): Cannot assign a device for operation 'MatMul': Operation was explicitly assigned to
 /device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/cpu:0 ]. Make sure the device specification refers to a
valid device.
         [[Node: MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/device:GPU:0"](a, b)]]

삽질 끝에 알아낸 원인은 우분투의 하이버네이션 모드에 있었습니다.

처음 부팅때는 잘 실행되지만, 하이버네이션 모드에 한번 들어갔다 나오면 재부팅 전까지는 이런 현상이 반복됩니다.

Nvidia-Docker를 이용해 그래픽 카드 사용시 참조하세요. ^^

Comments

Comments powered by Disqus