본문 바로가기
프로그래밍/CUDA

[CUDA] ubuntu 18.04 CUDA Install :: 우주를놀라게하자

by 우주를놀라게하자 2019. 7. 4.
반응형
SMALL

사양 

-ubuntu 18.04

-NVIDIA Geforce gtx 1050 

 

Cuda를 설치하기 전 일단  NVIDIA 드라이버가 설치되었는지 확인해보자!

>>>만약 드라이버가 설치가 아직 안되있다면(https://www.nvidia.co.kr/Download/index.aspx?lang=kr) 여기서 설치해준다.

 

Bash에 아래와 같은 명령어를 치면 다음과 같은 결과가 나오게되면 드라이버가 옳바르게 설치가 된것이다. 기본적인 사항은 완료해주고 다음으로 넘어가보자

:~$ nvidia-smi

Thu Jul  4 01:37:02 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67       Driver Version: 418.67       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| 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 1050    On   | 00000000:01:00.0 Off |                  N/A |
| N/A   91C    P0    N/A /  N/A |   3417MiB /  4040MiB |    100%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1105      G   /usr/lib/xorg/Xorg                           150MiB |
|    0      1353      G   /usr/bin/gnome-shell                         150MiB |
|    0      2323      G   /proc/self/exe                                49MiB |
|    0     23589      C   ./darknet                                   3063MiB |
+-----------------------------------------------------------------------------+

 

 

만약 상시 모니터링하고 싶다면 다음과 같이 명령어를 입력한다.

watch -d -n 0.5 nvidia-smi

-d를 넣어주면 변화된 수치에 포인트를 넣어주게 된다. 반짝거리는게 싫다면 빼도 상관없다.

-n은 갱신되는 초(second)를 의미한다.

 

 

 CUDA를 설치 하기 이전에, 설치하고자 하는 CUDA 버전이 현재 GPU의 Compute Capability(계산 능력)을 지원하는지 확인해 주셔야 합니다. Compute Capability는 아래의 페이지에서 확인할 수 있다.

 

먼저 nvidia에 들어가서 자신의 그래픽 카드를 확인해준다. 필자는 Geforce gtx 1050을 사용하고 있다

 

 

 

https://developer.nvidia.com/cuda-gpus

Nivida

 

필자의 경우엔 6.1 Compute Capability란것을 알수있다. 그리고 어떤 CUDA 버전이 호환을 해주는지를 확인해봐야한다.

 

https://en.wikipedia.org/wiki/CUDA

 

CUDA - Wikipedia

CUDA is a parallel computing platform and application programming interface (API) model created by Nvidia.[1] It allows software developers and software engineers to use a CUDA-enabled graphics processing unit (GPU) for general purpose processing — an appr

en.wikipedia.org

GPUs supported[edit]

Supported CUDA level of GPU and card. See also at Nvidia:

  • CUDA SDK 1.0 support for compute capability 1.0 – 1.1 (Tesla)[20]
  • CUDA SDK 1.1 support for compute capability 1.0 – 1.1+x (Tesla)
  • CUDA SDK 2.0 support for compute capability 1.0 – 1.1+x (Tesla)
  • CUDA SDK 2.1 – 2.3.1 support for compute capability 1.0 – 1.3 (Tesla)[21][22][23][24]
  • CUDA SDK 3.0 – 3.1 support for compute capability 1.0 – 2.0 (Tesla, Fermi)[25][26]
  • CUDA SDK 3.2 support for compute capability 1.0 – 2.1 (Tesla, Fermi)[27]
  • CUDA SDK 4.0 – 4.2 support for compute capability 1.0 – 2.1+x (Tesla, Fermi, more?)
  • CUDA SDK 5.0 – 5.5 support for compute capability 1.0 – 2.1+x (Tesla, Fermi, more?)
  • CUDA SDK 6.0 support for compute capability 1.0 – 3.5 (Tesla, Fermi, Kepler)
  • CUDA SDK 6.5 support for compute capability 1.1 – 5.x (Tesla, Fermi, Kepler, Maxwell). Last version with support for compute capability 1.x (Tesla)
  • CUDA SDK 7.0 – 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.2 support for compute capability 3.0 – 7.2 (Kepler, Maxwell, Pascal, Volta)
  • CUDA SDK 10.0 – 10.1 support for compute capability 3.0 – 7.5 (Kepler, Maxwell, Pascal, Volta, Turing)

 

위에서 말했듯 현재 gtx 1050 6.1의 Compute Capability를 사용하고 있기 때문에 CUDA 10을 설치해도 무관하다.

  • CUDA SDK 10.0 – 10.1 support for compute capability 3.0 – 7.5 (Kepler, Maxwell, Pascal, Volta, Turing)

위의 사항을 보면 CUDA 10.0 ~ 10.1버전이 compte capability 3.0 ~ 7.5까지 지원함을 알수있다.

 

아 그리고 처음에 좀 실수를 했던게 9.0버전은 ubuntu 18.04를 지원하지 않는다.....때문에 자신의 사항에 맞게 맞춰서 설치를 해줘야한다. 

어쨌든 설치를 해보자!

 

 

(*오늘 다시 ubuntu를 백업하고 다시 해봤는데 .... 나도 아래부분이 안되서 좀 해맸는데.... 그냥 Cuda tool kit을 설치하니깐 cuda가 10.1버전으로 설치가 되었다....

sudo apt install nvidia-cuda-toolkit

위와 같이해서 설치해주자..

)

 

패키지 리스트 추가

현재 NVIDIA 공식 Repository에서 지원되는 배포판 종류는 우분투 16.04, 17.04, 17.10, 18.04, 18.10 등 입니다. 이 배포판에 해당되는 우분투 버전을 사용하고 계신경우, 아래의 공통 명령어로 패키지 리스트를 추가 하실 수 있습니다.

먼저 아래의 명령어로 현재 사용하고 계신, 우분투 배포판 버전을 확인하자

 

Bash 창

$ release="ubuntu"$(lsb_release -sr | sed -e "s/\.//g")

$ echo $release

만약 우분투 18.04 일 경우, ubuntu1804 와 같은 내용이 출력되고, 16.04일경우 ubuntu1604 내용이 출력되게 됩니다.

위의 명령어로 배포판 이름이 $release 변수에 저장되게 되고, 아래의 명령어에서 해당 Repository로 추가될 수 있도록 사용됩니다. 따라서, 꼭 위의 명령어를 실행 후 아래의 명령어로 Repository를 추가합니다.

 

Bash 창

$ sudo apt install sudo gnupg 

$ sudo apt-key adv --fetch-keys "http://developer.download.nvidia.com/compute/cuda/repos/"

$ release"/x86_64/7fa2af80.pub" 

$ sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/'

$ release'/x86_64 /" > /etc/apt/sources.list.d/nvidia-cuda.list' 

$ sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/'

$ release'/x86_64 /" > /etc/apt/sources.list.d/nvidia-machine-learning.list' 

$ sudo apt update

CUDA 설치

아래의 명령어로 cuda 10.0을 설치 ! 

Bach창
$ sudo apt-get install cuda-10-0

 

마지막으로 잘 설치된지를 확인해보자

~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85 ==> 10.0으로 설치했는데 환경변수는 아직 9.x 버전으로 잡혀서 이렇게 나오는 것이니 각각이 설치한 버전에 맞게 나오면 된것임

위와같이 나오게 되면 설치가 정상적으로 끝났음을 알수있다.

(nvcc --version를 했을때 설치가 안되어있으면 설치를 해줘야한다.)

 

 

반응형
LIST