본문 바로가기
Linux/Ubuntu

Ubuntu (우분투) cuda 9.0 설치, cudNN 설치 , tensorflow-gpu 설치

by ahsung 2020. 1. 3.

cuda는 nvidia 그래픽카드에 구동할 프로그램을 개발하고, 구동시킬 수 있는 툴입니다.

 

요즘 많은 인공지능 라이브러리들이 cuda를 통해 개발하였기에 사용하기 위해서는 설치가 필수입니다.

 

 

사용하려는 라이브러리마다 필요한 cuda의 버전이 제각각이므로

 

꼭!! 확인후에 걸맞는 cuda-version을 설치해야합니다.

Pytorch를 그래픽카드 버전으로 설치하고 싶었으나..

제 그래픽카드가 설치할 수 있는 driver-version은 390이 최대고, 이 드라이버는 cuda 9.1을 최대로 설치 할 수 있습니다.

 

tensorflow의 경우도 1.13 버전 이후로는 cuda 10.0으로 지원하므로

tensorflow 1.12 이하 버전을 gpu버전으로 설치하기로하고,  

 

cuda 9.0을 설치하기로 했습니다. (cuda 9.1까지 사용가능하지만, tensorflow는 9.0으로 지원합니다)

알맞는 버전을 공식홈패이지에서 꼭 잘 확인하셔야 합니다.!!

사용하시고 싶은 오픈소스가 tensorflow 몇 버전으로 만들어졌는지도 잘 확인하시고 모든것을 잘 설치하셔야 합니다.

 

다행이 cuda는 여러버전을 동시에 설치 가능하고, nvidia drvier 버전은 최대한 높게 설치해주세요.

 

https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1704&target_type=runfilelocal

 

CUDA Toolkit 9.0 Downloads

Select Target Platform Click on the green buttons that describe your target platform. Only supported platforms will be shown. Operating System Architecture Distribution Version Installer Type Do you want to cross-compile? Yes No Select Host Platform Click

developer.nvidia.com

 

역시 공식 문서를 참고하여 설치하는 방안이 가장 안전하고 신뢰된다고 저는 생각합니다.

 

ubuntu 버전에 맞고 잘 선택하시고, 상위 버전이라면 둘중 아무거나 선택해도 되는듯 합니다.

 

사실 deb(local)로 예전에 설치했을 때 정말 간단하게 설치가 됬는데,

 

deb으로 설치할 경우

deb으로 설치하실 분들은 공식문의 안내서에 따라,

1~4번의 명령어를 치시고 다운받으시면됩니다.

2번의 경우 <version>란에는 아마 " 9-local " 이실텐데 정확한것은 /var/ 경로를 들어가 설치된 cuda 폴더를 확인하세요

 

우분투 패키지로 설치하는 방식이라, " dpkg -ㅣ | grep cuda "를 통해서 쉽게 찾고 관리하기 편하며

설치시 경로 설정도 자동으로 되어 명령어도 바로 먹히는 것으로 기억합니다.

 

다만 저의 경우 다시 설치하려니.. gcc 버전이 안맞아 빌드 문제인지, 에러메세지에 대한 정보가 부족해

 

그냥 runfile로 설치하는 방법을 소개해드립니다. 

 

만약 deb으로 설치하시다 저와 같은 오류로 설치가 중간에 막히셨다면

dpkg -l | grep cuda

후 설치된 cuda의 패키지명을 복사해

sudo apt-get purge <cuda 패키지명>으로 삭제해주세요.

 

 

Runfile 설치

runfile의 장점이라면, 설치시  옵션, 경로지정등이 가능해서 목적에 맞게 어느정도 설치가 가능하다는 점입니다.

특히 cuda를 여러버전 설치하시려는 분들에게는 추천드립니다.

 

 

 

먼저 Runfile을 공식 홈패이지에서 설치해주시고,

 

chmod +x cuda_9.0.176_384.81_linux.run

실행 권한을 주시고

 

./cuda_9.0.176_384.81_linux.run  혹은 sh ./cuda_9.0.176_384.81_linux.run

 

로 실행 해주세요. 설치 path를 root쪽에 root권한으로 할 것이라면 처음부터 sudo로 실행하셔도 상관없습니다.

 

처음에 시작이 조금 오래걸릴 수 있습니다.

 

ctrl + c ,  설명서 생략가능합니다.

 

이런식으로 설치해 주시고, 이미 driver가 설치되있으신분은

3번쨰 문항, Install NVIDIA ~~~ 부분은 no 꼭해주세요.

 

이러면 설치가 완료!!

/usr/local/cuda-9.0/bin/nvcc --version

잘 설치 되었는지 version 확인 가능합니다.

 

현재 계정에서는 bin의 명령을 PATH에 추가해 바로 사용하고 싶다면,

 

 

vi ~/.bashrc  

export PATH="/usr/local/cuda-9.0/bin:$PATH"

export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LOBRARY_PATH" #cuda의 라이브러리 파일 경로이건 꼭

 

경로를 추가하고

source ~/.bashrc

 

혹시라도 PATH에 오타를 쳐 갑자기 vi, cd ,ls , clear등등 먹히지 않는다면

 

/usr/bin/vi ~/.bashrc

으로 다시 설정후

 

터미널 재부팅 혹은, 컴퓨터 재부팅후 완료!

 

잘 먹히는 모습

 

 

 

cudNN설치를 위해

cuda 9.0에 맞는 cudNN을 설치합시다.

https://developer.nvidia.com/rdp/cudnn-archive

 

cuDNN Archive

NVIDIA cuDNN is a GPU-accelerated library of primitives for deep neural networks.

developer.nvidia.com

저는 3번쨰 cuDNN Library for Linux를 설치하겠습니다.

 

 

sudo tar -xzvf cudnn-9.0-linux-x64-v7.6.3.30.tgz

 

 

cuda 디렉토리가 설치됬다

 

cd cuda

sudo cp include/cudnn.h /usr/local/cuda/include            #cuda include파일로 복사

sudo cp lib64/libcudnn* /usr/local/cuda/lib64                   #lib64의 모든파일 cuda lib64로 복사

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*             # 권한 주기

 

 

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 

 

설치 완료!

 

cuda 9.0버전이기 때문에

 

 

tensorflow-gpu 설치!

 

pip3 install --upgrade pip

pip3 install tensorflow-gpu==1.12.0

 

 

! Pycharm이나 다른 IDE로 프로젝트를 돌릴때 cudNN의 파일을 찾을 수 없다고하면,

툴내부 환경변수 추가란에 

LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"를 추가해줍시다.

 

 

 

댓글