本記事の目的
Ubuntu環境におけるNvidiaドライバおよびCUDA Toolkitのインストール
Ubuntu環境におけるNVIDIAドライバおよびCUDAのインストール方法について、なかなかうまくいかなかったので、うまくいった方法を紹介します。
環境
`:+ssssssssssssssssss+:` ---------------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 24.04 LTS x86_64
.ossssssssssssssssssdMMMNysssso. Host: A620I AX
/ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 6.8.0-39-generic
+ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 3 hours, 38 mins
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 2214 (dpkg), 17 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: bash 5.2.21
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Resolution: 1920x1080, 1920x1080
ossyNMMMNyMMhsssssssssssssshmmmhssssssso DE: GNOME 46.0
ossyNMMMNyMMhsssssssssssssshmmmhssssssso WM: Mutter
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ WM Theme: Adwaita
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Theme: Yaru-bark-dark [GTK2/3]
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/ Icons: Yaru-bark [GTK2/3]
+sssssssssdmydMMMMMMMMddddyssssssss+ Terminal: gnome-terminal
/ssssssssssshdmNNNNmyNMMMMhssssss/ CPU: AMD Ryzen 7 7700X (16) @ 5.573G
.ossssssssssssssssssdMMMNysssso. GPU: NVIDIA GeForce RTX 4060 Ti 16GB
-+sssssssssssssssssyyyssss+- GPU: AMD ATI 0f:00.0 Raphael
`:+ssssssssssssssssss+:` Memory: 12125MiB / 31196MiB
.-/+oossssoo+/-.
方法
【準備】 Ubuntu残る、既存ドライバの削除
すでにNvidiaドライバやCUDA Toolkitがインストールされており、バージョンアップ(ダウン)を行う場合にはこの手順を踏む必要があります。
① ドライバの削除
下記のコマンドをターミナルで入力し、残存するドライバ等の削除を行います。
$ sudo apt --purge remove -y nvidia-*
$ sudo apt --purge remove -y cuda-*
$ sudo apt --purge remove -y libcudnn*
$ sudo apt --purge remove -y cudnn-*
$ sudo apt autoremove -y
完了後、再起動を行います。
再起動後、互換ドライバがあたっているかと思います。
1. NVIDIAドライバのインストール
ここからは、ドライバのインストールを行っていきます。
① リポジトリの追加
CUDA Toolkit Archive( https://developer.nvidia.com/cuda-toolkit-archive )にアクセスします。
インストールしたいバージョンを選択します。
今回は、執筆時点で最新版のCUDA 12.6のインストールを想定しています。
Operating System, Architecture, Distribution, Installer Typeを以下のように選択
Versionは、自身の環境に合わせて適当に選んでください。
このようにすると、Base InstallerとDriver Installerのインストールコマンドが下段にそれぞれ表示されると思います。基本的には、Base Installerの指示に沿って行っていくのですが、
3行目までを実行した後、CUDA Toolkitのインストールをそのまま行わず、Nvidiaドライバのインストールを行います。
おそらく、イメージがつかないかと思いますので例を挙げて説明していきます。
例:CUDA Toolkit 12.6の場合
サイトに記載のBase Installer
のインストール方法は以下のように記述されています。
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
$ sudo dpkg -i cuda-keyring_1.1-1_all.deb
$ sudo apt-get update
$ sudo apt-get -y install cuda-toolkit-12-6
このとき、3行目のsudo apt-get update
までを実行し、**4行目のsudo apt-get -y install cuda-toolkit-12-6
は実行せずに、次のステップに進みます。
② NVIDIAドライバのインストール
先程のステップまでで、ドライバのリポジトリ登録は完了しましたので、続いてドライバのインストールを行います。
Ubuntuのプリインストールアプリの追加のドライバー
を開きます。
ここで、インストールしたいバージョンのNvidiaドライバを選択し、変更の適用を押して、インストールを行ってください。
インストールが完了すると再起動を促されますので、 (もし促されなかった場合でも) 再起動してください。
インストールするドライバのバージョン
ドライバのバージョンは、基本的にお好きなバージョンを入れれば良いのですが、
CUDA Toolkitで推奨するバージョンをインストールしてください
2. CUDA Toolkitのインストール
ここまできたら、CUDA Toolkitをインストールしていきます。
再度、先程のサイトのBase Installer
の欄を確認してください。
先程までのステップで、3行目まで実行したはずですので、続いて4行目のコマンドを入力してください。
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
$ sudo dpkg -i cuda-keyring_1.1-1_all.deb
$ sudo apt-get update
$ sudo apt-get -y install cuda-toolkit-12-6 ← これを実行
すると、CUDA Toolkitのインストールが始まります。環境によって待ち時間はまちまちですが、私の環境では10分程度かかりましたので、気長に待ちましょう。
3. 環境変数の追加
最後に環境変数の追加を行っていきます。
バージョンの変更等で、環境を変更した場合は環境変数の追加は不要な場合があります。
後述の動作確認を行ってみてうまくいかないようであれば、この手順を実施すると良いでしょう。
~/.bashrc
を管理者権限を付与したテキストエディタ等で開いてください。
ここでは、Ubuntuのデフォルトシェルであるbash
を例にしていますが、zsh
などの別のシェルをお使いの場合は、そのシェルに対応したrcファイル
を開いてください。
開けましたら、次の記述を末尾に追加してください。
# CUDA Toolkit
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
追加できたら、保存を行ってシェルの設定を行います。
$ source ~/.bashrc
何もエラーが表示されなければ、ここまででインストール作業は終了です。
お疲れ様でした!
動作確認
最後に動作確認を行います。ターミナルで以下のコマンドを入力してください。
$ nvidia-smi
user@hoge:~$ nvidia-smi
Mon Aug 5 12:17:00 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.06 Driver Version: 555.42.06 CUDA Version: 12.5 |
|-----------------------------------------+------------------------+----------------------+
| 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 RTX 4060 Ti Off | 00000000:01:00.0 On | N/A |
| 0% 56C P2 34W / 165W | 1392MiB / 16380MiB | 5% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 2841 G /usr/lib/xorg/Xorg 228MiB |
| 0 N/A N/A 3086 C ...libexec/gnome-remote-desktop-daemon 120MiB |
| 0 N/A N/A 3149 G /usr/bin/gnome-shell 57MiB |
| 0 N/A N/A 3236 G ...libexec/gnome-remote-desktop-daemon 0MiB |
| 0 N/A N/A 3648 G /usr/libexec/xdg-desktop-portal-gnome 14MiB |
| 0 N/A N/A 3991 G ...seed-version=20240802-130108.496000 96MiB |
| 0 N/A N/A 5665 G /usr/bin/gnome-control-center 17MiB |
| 0 N/A N/A 6815 G ...erProcess --variations-seed-version 73MiB |
| 0 N/A N/A 8055 G ...nglingPtr --variations-seed-version 57MiB |
| 0 N/A N/A 8536 G ...yOnDemand --variations-seed-version 27MiB |
| 0 N/A N/A 36891 G /usr/bin/nautilus 14MiB |
| 0 N/A N/A 37979 C .../.anaconda3/envs/PyTorch/bin/python 618MiB |
+-----------------------------------------------------------------------------------------+
細かい表示は異なりますが、このような画面が表示されるはずです。
このようになっていれば、NVIDIAドライバは正しくインストールされています。
続いて、以下のコマンドを入力してください。
$ nvcc -V
すると、
user@hoge:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Jun__6_02:18:23_PDT_2024
Cuda compilation tools, release 12.5, V12.5.82
Build cuda_12.5.r12.5/compiler.34385749_0
となれば正しくCUDA Toolkitがインストールされています。
エラーとなった場合は、~/.bashrc
を確認してみましょう。
参考文献