デスクトップ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のドライバも何も入れていない所からのスタートです。
1 2 3 |
$ 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を搭載した内容を紹介しています。(リンク先はこちら)
CUDA Toolkit 12.0をインストール
現時点(2023/2/25)での最新CUDA環境をダウンロードします。
- CUDA Version…12.0 ※Driver Version…525.85.12
NVIDIAの公式ページでインストール手順を確認します。
公式のインストール手順をそのまま実行します。
1 2 3 4 5 6 7 |
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.
1 2 |
$ 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
1 2 |
export PATH="/usr/local/cuda/bin:$PATH" export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH" |
そしてPCを再起動後に正常にインストールしたことを確認できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ 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 | +-----------------------------------------------------------------------------+ |
1 2 3 4 5 6 |
$ 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
1 2 3 4 5 6 7 8 |
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!」と表示されます。
1 2 3 4 5 |
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]].
1 2 3 4 5 6 |
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 で正常にインストールされたか確認できます。
1 2 3 4 5 6 7 8 9 10 11 |
$ 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環境にも対応できています。
コメント