しかつきかふぇ

ちょっとした休憩時間に

openSUSE Leap15.6でNVIDIA CUDA環境を構築してみよう

どもです。
何なんですかこれは一体!??というくらい相変わらずバタバタしてます。
もう本気でワケがわからん!!!

ひとまず、、、『セピ傘』こと、『セピア色の傘立て 流れ降る星の雨音』の最新話は、明日のどこかのタイミングで更新予定です。

cafe.shikanotsuki.me

『セピ傘』は、話の流れとしては前からあった『エーデルシュティメ』の派生作品でしたが、今書いてるお話を年内に完結予定となります。しばらくは休載になるかな〜と。最近は書きたいものがずれてきてるというのに気づいてしまったため。
新年となる来年からは、全く新しいお話を書き始める予定で、裏でその構想中です。

もう少しラブコメ感を出したものにしていく予定。そっちのほうが需要がありますしね!(そこ?)

さて今日は、毎年恒例『openSUSE Advent Calendar 2024』の7日目の記事です!
adventar.org

珍しく埋まってないぞぉ〜〜(笑)

今日のお題は、そろそろ書かなくては!という最新版 openSUSE Leap 15.6 に対して CUDA環境(ようは機械学習環境)をつくるには?です。
最近は随分NVIDIA関連のインストールが楽になりました! ※実はopenSUSEに限らずですが どこがどう楽になったのか、最新事情を紹介しながらNVIDIA関連のインストール方法を書いていこうと思います。

ちなみに写真は本日の彼岸花。・・・今年は暑すぎたのか咲かなかったのですけどね。。。

まずは openSUSE Leap15.6 のインストール

本日(2024/12/7)時点の Leap版 openSUSE の最新バージョンは Leap 15.6 です。
Leap 15.6 は以下からダウンロード可能です。

get.opensuse.org

openSUSE には Leap と Tumbleweed の2種類があります。

  • openSUSE Leap : 安定版
  • openSUSE Tumbleweed : ローリングリリース版

Arch Linux などに慣れてる方は Tumbleweed の方がおすすめですけど、今日は Leap のお話。
とはいえ、NVIDIA CUDA 環境構築手順については現時点では Leap も Tumbleweed も大差ないです。
お好きな方を選んでください。

ちなみにちなみに、、、インストールは DVD 版をダウンロードしてインストールする のがおすすめだったり。
私だけか知らないけど、ネットワークインストール版は最近妙に不安定に思うんだよなぁ〜って。

NVIDIAドライバのインストール

次に NVIDIA のドライバをインストールします。以前はここが不安定でしたよね!?
ですが最近はかなり安定しているように思います。

NVIDIA GPU が搭載された PC へ openSUSE をインストールすると、半自動(?)で NVIDIAドライバがインストールされようとします。
どう半自動なのかって・・・とりあえず、openSUSE Leap 15.6 をインストールして、起動してきたら、、、

YaST を開いて、「ソフトウェア管理」をクリック

してみてください。
すると、強制的(?)に下記の画面が出てくるかと思います。

ここでは、 "openSUSE-repos-Leap-NVIDIA" というのがインストールされることが肝となります。
無事、インストールされましたでしょうか???

次に、もう一度 下記の操作をします。

YaST を開いて、「ソフトウェア管理」をクリック

どう見ても同じ操作にしか見えないですが、すると次は下記の画面が強制的(??)に出てくると思います。

お、なんだか今度こそ NVIDIAドライバっぽいものが諸々選択されていますね。

つまりは最初の1回目で、必要なリポジトリを追加して、
2回目でインストールされたリポジトリ(?)から NVIDIAドライバをインストールする
ってわけですね!

なんてシンプルなんだ!!(どこがだよ!?)

が、実はまだこのままだと "nvidia-smi" コマンドが叩けず、ちょっと悲しいので、ついでに下記のパッケージもインストールしておきます。

sudo zypper install nvidia-utils-G06 nvidia-compute-utils-G06

ここまでインストールしてPCを再起動すれば、NVIDIAドライバのインストールも完了です!

かんたんですね!!!(なのか??) ←いや去年に比べたらよほど楽ですよほんとに

CUDAをインストールしてみよう!

PyTorch や TensorFlow などを扱う場合、CUDAもインストールが必要です。
がその前に、CUDAのビルド環境を作っておく必要があります。
このあたりは YaST でちゃちゃっと済ましておきましょう。

YaST を開いて、「ソフトウェア管理」をクリック
→ パターンから「基本的な開発」「Linux カーネル開発」を選択してインストール

私は一応「C/C++ 開発」も選んでインストールしましたが、これは確か正確にはいらなかったはず。。。

ビルド環境を整えたら、CUDAをインストールしていきます。CUDA は NVIDIA のサイトに従ってインストールします。

が、ぶっちゃけ下記のコマンドでOKだったりします。

wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run
sudo sh cuda_12.4.1_550.54.15_linux.run

注意点として2つほど。

  1. NVIDIAドライバは openSUSEリポジトリからインストールしているのでここではインストール不要
  2. openSUSE に対応している NVIDIAドライバは CUDA 12.4 が指定されていること ※PyTorchの場合

CUDAのバージョンは12.4 よりも新しいものもあるのですが、先程の nvidia-smi コマンドで確認すると、対応CUDAバージョンが 12.4 であることが記載されてます。(あれってインストール済みCUDAバージョンじゃなくて、ドライバが対応しているCUDAバージョンを表示しているだけなんですよね)

ちなみに最新の PyTorch も標準は CUDAバージョンが 12.4 となっているため、実は何も影響がありません。
なお、 TensorFlow は、 CUDA 12.3 が必須のようですね。(参考

(余談なんですけど、PyTorchはCUDAが 12.3 だったかな?以降であれば割とバージョン関係なく動くらしい。が、TensorFlowはとにかくCUDAがどうなろうと知ったこっちゃないらしく、本気で 12.3 でしか動かないとかなんとか。日本語のドキュメントの方にはそんなこと一切書いてない(上の参考URLは英語ドキュメントにしないと出てこない情報)だし、やっぱしTensorFlow ってオワコ・・・げほっげっ ←とにかく日本語公式ドキュメント直してほしいよね!!)

てことで、CUDAまでインストールできました! お疲れ様でした!!!

最後に。

さてブログの方を書き終わった。次は冬コミ原稿を書かなくては・・・。←ぇ