본문 바로가기

카테고리 없음

우분투 ubuntu CUDA 설치

안녕하세요 steady-code입니다. 최근 chatgpt 가 공개되면서 딥러닝에 관심을 갖거나 혹은 이미 딥러닝을 공부하고 계시는 개발자 분들이 증가하고 있습니다. 본 포스팅은 Tensorflow, Pytorch 등의 딥러닝 개발 프레임워크를 사용하기 전, GPU를 활용하기 위해 필수적으로 진행해야하는 CUDA 설치에 관한 내용을 담았습니다.

 

목차
1. CUDA 설치
2. 설치 확인

1. CUDA 설치

1. 먼저 wget 명령어를 통해 nvidia package 를 가져옵니다.

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600

 

2. 그 다음 wget 명령어를 통해 deb 파일을 가져옵니다.

wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_amd64.deb

위 명령어를 진행하면 다음과 같은 출력이 나옵니다.

Resolving developer.download.nvidia.com (developer.download.nvidia.com)... 152.199.39.144
Connecting to developer.download.nvidia.com (developer.download.nvidia.com)|152.199.39.144|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2681112370 (2.5G) [application/x-deb]
Saving to: ‘cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_amd64.deb’

cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_amd64.deb                         100%[===================================================================================================================================================================================================================>]   2.50G  10.3MB/s    in 6m 44s  

2023-01-27 15:44:28 (6.33 MB/s) - ‘cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_amd64.deb’ saved [2681112370/2681112370]

 

3. dpkg 명령어로 package install

sudo dpkg -i cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_amd64.deb

위 명령어를 실행하면 다음과 같은 출력이 나옵니다.

Selecting previously unselected package cuda-repo-ubuntu2004-11-6-local.
(Reading database ... 189963 files and directories currently installed.)
Preparing to unpack cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_amd64.deb ...
Unpacking cuda-repo-ubuntu2004-11-6-local (11.6.0-510.39.01-1) ...
Setting up cuda-repo-ubuntu2004-11-6-local (11.6.0-510.39.01-1) ...

The public CUDA GPG key does not appear to be installed.
To install the key, run this command:
sudo apt-key add /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pub

 

4. key add

sudo apt-key add /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pub

 

5. apt-get 으로 install

sudo apt-get update
sudo apt-get -y install cuda

2. 빌드확인

1. repository 확인

ls usr/local/cuda
bin  compute-sanitizer  doc  DOCS  EULA.txt  extras  gds  include  lib64  libnvvp  nsightee_plugins  nvml  nvvm  README  res  share  src  targets  tools  version.json

 

2. nvcc (NVIDIA CUDA Compiler) 명령어 실행

nvcc

간혹 install 한 버전과 맞지 않는 경우가 있습니다. 위 경우는 시스템에 이미 설치된 nvcc 를 실행하기 때문인데요. 다음과 같은 출력이 나옵니다.

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

nvcc 의 바이너리가 따로 존재하는지 확인하기 위해 다음과 같은 명령어를 사용해봅시다.

which nvcc

/usr/bin/nvcc

이 경우 경로를 바꾸어서 실행시켜주면 됩니다.

alias nvcc="/usr/local/cuda/bin/nvcc"

저의 경우 cuda-12.0 을 설치했기 때문에 다음과 같은 출력을 볼 수 있습니다. 성공적으로 출력되네요

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Mon_Oct_24_19:12:58_PDT_2022
Cuda compilation tools, release 12.0, V12.0.76
Build cuda_12.0.r12.0/compiler.31968024_0

 

3. nvidia-smi (NVIDIA System Managment Interface) 실행

nvidia-smi
"nvidia-smi has failed because it couldn't communicate with the nvidia driver. make sure that the latest nvidia driver is installed and running."

이 경우는 설치된 cuda util 이 load 되지 않았을 때 발생합니다. 이 경우 시스템을 reboot 하고 실행시키면 됩니다.

nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.13    Driver Version: 525.60.13    CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0 Off |                  N/A |
| 31%   29C    P8    26W / 250W |      5MiB / 11264MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  On   | 00000000:02:00.0 Off |                  N/A |
| 29%   23C    P8    28W / 250W |      5MiB / 11264MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1176      G   /usr/lib/xorg/Xorg                  4MiB |
|    1   N/A  N/A      1176      G   /usr/lib/xorg/Xorg                  4MiB |
+-----------------------------------------------------------------------------+

글을 마치며

최근 딥러닝 학습을 사용하는 개발자가 늘어나면서 대부분 NVIDIA GPU 를 사용합니다. Pytorch, Tensorflow 등의 프레임워크를 install 하기 위해서는 GPU를 사용할 수 있는 CUDA driver API 그리고 runtime API를 필수적으로 진행해야 합니다. 위 내용을 진행하면서 에러를 겪으시거나 궁금한 점이 있으시면 댓글 부탁드립니다.

 

 

참고문헌

1. https://developer.nvidia.com/cuda-11-6-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local 

 

CUDA Toolkit 11.6 Downloads

Resources CUDA Documentation/Release NotesMacOS Tools Training Sample Code Forums Archive of Previous CUDA Releases FAQ Open Source PackagesSubmit a BugTarball and Zip Archive Deliverables

developer.nvidia.com