openSUSE Leap15.2でAIを始めてみよう!

Geekoだって外出したい!

f:id:a_shika:20201202203327j:plain

鹿野です。今日は openSUSE Advent Calendar 2020 の2日目となります。

……って待て待て。前回の記事は8月ってあるのに、もう12月かよ〜!?
と嘆きたくなりますが・・・はい、今日は技術ネタということで。。
(でもこのブログ、なんだかんだ言って技術ネタの方が圧倒的アクセス数あるんよ(笑)

本日のお題は、openSUSE 15.2でAI開発を始めてみよう!』です。

AI開発と言うと、GPUをぶん回して、そのためにCUDAとかなにやら面倒くさいもの入れて・・・なかなかのLinuxディストリビュータ泣かせな一面もあったりするのですけど、、

openSUSEならなんとかいけます!!

と、オープンソースカンファレンスではちらっとその話をしたことあったのですが、そう言えばブログ記事にしたことなかったな〜と思いましたので、今日はこのネタを紹介させていきます!

まずは手順の紹介

簡単です。というより、手順は他のLinuxディストリビューションと変わらないはず。

  1. NVIDIAドライバをインストール
  2. CUDAのインストール
  3. CuDNNのインストール

問題はそのインストール方法ですよね。そこはopenSUSEなりのお作法があるので、おさらいもしつつ進めていきましょう!

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

一番最初は、NVIDIAのドライバです。
と言っても、これについてはopenSUSEでゲームをする人も踏む手順なので知ってる人も多いはず。
下記のサイトからワンクリックインストールでドライバをインストールしていきます。

openSUSE-Community.Org

少しだけ下へスクロールすると「NVIDIA Graphics Card Driver」というのが見えてくると思います。
その中の、最近のNVIDIA GPUであれば Geforce 600 series and later」 を選択しましょう。

いつものように「1 Click Install」をクリックすると、YaSTが起動してインストールが始まるはずです。

ここまでは簡単ですね!

2. CUDAのインストール

問題はここだ!!

こいつのせいで「やっぱしUbuntuにしないとダメなのかな〜」となる人も多いはず。
ですが、openSUSEならその懸念も問題なしってことですね!

まずは、CUDAのダウンロードページへアクセスしましょう!

developer.nvidia.com

どやっ!!・・・ってくらい CUDA 11.1 を推されていますが(2020/12/2現在)

間違ってもCUDA11.1をインストールしないようにしましょ〜(笑)

理由は簡単で・・・

  • TensorFlow 2.1.0 = CUDA 10.1
  • PyTorch 1.7.0 = 〜CUDA 11.0

てな具合に、主要な深層学習フレームワークは誰も CUDA 11.1 をサポートしていません!

なので、必要なCUDAのバージョンを、こちらから検索してください。

developer.nvidia.com

必要なバージョンは予め自分で確認しておきましょうね!
とりあえず TensorFlowとPyTorchの両方を使用したい場合は、10.1を選択しておけばOKです。

・・・気を取り直して・・・CUDAのインストール!!

それではCUDAをダウンロードしてインストールします!
下記の画面で、次のように選択してください。

f:id:a_shika:20201202211231p:plain

  • Operating System : Linux
  • Architecture : x86_64
  • Distribution : OpenSUSE ※本当は "openSUSE" なんだがな・・・
  • Version : 15
  • Installer Type : runfile (local)

ポイントは、「Installer Type」に、 「runfile (local)」を選択すること!

え〜!? と思うかもしれませんが、間違ってもRPMを選択してはいけません!!!

理由は・・・まぁ察しの良い方は気づくかと思いますが、NVIDIAから提供されるRPMは大抵壊れてます(汗)
RPMを使ってインストールしてしまうと、稀に・・・どころか、ほぼ確実に画面が映らなくなったりしたりするので、絶対に runfile を選択してください!

そうすると CUDA 10.1 をインストールする場合は、下記のコマンドでよかったわけですね!
(ブラウザなど必要なかった・・・)

wget https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
sudo sh cuda_11.1.1_455.32.00_linux.run

さて、後は画面に出てくる手順通り進めていけばいいわけですが、ここでもう一つ注意点があります。

NVIDIAドライバをインストール対象からチェックを外し、絶対にインストールしないようにしましょう!

理由は・・・もう書くまでもない気もしますが、RPMからインストールした時と同様、壊れます!(汗)
下記のブログを参考にしつつ、インストールしていただけたらと思います。

Installing CUDA and cuDNN on openSUSE Tumbleweed – Tobias' blog

※ようは今日の元ネタはこちらのブログとなります。Tumbleweedも同じ方法でいけるってことですね!

あとはCuDNNのインストールですが、、、こちらはライブラリを所定の場所に置くだけですね。
CuDNNはNVIDIAのドキュメントを参考にしつつ、ライブラリを配置すれば大丈夫でしょう。
※CuDNNのダウンロードにはNVIDIAへの登録が必要となります。

余談・・・

ちなみに、、、openSUSE 的なフォーラムなインストール方法はこれらしいです。

news.opensuse.org

ビルドを頑張りたい方はぜひ!(私は遠慮させていただきました・・・^^;

余談その2

別にCUDAなんてインストールしなくても、コンテナの中でTensorFlowやPyTorchが動いてくれればいいんだ!
・・・という方は、Singularityを使ってみましょう〜

たしかにこの方法であればCUDAのインストールは不要ですよね。(だったはず)

blog.geeko.jp

(てかこっちのブログは私書いていたんだな

まとめ!

いかがでしたでしょうか。
今日は openSUSE で AIを始めてみるということで紹介させていただきました。

実際、openSUSE Leap15.2からAI開発はだいぶやりやすくなったと思います。
というのも、先ほど紹介した SingularityやSlurmがどちらもワンクリックインストールできるようになっています。

Slurm Workload Manager - Documentation

Slurmについては、、、いずれ紹介するとして、今日はここまで!ということで。

P.S. あ、最後に番宣させてください。

連載小説『チロルハイムの四次元彼女』は200話を突破しました!
最終回は今年末(たぶん 12/28)。

kakuyomu.jp

お話的にもいよいよラストスパートとなってきました。
ここまで読んでいただいてる方も、まだ読んだことないという方も、最後までお付き合いしていただけたらと思います。

来年からは新連載も予定してます。・・・って話はまたどこかで!