しかつきかふぇ

ちょっとした休憩時間に

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

Geekoだって外出したい!

鹿野です。今日は 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でゲームをする人も踏む手順なので知ってる人も多いはず。
下記のサイトからワンクリックインストールでドライバをインストールしていきます。

Multimedia codecs and more via one click

少しだけ下へスクロールすると「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をダウンロードしてインストールします!
下記の画面で、次のように選択してください。

  • 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

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

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