2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

dockerコンテナ内でGPUが使用できない際のトラブルシューティング

Last updated at Posted at 2021-05-02

概要

dockerコンテナ内でGPUが使用できず、下記のようなエラーが出た。
docker-container-runtimeのエラーのよう。

コンテナでGPUが使用できるか下記コマンドで確認を行なった。
docker run --gpus all nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04 nvidia-smi
結果としては、下記のエラー

 Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

解決法

docker-container-runtimeのエラーは下記三つで解決を図る
①/etc/docker/daemon.jsonへの記載
②デーモンの再起動(sudo systemctl restart docker)
③docker-container-runtimeの再インストール

しかし、今回の場合は解決できない。

→dockerを再インストールすることで解決できた。

参考までに

機械学習では、dockerコンテナ内でjupyterを使ったり、スクリプトを使用したりする。
tensorflowとcudaには互換性があるので、tensorflowのバージョンによってcudaのバージョンを下げたい時等に便利だ。
docker内でGPUを使用する方法を簡単に記載する。

  1. dockeを公式を参考にインストール(Qiita等を利用しても良いが、公式のやり方と照らし合わせよう)
  2. nvidia-cuda-toolkitを公式からインストール(過去のも出てくる、nvidia-uninstallで削除)
  3. cudaのパスを通す(/usr/local/cuda-**.*←削除すれば消える)
    ※再インストールする時は再起動が必要
  4. cudnnファイルをダウンロード(登録必要)
  5. 解凍後、/usr/local/cuda以下に移動する(lib64はlib64以下、includeはinclude以下)
  6. nvidia-container-toolkitとnvidia-container-runtimeをインストール
  7. docker-composeをインストール(※version3指定はruntimeオプションが使えない)
  8. /etc/docker/daemon.jsonを編集
  9. dockerの立ち上げ
  10. nvidia-smiで確認(cudaはnvcc -V)
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?