DockerでGPUを使おうとしたらError response from daemon: linux runtime spec devices: could not select device driver “” with capabilities: [[gpu]]

docker container run –gpus all をした時に表題のエラー。

NVIDIAドライバーがDockerを認識できていないか、nvidia container tools をインストールしたけどDockerのデーモンを再起動していない場合に起きる。

パスはどこでもいいので以下のスクリプトを作製し、実行すればOK。

$ cat nvidia-container-runtime-script.sh
 
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

$ sh nvidia-container-runtime-script.sh

これでエラーは出なくなった。

参考

New Docker CLI API Support for NVIDIA GPUs under Docker Engine 19.03.0 Pre-Release -
Let's talk about Docker in a GPU-Accelerated Data Center... Docker is the leading container platform which provides both hardware and software encapsulation ...

コメント

タイトルとURLをコピーしました