Ubuntu 18.04, nvidia cuda 설치하기.

Ubuntu 18.04, nvidia cuda 설치

1. GPU 설치 확인
Tesla V100이 설치되어 있으며, device driver가 설치되어 있지 않아서 UNCLAIMED로 표시된다.

$ sudo lshw -c display
  *-display:1 UNCLAIMED
       description: 3D controller
       product: GV100GL [Tesla V100 SXM2 32GB]
       vendor: NVIDIA Corporation
       physical id: 9
       bus info: pci@0000:00:09.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress cap_list
       configuration: latency=0
       resources: iomemory:80-7f iomemory:100-ff memory:fc000000-fcffffff memory:800000000-fffffffff memory:1000000000-1001ffffff

2. CUDA 설치(nvidia 디바이스 드라이버도 함께 설치)

다운로드 : https://developer.nvidia.com/cuda-downloads
다운로드 사이트에 들어가서 설치할 시스템에 맞는 버전을 선택한다. 아래는 ubuntu linux 64bit용이다.

$ wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run

다운로드 받은 폴더에서 다운로드 받은 파일을 실행한다.

$ sudo sh -x cuda_10.2.89_440.33.01_linux.run

만약, 컴파일러가 설치되어 있지 않아서 오류가 발생한다면, 아래 명령으로 컴파일러를 설치해 준다.

$ sudo apt-get install build-essential

설치가 시작되고, 라이센스 동의 화면에서 yes 입력하면, 아래처럼 드라이버를 비롯해 cuda 툴킷을 설치할 수 있는 메뉴가 보인다.

┌─┐
│ CUDA Installer se Agreement                                                  │
│ - [X] Driver                                                                 │
│      [X] 440.33.01                                                           │
│ + [X] CUDA Toolkit 10.2                                                      │
│   [X] CUDA Samples 10.2                                                      │
│   [X] CUDA Demo Suite 10.2                                                   │
│   [X] CUDA Documentation 10.2                                                │
│   Options                                                                    │
│   Install                                                                    │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│   VIDIA Driver                                                               │
│                                                                              │
│                                                                              │
│   escription                                                                 │
│                                                                              │
│                                                                              │
│
│                                                                              │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │

install을 선택하고 enter 키를 누른다.
설치가 완료되면 아래와 같이 PATH, LD_LIBRARY_PATH 환경변수를 설정 방법과 삭제 방법을 안내해준다.

===========
= Summary =
===========

Driver:   Installed
Toolkit:  Installed in /usr/local/cuda-10.2/
Samples:  Installed in /home/snowfox/, but missing recommended libraries

Please make sure that
 -   PATH includes /usr/local/cuda-10.2/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-10.2/lib64, or, add /usr/local/cuda-10.2/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-10.2/bin
To uninstall the NVIDIA Driver, run nvidia-uninstall

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.2/doc/pdf for detailed information on setting up CUDA.
Logfile is /var/log/cuda-installer.log

nvidia 드라이버 설치 확인

$ sudo nvidia-smi
Mon Mar 30 08:30:34 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01    Driver Version: 440.33.01    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla V100-SXM2...  Off  | 00000000:00:08.0 Off |                    0 |
| N/A   29C    P0    38W / 300W |      0MiB / 32510MiB |      4%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

GPU 테스트(gpu_burn은 이전글 nvidia GPU 스트레스 테스트 참조)

gpu_burn으로 테스트하기위해 make하기전에 아래 환경변수 설정해야한다.

$ PATH=$PATH:/usr/local/cuda-10.2/bin
$ export PATH
$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64
s$ export PATH
$ export LD_LIBRARY_PATH

gpu 테스트까지 이상 없다면 CUDA를 사용할 준비가 끝났다.

3. nvidia 드라이버만 설치
여기서는 cuda를 사용하지 않고 nvidia device driver만 설치하는 방법이다.

드라이버 설치를 위한 repository를 등록한다.

$ sudo add-apt-repository ppa:graphics-drivers/ppa
 Fresh drivers from upstream, currently shipping Nvidia.

## Current Status

Current long-lived branch release: `nvidia-430` (430.40)
Dropped support for Fermi series (https://nvidia.custhelp.com/app/answers/detail/a_id/4656)
...
Press [ENTER] to continue or Ctrl-c to cancel adding it.

위에서, 현재 드라이버 버전이 430인 것을 확인한다.

이제 아래 명령으로 드라이버를 설치하고 재부팅한다.

$ sudo apt-get update
$ sudo apt-get install nvidia-driver-430
$ sudo reboot

드라이버를 확인해 본다.

$ sudo lshw -c display
[sudo] password for snowfox:
  *-display:1
       description: 3D controller
       product: GV100GL [Tesla V100 SXM2 32GB]
       vendor: NVIDIA Corporation
       physical id: 9
       bus info: pci@0000:00:09.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=nvidia latency=0
       resources: iomemory:80-7f iomemory:100-ff irq:31 memory:fc000000-fcffffff memory:800000000-fffffffff memory:1000000000-1001ffffff

이제, UNCLAIMED 가 사라졌다.

nvidia-smi 명령으로 확인해 본다.

$ sudo nvidia-smi
Mon Mar 30 05:01:34 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.64       Driver Version: 440.64       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla V100-SXM2...  Off  | 00000000:00:09.0 Off |                    0 |
| N/A   30C    P0    23W / 300W |      0MiB / 32510MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

답글 남기기

Your email address will not be published.