nvidia-smiでGPU情報が出力されなくなったときの対処法
$ nvidia-smi
とうっても
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
というエラーが出てしまった。
そんなときの解決方法を記述する。
初めは以下のサイトを参考にした。
まずはnvidiaなどの既存のドライバをアンインストール、再インストールする。
$ sudo apt-get --purge remove nvidia-*
$ sudo apt-get --purge remove cuda-*
↓
($ ubuntu-drivers devices)
↓
$ sudo ubuntu-drivers autoinstall
↓
$ sudo reboot
↓
$ nvidia-smi
この時点で出力された (参考にしたサイトではまだだった)
$ nvcc -V
も出力された
↓
ここで$ docker run --gpus all ~
などとdockerコンテナを作ろうとすると
docker: Error response from daemon: could not select device driver "" with capabilities: gpu.
ERRO[0002] error waiting for container: context canceled
というエラーが出た。
ここからは別のの記事
を参照して解決。
一応内容を書いておくと
$ 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
$ curl -s -L https://nvidia.github.io/nvidia-container-runtime/experimental/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
$ sudo apt-get update
$ sudo apt-get install -y nvidia-docker2
$ sudo systemctl restart docker
$ sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
$ nvidia-smiの出力があれば、上手くいっている。