Ubuntu20.04 + gpu docker環境を構築したので流れをメモしておきます。最後がポイントです。
環境
- Ubuntu 20.04 (サーバーインストール)
- NVIDIA GPU
手順
GPUドライバーインストール
昔はいろいろやった気がしたのですが、レポジトリーを追加して一気にいけます。
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt install ubuntu-drivers-common
sudo ubuntu-drivers autoinstall
動作確認は再起動後nvidia-smi
で確認。ずらずら出てきます。
CUIログイン
サーバー用としてインストールしてもインストールするとするとGUI環境のログインが表示されてしまうので、CUIにしたい場合はログイン方法を変更します。
# 確認
$ sudo systemctl get-default
graphical.target
# 設定変更
$ sudo systemctl set-default multi-user.target
# 確認
$ sudo systemctl get-default
multi-user.target
Dockerインストール
通常の手順通りでインストールします。
- sudo無しでdockerが動作するように変更
$ sudo usermod -aG docker $USER
- 動作確認
# normal docker
docker run hello-world
- GPU環境動作確認
docker run —gpus all nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04 nvidia-smi
nvidia-smiの画面が出ずに失敗します。dockerでGPUが使えるようになっていないようです。
docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]]の解消方法
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
sudo apt-get install nvidia-container-runtime
service docker restart
で再起動
- 再度dockerのGPU動作を確認します。
docker run —gpus all nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04 nvidia-smi
OK!!
参考:
ごにょごにょ
ハード側の問題もあり結局数回インストールしなおす羽目になったので、メモしてありました。また気が向いたらクリーンインストールするかもしれないので、メモを公開しておきます。