e.t.c/Linux

[Ubuntu] Ubuntu 16.04에서 Cuda Toolkit 설치

tavris 2018. 7. 12. 18:19

Ubuntu 16.04에서 Cuda Toolkit 설치



 Ubuntu에서 GPU 프로그래밍을 동작시키기 위해서는, Cuda의 설치가 필요하다.

Cuda 설치 시, NVidia 드라이버 설치도 추가적으로 수행해야 하기 때문에 복잡하다고 느낄 수 있어 정리한다.

본 문서에서 설치를 진행하는 사용자는 Super 유저 권한으로 진행하였다. (로그인 후, "su -" 명령어로 root 사용자로 변경하면 된다.)




1. NVidia 그래픽 카드 확인.

    $ lspci | grep VGA



       ※ lscpi | grep VGA를 사용하면, 현재 연결되어 있는 VGA 장치를 확인 할 수 있다.

           현재, NVidia 그래픽 카드 2개 (GeForce GTX 745, GeForce GTX 650) 가 연결되어 있는 것을 알 수 있다.

           일반적으로는 1개의 그래픽 카드를 사용하니, 1개만 표시될 것이다.


2. 그래픽 카드 드라이버 및 Cuda Toolkit 다운로드.

    2.1 그래픽 카드 드라이버 다운로드

         1번에서 확인한 그래픽 카드를 참고로하여, NVidia 공식 사이트(http://www.nvidia.co.kr/Download/index.aspx?lang=kr) 에서 그래픽 카드 드라이버를 다운로드 한다.

         다운로드할 때, RUN 파일로 다운로드하여 진행하였다. (그리고, 제일 설치하기 편리하다.)


    2.2 Cuda Toolkit 다운로드

         Cuda Toolkit 다운로드도 그래픽 카드 드라이버 다운로드와 유사하다.

         1번에서 확인한 그래픽 카드를 참고로하여, NVidia 공식 사이트(https://developer.nvidia.com/cuda-downloads) 에서 Cuda Toolkit을 다운로드 한다.

         Cuda Toolkit는 무조건 최신 버전을 사용한다고하여 사용 할 수 있는 것은 아니다. 그래픽 카드와 그래픽 드라이버에 맞춰 버전을 다운로드 하여야 한다.

         그래픽 카드가 지원하는 Cuda Toolkitd은 Wiki(https://ko.wikipedia.org/wiki/CUDA)에서 확인하면 된다. 표에서 Ctrl + F로 확인 후 '연산능력(버전)' 으로 지원하는

         드라이버를 선택하면 된다. 아래는 그래픽 카드의 버전별 지원하는 Cuda Toolkit 버전이다.

      • CUDA SDK 6.5 support for compute capability 1.0 – 5.x (Tesla, Fermi, Kepler, Maxwell). Last version with support for compute capability 1.x (Tesla)

      • CUDA SDK 7.5 support for compute capability 2.0 – 5.x (Fermi, Kepler, Maxwell)

      • CUDA SDK 8.0 support for compute capability 2.0 – 6.x (Fermi, Kepler, Maxwell, Pascal). Last version with support for compute capability 2.x (Fermi)

      • CUDA SDK 9.0/9.1/9.2 support for compute capability 3.0 – 7.x (Kepler, Maxwell, Pascal, Volta)


3. NVidia 그래픽 드라이버 설치.

    3.1 Nouveau 드라이버 삭제

  Ubuntu의 기본적으로 설치되어 있는 드라이버인 Nouveau 드라이버를 삭제한다. Nouveau 드라이버와 NVidia 드라이버를 동시에 설치하면 충돌로 인한 오류가 생긴다.

  $ apt-get remove --purge nvidia-* && apt-get autoremove && apt-get autoclean

  $ apt-get install dkms build-essential


 /etc/modprobe.d/blacklist.conf 파일에 아래 내용을 추가한다.

  $ vim /etc/modprob.d/blacklist.conf

blacklist nouveau

blacklist lbm-nouveau

options nouveau modeset=0

alias nouveau off

alias lbm-nouveau off

 

추가한 값을 적용하기 위해 Kernel을 재빌드 한다.

  update-initramfs -u

  $ reboot


    3.2 GUI 종료

   GUI 모드로 사용 중 일 경우 설치를 진행하면 오류가 발생 할 수 있다.

   로그인 화면에서 Ctrl + Alt + F1 를 눌러 Console 모드로 진입 후 작업을 진행한다.

  $ service lightdm stop


    3.3 NVidia 드라이버 설치 및 확인

   다운로드 한 NVidia 드라이버 파일을 설치한다. (run 파일을 사용하여 설치를 진행하였다.)

  ./NVIDIA-Linux-x.xx.x-x.xx.run

  $ reboot

  $ nvidia-smi

      ※ nvidia-smi 명령어를 사용하면 현재 사용중인 NVidia 그래픽 카드의 정보가 표시된다.

          (동작 중인 프로그램은 테스트를 위해 실행중이니 처음 설치한 PC에서는 표시가 안되야 정상이다.)



4. Cuda Toolkit 설치.

    다운로드한 Cuda Toolkit 설치 파일을 설치한다. (run 파일을 사용하여 설치를 진행하였다.)

./CUDA_x.xx.x_x.xx_linux.run

     ※ 설치 시 질문 사항 중 그래픽 카드 설치에는 위에서 이미 설치하였기 때문에 'N'를 입력한다.

         그 외에는 모두 'Y'를 입력하면 된다.

$ reboot


    Home에 있는 .bashrc 파일에 아래 내용을 추가한다. (x.x에는 설치한 Cuda Toolkit의 버전을 입력한다.)

export PATH=$PATH:/usr/local/cuda-x.x

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-x.x/lib64


5. Cuda 설치 확인.

    Cuda의 sample 파일을 사용하여 설치가 정상적으로 되었는지 확인한다.

    Cuda가 설치되어 있는 위치에 sample 폴더를 찾는다. 일반적으로 "/usr/local/cuda-x.x/samples/" 에 위치해 있다.

    설치할 때 sample 파일의 위치를 지정하였다면, 해당 위치로 이동하면 된다.

$ cd /usr/local/cuda-x.x/samples/

$ make

   ※ Cuda Toolkit에서 제공하는 모든 sample들이 빌드되기 때문에 시간이 소요될 수 있다.

       빌드 실패에 관한 문제점 및 해결방안은 본 편에서 다루지 않는다.

$ cd 1_Utilities/deviceQuery

$ ./deviceQuery

   ※ 아래 그림처럼 출력되며, 마지막에 'Result = PASS' 가 출력되면 정상적으로 설치가 된 것이다.




 최근, 텐서플로우 및 채굴 등의 이유로 Cuda를 많이 사용하고 있다.

Cuda Toolkit 설치가 어려운 것은 아니지만 복잡하기 때문에 저장을 위해 기록으로 남긴다.