見出し画像

Ubuntu 22.04環境とcuda tool kit

かれこれ、色々時間のみ費やされたcuda tool kitの設定。
無知な私が原因ではあるのだが、備忘録として残しつつ恥をさらそうと思う。

nvidia driver

当たり前ではあるのだが、nvidia製のGPUボード(orチップ)を購入あるいは付属したPCにUbuntuをインストールした人は、nvidia driverをインストールするとは思う。
インストールしたnvidia driverの動作確認をするには、nvidia-smiコマンドを使って確認することになる。

$ nvidia-smi
nvidia-smi実行結果画面サンプル

cuda tool kitのインストール

ここで、右上にCUDA Versionと出ている数字に気が付くかと思う。
cuda tool kitをインストールする場合に、cuda tool kitのバージョンは12.1しか動作しないと思うかも知れない。

試しにcuda tool kitの11.8をインストールしたいと思ったとする。(私!
そうなると、cuda tool kit 11.8のインストール情報をnvidiaから探すことになります。
「cuda toolkit 11.8 downloads」のキーワードで検索するとGoogleさんが見つけてくれます。

cuda tool kit 11.8 downloadで検索したサイト

上記サイトで、Operating Systemから順に自分の環境を選択していくと、インストールするコマンドを表示してくれます。
この例では、「deb(local)」を選択しています。
全部をローカルにダウンロードしてcuda tool  kitをインストールしてくれるんですが・・・結果は、実行時の最新nvidiaドライバーとcuda tool kitのバージョンに勝手に変更されてしまいます。

runfile(local)を試して見ましたが結果は同じでした。(涙
dev(network)のみ試していませんが、結果は・・・

結果は?

なんと、nvidia driverは最新にアップデートされ、更にはcuda tool kitも最新版ばインストールされてしまうのです。
コンソール上では途中までちゃんと11.8がインストールされているように見えたのですが・・・(オロオロ

nvidia diverはcuda tool kitのコマンド中に「・・0-520.61.05-1_amd64.deb」と見えるので、driver versionを520にダウングレードしないと不味いのか?
そう思ったら、nvidia driverとインストールしたcuda tool kitをアンインストール(実際はsudo apt purge コマンドです)で全て削除後に、指定driverバージョンをインストールします。

こんな徒労をしても、最終的には最新版のnvidia driverとcuda tool kitになるんですよ。(トホホ

どうするのが正解?

あれこれ考えても、Googleで検索しても良い結果を見つけることが出来ませんでした。
ここで、仕方がないのでChatGPT(Model: GPT-4)に、これまでの経緯をちゃんと入力して聞いてみました。(最初から聞けよ!

ChatGPTに問い合わせた結果
sudo apt-get install cuda-11-8
export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

7. 変更を反映するために、ターミナルで以下のコマンドを実行します。

ChatGPT
source ~/.bashrc

8. CUDA Toolkitのインストールが成功したかどうかを確認するには、以下のコマンドを実行してください。

ChatGPT
nvcc --version

補足)画像で漏れていた部分の必要そうなコマンドを転記しました

nvidiaさんのとこには、dev(local)の最終行に記載しているコマンドをそのまま実行すると最新版が必ずインストールされるってどこにも書いていないんですが? いないいですが??

もうね、こんなの常識って言われてもねぇ・・・

nvidia driverとcuda tool kitの関連は?

ここにはありませんでしたが、nvidia driverのバージョンとcuda tool kitのバージョンの関連性について、ChatGPTに聞いています。
すると、下記リンクを見て、driverバージョンとcuda tool kitのバージョンの互換表を見て確認しろとのこと

NVIDIA CUDA Toolkit Release Notes

確かに。
cuda tool kitは主にpytorchのバージョンに関連するため、ちょっと古めのライブラリだったり、開発時点が古めのライブラリを使っていたOSS系は、バージョンに注意しないと不味いのです。

nvidia driver操作周りの鉄則

そうそう、nvidia driverの入れ替えなどは必ずターミナルでcuiで行って下さい。ubuntu標準の「追加のドライバー」から操作すると失敗することがあります。

追加のドライバー画面

Ubuntuでnvidia driverが動かなくなったら?

特に、iGPUとdGPUの両方搭載したノート系の場合、ツボにハマりやすいです。dGPUのみでもセキュリティアップデートで、稀にGPUドライバーが上手く動作しなくなることもあります。
その場合は、下記コマンドで治ることが多いです。

$ sudo apt install --reinstall nvidia-driver-xxx

(xxxはドライバーバージョン番号)

これでも駄目なら、以下のリンク先のコマンドを実行してください。
nvidia driver全て削除して再インストールする一式です。

UbuntuをアップデートしたらNvidia Driverが壊れた

Ubuntuとnvidia driverライフに幸・・アレ?(よくあるよくある

<余談> 2023.5.25 

別記事で、Asus製Zephyrus G15に11.7を導入したので、上記を適用してみた話を追記します。(別記事でWiFi&BTカード交換し本格稼働に入ったため)

LLMではcuda tool kitのバージョンが 11.7を使っている人が多いように見受けられました。Ubuntuを使っている人は20.04で22.04じゃない。

※Google Colabではcuda tool kitは11.8です。

Ubuntu 20.04にしようかとも考えていたのですが、cuda tool kitを11.7にすればいいんじゃね?ってことで実施しました。

結論か言うと、問題無く成功したのです。
が、1点だけ、cuda tool kit 11.7をインストール後に、Nvidia Dirverは530にしていたのですが、515が中途半端にインストールされましたのでnvidia-smiも動作しません。

上の「Ubuntuでnvidia driverが動かなくなったら?」のコマンドで530を入れ直して完了となりました。
という訳で、筆者も新規PCで実践してみたという編集後記っぽい内容です。

実行後のsmiとnvcc結果

この記事が気に入ったらサポートをしてみませんか?