우분투 16.04 cuda 설치 및 tensorflowgpu 설치

페이지 정보

작성자 한태현 댓글 0건 조회 17,821회 작성일 18-12-06 19:01

본문

1. Nouveau 드라이버 제거

우분투에 기본적으로 깔려있는 Nouveau 드라이버로 인해 cuda 설치 시 필요한 NVidia 그래픽 드라이버 설치가 충돌난다.이 Nouveau 드라이버를 비활성화 해준다.

$ sudo apt-get remove nvidia* && sudo apt autoremove
$ sudo apt-get install dkms build-essential linux-headers-generic



2. /etc/modprobe.d/blacklist.conf 파일을 열어 아래의 내용을 추가해준다.

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off



3. 혹시 모르니 아래의 명령어도 실행해준다.

$ echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf


4.위의 설정을 기반으로 커널을 재빌드 한다.
이때 필자의 경우는 /var/lib/initramfs-tools/ 아래 커널이미지가 여러개 있어, 에러가 났었다.
자신의 현재 커널외에는 삭제(복사해서 백업해놓을것)한 뒤 진행한다.

$sudo update-initramfs -u


5. 시스템을 재부팅 한다.


$ sudo reboot


====Nvidia 그래픽 드라이버 설치====

1. GUI 관련 서비스를 종료시켜준다
https://www.nvidia.com/Download/index.aspx?lang=en-us  이곳에서 자신의 그래픽카드에 맞는 드라이버를 다운로드 하고 옮긴다. 그후 아래의 명령어들을 수행한다.

$ sudo service lightdm stop
$ sudo chmod +a [driver runfile]
$ sudo ./NVIDIA-Linux-x86_64-410.87.run # 버전은 달라질 수 있다.


2. 이후 lspci -k 로 driver 가 잘 잡혔는지 확인한다.

02:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1)
Subsystem: NVIDIA Corporation Device 1b06
Kernel driver in use: nvidia      <----- 이부분이 nouveau 가 아니어야 한다.
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia


============== CUDA 설치 ==============
https://developer.nvidia.com/cuda-downloads 이 링크에서 cuda run file 을 다운로드 받는다.

1. cuda를 설치한다.  *** 이때, driver 를 설치 할지의 여부에 no 라고 대답하는게 포인트다.
$sudo chmod +a [cuda runfile]
$ sudo ./[cuda runfile] # 버전은 달라질 수 있다.


2. 환경변수 추가
$ sudo vim ~/.bashrc
아래의 내용을 추가해준다.
export PATH=$PATH:/usr/local/cuda-10.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64 

기본 위치로 설치시 ~/에 NVIDIA_CUDA-10.0_Samples가 설치된다.
해당 위치에서 make 를 한뒤, 간단한 샘플 하나를 돌려보면 설치가 되었는지 알 수있다.

$ /NVIDIA_CUDA-10.0_Samples/0_Simple/asyncAPI/asyncAPI
[./asyncAPI/asyncAPI] - Starting...
GPU Device 0: "GeForce GTX 1080 Ti" with compute capability 6.1

CUDA device [GeForce GTX 1080 Ti]
time spent executing by the GPU: 23.09
time spent by CPU in CUDA calls: 0.05
CPU executed 49707 iterations while waiting for GPU to finish


==============cudNN 설치====================
https://developer.nvidia.com/cudnn
1. cuda 버전에 맞는 최신 cudNN 을 다운로드 받는다.

cudnn-10.0-linux-x64-v7.4.1.5.solitairetheme8 (필자의 경우 확장자가 solitairetheme8 이라고 다운로드 되었는데 당황하지 말고 tar 명령어로 압축을 풀어주자)
압축을 풀고, 라이브러리들을 옮겨준다.

$ tar xvfz cudnn-10.0-linux-x64-v7.4.1.5.solitairetheme8
$ sudo cp -P cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*




2. 추가적인 dependencies도 설치한다.

$ sudo apt-get install libcupti-dev



3. 환경변수 설정을 한번 더 해준다.

$vi ~/.bashrc
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64" export CUDA_HOME=/usr/local/cuda


4. 버전확인

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130


============pip 및 tensorflow 설치=============

python2의 경우

# Ubuntu/Linux 64-bit
$ sudo apt-get install python-pip python-dev


python3의 경우

# Ubuntu/Linux 64-bit
$ sudo apt-get install python3-pip python3-dev



Tensorflow-GPU 설치

$ pip3 install tensorflow-gpu

확인
$python3
>>> import tensorflow as tf


추가. 12월 6일 기준


필자의 경우 (위에 서술도 그렇고) cuda 10.0 버전을 설치하여서 tensorflow 를 import 할 수 없었다.
하여 삭제하고 , 9.0 버전을 다시 설치하였다. 이때, 그래픽 드라이버(384 버전)를 역시 추가로 설치하지않았고,
410 버전을 그대로 사용하였는데, 괜찮았다.

아래는 잘못 설치한 cuda 의 삭제 방법이다.
sudo apt-get --purge remove 'cuda*'
sudo apt-get autoremove --purge 'cuda*'      필자의 가이드를 쫓아왔다면, 이 아래 2줄만으로도 될것이다.
sudo rm -rf /usr/local/cuda-[your version]
sudo rm -rf /usr/local/cuda

댓글목록

등록된 댓글이 없습니다.