セキュアブートの無効化、Docker、Docker Composeはインストール済みとして進めます。
DockerでCUDAを使うにはホストにNvidiaドライバーをインストールしたうえで、Nvidia Container Toolkitのインストールが必要です。
ヘッダー ファイルを準備します。
sudo apt-get install module-assistant
sudo m-a prepare
/etc/apt/sources.listを開いて
contribおよび
non-freeを追加します。
具体的には下記のようにします。
#/etc/apt/sources.list
deb http://deb.debian.org/debian bullseye main contrib non-free
deb-src http://deb.debian.org/debian bullseye main contrib non-free
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free
リポジトリキャッシュを更新します。
sudo apt update
nvidia-xconfigをインストール、実行します。
sudo apt install nvidia-xconfig
sudo nvidia-xconfig
Network Repoをインストールします。
cuda-keyringパッケージをインストールします。
wget https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
リポジトリキャッシュを更新します。
sudo apt-get update
CUDA SDKをインストールします。
sudo apt-get -y install cuda
nvidia-docker2パッケージ (および依存関係)をインストールします。
sudo apt-get update
sudo apt install nvidia-docker2
Nvidia エンコード ライブラリと nvidia-smi をインストールします。
sudo apt install libnvidia-encode1
sudo apt install nvidia-smi
Nvidiaコンテナーランタイムをインストールします。
sudo apt install nvidia-container-runtime
Nvidiaドライバーをインストールします。
sudo apt install nvidia-driver firmware-misc-nonfree
エラーなく下記のDockerが動けば成功です。
docker run --gpus all --rm nvidia/cuda nvidia-smi
なんかエラーが出たときは取り敢えず再起動&apt update && apt upgradeで行けるはず。
参考リンク: