動かざることバグの如し

近づきたいよ 君の理想に

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driverで死ぬ

環境

  • gcp Ubuntu 16.04
  • Tesla k80
  • CUDA 8.0
    • CUDA 9でもダメだった

突然CUDAが使えなくなる

ある日pythonからGPUが使えない事態に。やれやれと思ってnvidia-smiしても

# 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.

は????????????同じ環境でつい3日前まで使えてたじゃん??????????謎の半導体メーカーNVIDIAの陰謀ってやつなのか????????

原因

Ubuntu側が提供している最新のLinuxカーネルにアップデートするとCUDAが動かなくなる

解決策

つまり以前のLinuxカーネルのバージョンに戻すしかない。今回は

  • 最新:4.13.0-1006
  • 旧:4.10.0-1004

だったので

旧バージョンのカーネルをインストール

# apt install linux-cloud-tools-4.10.0-1004-gcp linux-gcp-cloud-tools-4.10.0-1004 linux-gcp-headers-4.10.0-1004 linux-gcp-tools-4.10.0-1004 linux-headers-4.10.0-1004-gcp linux-image-4.10.0-1004-gcp linux-image-extra-4.10.0-1004-gcp linux-tools-4.10.0-1004-gcp

最新を一旦削除

# apt remove linux-gcp-headers-4.13.0-1006 linux-headers-4.13.0-1006-gcp linux-image-4.13.0-1006-gcp

GRUBの更新

# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.10.0-1004-gcp
Found initrd image: /boot/initrd.img-4.10.0-1004-gcp
done

で、再起動 uname- aでバージョンが古くなっていればおk

以前のバージョンとかはapt list|grep gcpとかで調べた

ふぁきんNVIDIA案件だわ