Ubuntu 20.04にGPU+CUDA環境を構築したメモ

本サイトはアフィリエイト広告を利用しています。
エンジニア

デスクトップPCのUbuntuを18.04→20.04に入れ直しました。

OS入れ替えましたので、GPU+CUDAの環境も再度対応しました。

CUDA Toolkit 12.0をインストールした内容を紹介します。

 

スポンサーリンク

Ubuntu 20.04にGPU+CUDA環境を構築したメモ

デスクトップPCのUbuntuを18.04→20.04に入れ直しました。

OS入れ替えに伴い、GPU+CUDAの環境構築した内容を紹介します。

NVIDIAのドライバも何も入れていない所からのスタートです。

$ nvidia-smi

Command 'nvidia-smi' not found, but can be installed with:

 

実施したPC環境としては下記です。

  • CPU…Core i5 6400
  • GPU…NVIDIA GeForce GTX 1650(メモリ4GB)
  • メモリ…16GB
  • SSD…1000GB

 

Ubuntuと入れたCUDA環境は下記になります。

  • Ubuntu…20.04
  • CUDA Version…12.0 ※Driver Version…525.85.12

 

グラフィックボードはGTX1650

使用しているグラフィックボードに関してはGTX1650となります。

補助電源無しで取り付けやすく、そこそこの性能を出してくれるGPUです。

 

下記記事でGTX1650を搭載した内容を紹介しています。(リンク先はこちら)

グラボの補助電源なしのメリット!玄人志向のGTX1650編

グラボの補助電源なしのメリット!玄人志向のGTX1650編
玄人志向のGTX1650を購入して、市販のデスクトップPCに取り付けてみました。 補助電源無しのタイプですので、グラフィックボードを挿し込むだけで動作可能です。 購入から取り付け、ドライバのインストールまでの流れを紹介します。

 

CUDA Toolkit 12.0をインストール

現時点(2023/2/25)での最新CUDA環境をダウンロードします。

  • CUDA Version…12.0 ※Driver Version…525.85.12

 

NVIDIAの公式ページでインストール手順を確認します。

 https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local

公式のインストール手順をそのまま実行します。

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
wget https://developer.download.nvidia.com/compute/cuda/12.0.1/local_installers/cuda-repo-ubuntu2004-12-0-local_12.0.1-525.85.12-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-12-0-local_12.0.1-525.85.12-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

 

インストール直後にnvidia-smiを実行してもエラーになります。ご注意ください。

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.

$ 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.

 

インストール後にはホームディレクトリで環境変数を追加しておきます。

sudo vim ~/.bashrc

export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

 

そしてPCを再起動後に正常にインストールしたことを確認できます。

$ nvidia-smi
Sat Feb 25 10:55:46 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.12    Driver Version: 525.85.12    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 |
| 30%   30C    P8    N/A /  75W |     13MiB /  4096MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A       813      G   /usr/lib/xorg/Xorg                  9MiB |
|    0   N/A  N/A       986      G   /usr/bin/gnome-shell                2MiB |
+-----------------------------------------------------------------------------+
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Jan__6_16:45:21_PST_2023
Cuda compilation tools, release 12.0, V12.0.140
Build cuda_12.0.r12.0/compiler.32267302_0

 

cuDNNをインストールする

NVIDIAのダウンロードサイトからcuDNNもダウンロード・インストールしておきます。

※もし不必要な方はこれ以降は読み飛ばしてください。

 https://developer.nvidia.com/rdp/cudnn-download

sudo apt-get install zlib1g
sudo dpkg -i cudnn-local-repo-ubuntu2004-8.8.0.121_1.0-1_amd64.deb 
sudo cp /var/cudnn-local-repo-ubuntu2004-8.8.0.121/cudnn-local-A9E17745-keyring.gpg /usr/share/keyrings/
cd /var/cudnn-local-repo-ubuntu2004-8.8.0.121/
ls
sudo dpkg -i libcudnn8_8.8.0.121-1+cuda12.0_amd64.deb
sudo dpkg -i libcudnn8-dev_8.8.0.121-1+cuda12.0_amd64.deb 
sudo dpkg -i libcudnn8-samples_8.8.0.121-1+cuda12.0_amd64.deb 

 

もしcuDNNの動作テストをする場合はMNISTを動かしてみます。

下記公式サイトに載っている確認手順です。

 https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#verify

正常に動作出来れば、最後に「Test passed!」と表示されます。

cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
sudo apt-get install libfreeimage3 libfreeimage-dev
make clean && make
./mnistCUDNN

 

NVIDIA-Container-Toolkitをインストールする

docker上でNVIDIAを使う場合は、コンテナへのToolkitもインストールします。

恐らくインストールしないと、dockerで動かすとき下記のようなエラーが出ます

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

 

nvidia-container-cli info で正常にインストールされたか確認できます。

$ nvidia-container-cli info
NVRM version:   525.85.12
CUDA version:   12.0

Device Index:   0
Device Minor:   0
Model:          NVIDIA GeForce GTX 1650
Brand:          GeForce
GPU UUID:       GPU-c0f4fe80-6a26-e299-b0d7-7115cde7755d
Bus Location:   00000000:01:00.0
Architecture:   7.5

 

まとめ

Ubuntu 20.04の環境で、GPU+CUDAの環境構築できました。

CUDA Toolkitだけでなく、cuDNN・docker環境にも対応できています。

 

コメント