ある日突然GCEを使っていたらnvidiaのドライバが見つからなくなったような事象に遭遇しました。
調べてみるとまさに同じ事象に遭遇した方がいらっしゃいました。
自分の場合はGCP環境だったのでこの通りできませんでしたが、今回はGCP環境で突然NVIDIAのドライバがなくなったように見える事象が発生した際の対応についてメモします。
事象
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.
見え方としてはドライバがないように見えます。さっきまで普通に使えていたのに…。
ちなみに他のコマンドも確認してみます。 pythonからは当然GPUが見えない。
$ python Python 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:40:32) [GCC 12.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import torch >>> print(torch.cuda.is_available()) False
nvccは入ってそう。
$nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Wed_Sep_21_10:33:58_PDT_2022 Cuda compilation tools, release 11.8, V11.8.89 Build cuda_11.8.r11.8/compiler.31833905_0
compilerはあるのにドライバだけ消えて、GPUに接続できなくなったように見える。 (細かくはわからないけど、そういうふうに見えるという事象)
対応
こちらのコメントを参考にしました。
- 一回nvidia関係のツールをすべてアンインストール
- リブート
- GPU ドライバをインストールする | Compute Engine ドキュメント | Google Cloudに従ってドライバなどを再インストール
これでちゃんと動きました。
$ nvidia-smi Sat Sep 30 06:09:14 2023 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA A100-SXM... Off | 00000000:00:05.0 Off | 0 | | N/A 37C P0 60W / 400W | 0MiB / 81920MiB | 26% Default | | | | Disabled | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
もちろんpythonからも見える。
$ python Python 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:40:32) [GCC 12.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import torch >>> print(torch.cuda.is_available()) True
良かった良かった。
参考文献
- A100 GPU VM on GCP: “NVIDIA-SMI has failed because... - Google Cloud Community
- GPU ドライバをインストールする | Compute Engine ドキュメント | Google Cloud
感想
突然GPUが使えなくなって焦ったんですが、ちゃんと調べたら解決策見つかったので良かったです。 焦った…