どこにでもいるSEの備忘録

たぶん動くと思うからリリースしようぜ

GCEで突然nvidiaのドライバが見つからなくなったときの対応メモ

ある日突然GCEを使っていたらnvidiaのドライバが見つからなくなったような事象に遭遇しました。

調べてみるとまさに同じ事象に遭遇した方がいらっしゃいました。

qiita.com

自分の場合は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に接続できなくなったように見える。 (細かくはわからないけど、そういうふうに見えるという事象)

対応

こちらのコメントを参考にしました。

www.googlecloudcommunity.com

  1. 一回nvidia関係のツールをすべてアンインストール
  2. リブート
  3. 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

良かった良かった。

参考文献

感想

突然GPUが使えなくなって焦ったんですが、ちゃんと調べたら解決策見つかったので良かったです。 焦った…