raahii.meのブログのロゴ画像

ウェブログ

Ubuntu16.04 で nvidia ドライバが再起動の度に無効になる

症状

Cudaのインストール手順を一通り済ませているにも関わらず,Ubuntuを起動するたびに 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.

解決策

原因は .run ファイルを使ってドライバのインストールをしていたからだった.下記のページが参考になった.

とはいえ,Ubuntuの場合はパッケージマネージャからドライバを直接インストールできるので,aptを使ったほうが良いと思う.まずはppaを追加する.

❯ sudo add-apt-repository ppa:graphics-drivers/ppa
❯ sudo apt update

肝心のドライバのパッケージだが,検索すると色々出てくるのでインストールされているGPU及びCUDAに合ったバージョンを入れる.NvidiaのHPから検索ができる.

❯ sudo apt search "nvidia-[0-9]+\$"
Sorting... Done
Full Text Search... Done
nvidia-304/xenial 304.137-0ubuntu0~gpu16.04.1 amd64
  NVIDIA legacy binary driver - version 304.137

nvidia-331/xenial-updates,xenial 340.107-0ubuntu0.16.04.2 amd64
  Transitional package for nvidia-331

nvidia-340/xenial-updates,xenial 340.107-0ubuntu0.16.04.2 amd64
  NVIDIA binary driver - version 340.107



❯ sudo apt install nvidia-430 # 例

再起動してnvidia-smi が表示されればOK.

❯ nvidia-smi                                                                                 Wed Oct 16 22:19:32 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26       Driver Version: 430.26       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  TITAN RTX           Off  | 00000000:01:00.0 Off |                  N/A |
| 23%   42C    P0     1W / 280W |      0MiB / 24219MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

めでたし.