본문 바로가기

Data Mining & R

GTX 1080 + Cuda 7.5 + cuDNN 5.1 + Tensorflow 0.10 환경구축하기

Ubuntu 16.04 에서 GTX 1080 + Cuda 7.5 + cuDNN 5.1 + Tensorflow 0.10 환경구축하기 (2016. 9. 15 현재)

1. Ubuntu 16.04 가 깔려있다고 가정

2. Cuda 7.5를 install 하려면 gcc 4.9 버전이 필요하다. 그러나 Ubuntu 16.04에는 gcc 5.4 버전이 설치되어 있다. 그래서 gcc 4.9를 포함한 Tensorflow의 python환경에 필요한 툴들을 내려받는다.

$ sudo apt-get update
$ sudo apt-get install \
    freeglut3-dev \
    g++-4.9 \
    gcc-4.9 \
    libglu1-mesa-dev \
    libx11-dev \
    libxi-dev \
    libxmu-dev \
    nvidia-modprobe \
    python-dev \
    python-pip \
    python-virtualenv

3. NVidia graphic driver 367.xx 설치 . 현재 GTX 1080용 드라이버는 367.xx 버전 뿐이다.

$ sudo apt-get purge nvidia-*
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo apt-get install nvidia-367

4. 재부팅

$ sudo reboot

5. 드라이버가 제대로 설치되었는지 확인

$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  367.44  Wed Aug 17 22:24:07 PDT 2016
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.1) 

$ sudo nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.44                 Driver Version: 367.44                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 0000:03:00.0      On |                  N/A |
| 28%   40C    P8     9W / 180W |    970MiB /  8110MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0      4170    G   /usr/lib/xorg/Xorg                             571MiB |
|    0      4926    G   compiz                                         397MiB |
+-----------------------------------------------------------------------------+

6. Ubuntu 16.04의 gcc 디폴트 버전을 5.4에서 4.9로 바꿔준다.

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 10
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20

$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 10
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20

7. Cuda 7.5 Ubuntu 16.04 64bit 버전을 다운받고 다운받은 폴더로 이동해서 설치한다.

$ sudo sh cuda_7.5.18_linux.run --override

중요 : cuda 7.5 Ubuntu 16.04 64bit 버전은 nvidia 그래픽 드라이버 352.xx 버전을 요구하고 있다. 이것을 무시하고 앞서 설치한 367.xx버전에 덮어쓰도록한다. 설치중에

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39? ((y)es/(n)o/(q)uit):

이러한 쿼리가 뜨면 무조건 'no'를 입력해야만 한다. 그렇지 않고 'yes'를 입력하면 352.xx 버전 드라이버가 설치되어버린다. 그러면 GTX 1080은 367.xx 이상에서만 돌아가므로 재부팅시 Ubuntu의 GUI에 진입하지 못하는 경우가 발생한다.

8. root 폴더로 빠져나와 .bashrc 파일를 편집하여 CUDA에 환경변수를 등록한다.

$ echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
$ source ~/.bashrc

9. Cuda 7.5 설치를 확인한다.

$ nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17

10. cuDNN v5.1, CUDA 7.5 Linux 용을 다운받고 압축을 푼다.

1) 압축을 풀면 cuda 폴더가 나오고 그 안에는 include폴더와 lib64 폴더가 있다. 
2) include 폴더내의 파일은 /usr/local/cuda/include 에 넣어준다.
3) lib64 폴더내의 파일은 /usr/local/cuda/lib64 에 넣어준다.
4) 그러나 /usr/local/cuda/... 에 접근하려면 관리자 권한으로 접근해야 하므로 아래를 실행하여 파일을 옮기도록 한다.

$ sudo nautilus

11. anaconda linux python 2.7 64bit 용을 다운받고 다운받은 위치로 가서 설치한다. (anaconda 버전에 따라 파일이름이 바뀔 수 있으니 anaconda 홈페이지에서 설치법을 참조)

$ bash Anaconda2-4.1.1-Linux-x86_64.sh 

12. root로 가서 anaconda가 잘 설치되었는지 확인

$ ls
anaconda2  Documents  examples.desktop  NVIDIA_CUDA-7.5_Samples  Pictures  Templates
Desktop    Downloads  Music             NVIDIA_CUDA-8.0_Samples  Public    Videos

*왼쪽에 anaconda2 확인

13. 설치된 anaconda로 들어가서 가상환경 실행

$ cd anaconda2
$ source bin/activate ~/anaconda2/
(/home/****/anaconda2/)$               <--prompt 바뀌게 

14. 위 가상환경에서 tensorflow라는 이름의 conda 환경을 생성

$ conda create -n tensorflow python=2.7

15. tensorflow라는 이름의 conda환경을 activate한다.

(/home/****/anaconda2/)$ source activate tensorflow
(tensorflow)$                      <--prompt tensorflow 바뀜

16. pip를 이용해 tensorflow buntu/Linux 64-bit, GPU enabled, Python 2.7 용을 설치한다. tensorflow버전은 바뀔 수 있으니 홈페이지를 참조

(tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0-cp27-none-linux_x86_64.whl
(tensorflow)$ pip install --ignore-installed --upgrade $TF_BINARY_URL

17. 이후 다양한 개발환경이 anaconda에 포함되어 있기 때문에 설치하기만 하면된다.

1) ipython 설치
$ source activate tensorflow
(tensorflow)$ conda install ipython
2) spyder 설치
$ source activate tensorflow
(tensorflow)$ conda install spyder


'Data Mining & R' 카테고리의 다른 글

Trading strategy: Making the most of the out of sample data  (0) 2017.01.23
R을 이용한 (빅)데이터 분석-SKP (R 기초 ~ 분석 예제)  (0) 2017.01.09
R TUTORIAL  (0) 2017.01.06
R Excel Data 사용  (0) 2017.01.06
R Excel read  (0) 2017.01.06