LoginSignup
2
1

More than 1 year has passed since last update.

UbuntuをアップグレードしたらGPUが使えなくなった時のメモ

Posted at

UbuntuのアップグレードをしたところCudaが動かなくなったので、修正したときのメモです。
基本的には、こちらのリンクの通りでうまく行ったのですが、cudaのアップグレードでエラーがでたため、cuda-driversのインストールなどをしてUbuntuのアップグレードをしました。但しその後cudaが動かなくなり、driverのインストールを行って無事GPUの環境を再現できました。

行ったこと

  1. Ubuntu16.04 -> Ubuntu18.04 -> Ubuntu20.04にアップグレードした。
  2. Ubuntu20.04dでGPUが動かなくなったため、修正した。

動作環境

OS(アップグレード前)
$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"
OS(アップグレード後)
$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS"

1. Ubuntuのアップグレード

こちらのリンクを参照しました。

Ubuntu16.04 -> Ubuntu18.04
$sudo apt update
$sudo apt upgrade
$sudo apt dist-upgrade
$sudo apt install ubuntu-release-upgrader-core
$sudo do-release-upgrade

最初の sudo apt updateのところで、cudaの公開鍵に関連したwarningなどがでて上手く解決できませんでした。そのまま先に進んだところ、sudo do-release-upgrade のところでcuda-driversのアップグレードが必要とのメッセージがでてUbuntuのアップグレードができなかったために、以下のコマンドでcuda-driversをインストールしました。

cuda update対応
$sudo aptitude install cuda-drivers

これによりsudo apt updateのエラーがなくなり、上記sudo do-release-upgradeまで行うことでUbuntu18.04へのアップグレードができました。その後は、先程のリンクにも書かれている通り、上記を繰り返すことで、無事Ubuntu20.04へアップグレードできました。

Ubuntu18.04 -> Ubuntu20.04
$sudo apt update
$sudo apt upgrade
$sudo apt dist-upgrade
$sudo apt install ubuntu-release-upgrader-core
$sudo do-release-upgrade

2. GPU環境の再構築

Ubuntu16.04ではpytorchでcudaを使っていました。Anacondaの仮想環境で、jupyter notebookを立ち上げて、というところまでは、20.04でも問題なく動作したのですが、以下でcudaが動作していないことがわかりました。

cuda
import torch
print(torch.cuda.is_available())
  -> False

GPUは認識されているようでした。

cuda
$lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)

そこで、こちらのリンクを参考に、NVIDIAのGPUドライバをインストールすることで解決しました。

Nvidia GPU driver
$ sudo apt update
$ sudo apt upgrade
$ sudo ubuntu-drivers devices

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001B06sv00001462sd00003609bc03sc00i00
vendor   : NVIDIA Corporation
model    : GP102 [GeForce GTX 1080 Ti]
driver   : nvidia-driver-510 - distro non-free recommended
driver   : nvidia-driver-390 - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-510-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

ちなみに、上記リンクによると、sudo ubuntu-drivers devicesが動作しないときは、以下のようにubuntu-driversをインストールするとよいそうです。

Nvidia GPU driver
$ udo apt install -y ubuntu-drivers-common

上記でrecommendedとなっているdriver(上記ではnvidia-driver-510)をインストールするとよいそうなので、以下のようにインストールして、再起動しました。

Nvidia GPU driver
$sudo apt install -y --no-install-recommends nvidia-driver-510

再起動後に, インストールを確認します。

install 確認
$nvidia-smi

Mon May  9 11:59:06 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.60.02    Driver Version: 510.60.02    CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| 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 GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
| 29%   44C    P0    58W / 250W |    239MiB / 11264MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1171      G   /usr/lib/xorg/Xorg                 53MiB |
|    0   N/A  N/A      2174      G   /usr/lib/xorg/Xorg                 82MiB |
|    0   N/A  N/A      2311      G   /usr/bin/gnome-shell               89MiB |
+-----------------------------------------------------------------------------+

pytorchから確認すると、cudaが使えるようになっていました。

cuda
import torch
print(torch.cuda.is_available())
  -> True

参考リンク

  1. Ubuntuのアップデート手順(16.04 → 18.04 → 20.04)
  2. ubuntu20.04にNVIDIA GPUドライバをインストール
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1