はじめに
2020/11/04時点での NVIDIA Docker 環境の作り方をメモ。
いつの間にかCUDAが認識されなくなっていたため、ドライバーから入れ直すことに。
USER@HOST:~$nvidia-smi
Wed Nov 4 14:41:54 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.64 Driver Version: 430.64 CUDA Version: N/A |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 108... Off | 00000000:01:00.0 On | N/A |
| 0% 35C P8 12W / 275W | 62MiB / 11175MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1609 G /usr/lib/xorg/Xorg 59MiB |
+-----------------------------------------------------------------------------+
古い環境を消す
# 現在のCUDAをアンインストール
$ sudo apt-get purge cuda*
$ sudo apt-get purge nvidia-cuda-*
$ sudo apt-get purge libcuda*
$ sudo apt-get purge nvidia*
# 完全に削除
$ sudo apt-get autoremove
$ sudo apt-get autoclean
$ sudo rm -rf /usr/local/cuda*
本題
以下3手順で、CUDA、Docker、nvidia-docker2がインストールできる。尚、今まではNvidia Driverは別で入れていたが、CUDAを入れれば対応するDriverも一緒にインストールされる。
1. 最新CUDAドライバのインストール
CUDA Toolkit の Web サイトに従ってインストール
最後の行はcuda cuda-driversにすること
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-ubuntu1604.pin
$ sudo mv cuda-ubuntu1604.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
$ sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/ /"
$ sudo apt-get update
$ sudo apt-get -y install cuda-drivers
2. Dockerのインストール
Docker公式のインストール方法に従ってインストール
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
インストール後、docker サービスの開始と、自動起動を設定
$ sudo systemctl start docker && sudo systemctl enable docker
sudo なしに docker コマンドを実行可能にするのであれば、次のように対象のユーザーを docker グループへ追加
$ sudo usermod -aG docker $USER
3.NVIDIA Container Toolkit(nvidia-docker2) パッケージのインストール
公式のインストール方法に従ってインストール
$ 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-docker2
$ sudo systemctl restart docker
再起動後、動作確認
$ sudo reboot
$ nvidia-smi
Nvidia DriverとCUDA Versionが表示されれば完了。