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 | +-----------------------------------------------------------------------------+