メモレベルですが、UbuntuでGPU環境を構築する手順を記載します。
構成
CPU | Intel Core i5-10400 |
GPU | GeForce RTX 2060 |
OS | Ubuntu 20.04 LTS |
CUDA Toolkit | 11.2 Update 1 |
cuDNN | 8.1.0 |
Ubuntuインストール
Ubuntu 20.04 LTSをWindows10とのデュアルブートでインストールする。
インストールメディア作成(DVD)
デュアルブートでインストール
以下は16.04の記載ですが、20.04でもほぼ変わりません。
2021年3月時点で、以降のインストールで20GB近く消費します。「/」パーティションは余裕を持たせて確保しておきましょう。
【内訳】
- Ubuntu(基本インストール + 更新):7.1GB
- NVIDIAドライバ:1.2GB
- CUDA:7.6GB
- cuDNN:2.7GB
NVIDIAドライバ
[アプリケーションを表示する] - [追加のドライバー] を選択
「代替のドライバーを利用しています」となっているので、NVIDIAの最新のドライバーを選択して、[変更の適用]
[設定] - [このシステムについて] の「グラフィックス」で認識できれいればOK
CUDA
以下にアクセスする。
https://developer.nvidia.com/cuda-downloads
[Linux] - [x86_64] - [Ubuntu] - [20.04] - [deb(local)] を選択する。
インストールコマンドが表示されるので、それに従ってインストールする。
インストールが完了したら、nvidia-smi
コマンドで確認する。
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.39 Driver Version: 460.39 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| 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 GeForce RTX 2060 Off | 00000000:01:00.0 On | N/A |
| 32% 31C P8 9W / 160W | 139MiB / 5926MiB | 4% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
~/.bashrc
にパスを追加します。
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
source .bashrc
コマンドでシェルの設定を反映させる。
cuDNN
以下にアクセスする。 会員登録が必要です。
https://developer.nvidia.com/cudnn
以下の2つをダウンロードする。
- cuDNN Runtime Library for Ubuntu20.04 x86_64 (Deb)
- cuDNN Developer Library for Ubuntu20.04 x86_64 (Deb)
インストールする。
$ sudo dpkg -i libcudnn8_8.1.1.33-1+cuda11.2_amd64.deb
$ sudo dpkg -i libcudnn8-dev_8.1.1.33-1+cuda11.2_amd64.deb
動作確認
Python導入前に確認するために、AlexeyAB/darknet で確認しました。
MakefileをGPUモードに変更して、ビルドする。
※ビルドに失敗する場合は、インストールかパスの追加をミスしている可能性が高い。
$ sed -i 's/GPU=0/GPU=1/g' Makefile
$ sed -i 's/CUDNN=0/CUDNN=1/g' Makefile
$ sed -i 's/OPENCV=0/OPENCV=1/g' Makefile
$ make
学習実行はgithubのReadmeを参考に。
学習実行中にnvidia-smi
コマンドを実行して、GPU Memoryをそれなりに使用していればOK。
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 26714 C ./darknet 2931MiB |
+-----------------------------------------------------------------------------+
TIPS
CPU/GPUの温度を監視する
Ubuntu Softwareから[Psensor]をインストールする。
Ubuntuを起動するたびにWindowsの時間がUTCになってしまう場合の対処
Ubuntuで以下のコマンド入力する。
$ sudo timedatectl set-local-rtc true
VSCodeで日本語入力できないとき