본문 바로가기
Server/Ubuntu

우분투에 cuda 7.5 + nvidia-docker 설치하기

by 유주원 2017. 1. 5.

GPU를 사용할 수 있도록 nvidia에서 nvidia-docker를 지원하였는데, 이를 통해 docker 내에 있는 tensorflow에서 GPU 리소스를 사용해서 연산을 수행할 수가 있다.


참고로 nvidia-docker는 linux kernel 3.10 이상, docker 버전 1.9 이상에서만 설치되니 해당 요구사항이 충족되지 않는다면 커널과 docker 버전을 업데이트 하자.

아래와 같이 docker를 지웠다가 다시 깔아도 기존에 있던 image와 container는 그대로 유지되니 걱정하지 말자. 

(실제로 해봄. container는 stop된 상태가 되는데, docker 재설치한 후 각각의 container를 다시 start 시켜주면 된다.)


$> sudo apt-get purge docker.io

$> sudo apt-get update

$> sudo apt-get install docker-engine


그럼 이제 nvidia-docker를 깔아야겠지?


# Install nvidia-docker and nvidia-docker-plugin
wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.0-rc.3/nvidia-docker_1.0.0.rc.3-1_amd64.deb
sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb

# Test nvidia-smi
nvidia-docker run --rm nvidia/cuda:7.5 nvidia-smi


아 그런데 아래와 같은 에러 메시지가 발생한다!!!


Error: unsupported CUDA version: driver 7.0 < image 7.5


image는 cuda 7.5를 요구하는데 깔려 있는 cuda 버전은 7.0이라서 실행이 안된다는 내용이다.


방법은 두 가지인데, 첫번째는 image를 7.0으로 받는 방법, 두 번째는 driver를 7.5로 업데이트 하는 방법이 있다.


후자를 선택하기로 한다. (결심!)


우선 cuda 업데이트를 위해 기존 깔려있는 nvidia 드라이버와 cuda 라이브러리를 삭제하자..


$> sudo /usr/local/cuda-7.0/bin/uninstall_cuda_7.0.pl

$> sudo /usr/bin/nvidia-uninstall


$> sudo apt-get remove nvidia* && sudo apt-get autoremove


삭제가 완료되었으면, nvidia 홈페이지에 가서 자신의 os에 맞는 그래픽 드라이버를 다운로드 받자.

다운로드가 완료되었으면 아래와 같이 드라이버를 설치하자.


$> sudo chmod 755 NVIDIA-Linux-x86_64-xxx.xx.run

$> ./NVIDIA-Linux-x86_64-xxx.xx.run


드라이버 설치 창이 새롭게 뜨고, yes 버튼 몇 번 눌러주고 나면 드라이버 설치가 완료된다.

nvidia 드라이버 설치가 완료되었다면 이제 cuda 7.5를 깔자. 


$> wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.5-18_amd64.deb

$> sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb

$> sudo apt-get update


repository를 갱신해 준 후, 아래와 같이 package를 설치하자.


$> sudo apt-get install cuda-7.5


cuda 설치도 완료되었다면 이제 nvidia-smi를 통해 설치된 환경을 살펴보자.