GeForceなどCUDAに対応したグラフィックボードをDockerで使用するために必要な準備をまとめます.
結論
Docker EngineとNVIDIA Container Toolkit をインストールする.
環境
- Ubuntu 22.04 LTS
- Intel(R) Core(TM) i5-12400
- NVIDIA GeForce GT 1030
- Docker Engine 20.10.17
手順
Installation Guide — NVIDIA Cloud Native Technologies documentation
上記ウェブサイトに従います.NVIDIA Container Toolkitは,NVIDIA Driversに依存しているので,これを含むCUDA Toolkitをインストールするために以下のウェブサイトを利用します.
CUDA Toolkit 11.7 Downloads | NVIDIA Developer
提示されたスクリプトを実行すれば,https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64
がaptに追加されます.これで,以下のコマンドでドライバーをインストールします.
sudo apt install cuda-drivers
Secure Bootを有効にしている場合は,パスワードの設定画面が表示されるので,適当に設定します.再起動してブート時にEnroll MOKして同じパスワードを入力します.
Dockerをインストールしていない場合は,インストールします.
次に,NVIDIA Container Toolkitをインストールします.以下のコマンドを実行するだけです.なお,コマンドは将来変更される可能性があるので,上記サイトより最新のものを確認して実行してください.
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
これでaptに追加されるので,nvidia-docker2
をインストールします.
sudo apt install nvidia-docker2
動作確認
$ docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi -q ==============NVSMI LOG============== Timestamp : Wed Jun 15 05:13:53 2022 Driver Version : 515.48.07 CUDA Version : 11.7 Attached GPUs : 1 GPU 00000000:01:00.0 Product Name : NVIDIA GeForce GT 1030 Product Brand : GeForce Product Architecture : Pascal ...
正常にグラフィックボードの情報が出力されれば完了です.なお,--gpus all
はDockerコンテナで全てのGPUを使用する設定です.CUDAを使用するコンテナを作成するには,nvidia/cuda
イメージを使用するのが便利です.
https://hub.docker.com/r/nvidia/cuda