Debian10でGeForce RTX 3080を使ってCUDAするための準備
先日、激戦を勝ち抜き GeForce RTX 3080 を買いました。
ツクモさんで注文し、手に入れることができました!ヒャッホー!!
— kWatanabe (@WWatchin) 2020年10月14日
生まれて初めての単体で6桁円するPCパーツを買いました!!! pic.twitter.com/rlg7Ax45hY
とはいいつつも、私はPCでゲームを殆どしないので、メインマシンは75W級グラボの最高傑作だと思っている Quadro P2200 をそのまま使います。
キター pic.twitter.com/2MN7mjTjoL
— kWatanabe (@WWatchin) 2020年5月2日
では、なぜ GeForce RTX 3080 を調達したかなんですが、自宅のなんちゃって IaaS の GPUコンテナ で CUDA するためです。しかし、GeForce RTX 3080 はリリースされたばかり。debian-backportsでもSidでもドライバが古く、3080 を動かせません。
なので、3080 を動かせるドライバに入れ替えることにしました。
2021/02/03 追記
- 半年の歳月を経て、
buster-backports
にも、GeForce RTX 3080 対応のドライバがリリースされました。現在は、以下の記事に頼らなくても、debian-backports
リポジトリで対応できます。
GeForce RTX 3080 を動かせるLinuxドライバ
GeForce RTX 3080 を使うためには、455.23 以上でなければなりません。2020/10/15現在、Debian の各リポジトリの nvidia-driver のバージョンは以下の通りです。
リポジトリ | バージョン |
---|---|
stable (buster) | 418.152.00-1 |
backports (buster-backports) | 450.66-1~bpo10+1 |
testing (bullseye) | 450.66-1 |
unstable (sid) | 450.66-1 |
不安定版のSidを以てしても、まだ足りません。NVIDIAから公式バイナリを入手する手もあるのですが、できれば apt で一元管理したい。そこで experimental リポジトリを使うことにしました。
experimental リポジトリ
要するに、Sid (不安定版)に取り込む前の開発用リポジトリです。ページには「一般ユーザはこのリポジトリのパッケージを使ってくれるな」(意訳)と書いてあります。
また、各種パッケージのページにも以下の警告が記述されています。
- 警告: このパッケージは experimental ディストリビューションのものです。つまり、おそらく不安定でバグがあり、それどころかデータの損失を起こすかもしれません。使用前には、変更履歴やその他の参照可能なドキュメントを必ず調べてください。
2020/10/15現在、experimental リポジトリの nvidia-driver は455.23です。ちょうど GeForce RTX 3000 をサポートし始めたバージョンです。
導入
手順自体は、debian-backports や Sid を使う時と変わりません。/etc/apt/sources.list
にexperimentalリポジトリを追加して、apt するだけです。
$ sudo vim /etc/apt/sources.list deb http://deb.debian.org/debian/ experimental main non-free contrib $ sudo apt update $ sudo apt -t experimental install nvidia-driver
運が良ければ、ちゃんと稼働してくれることでしょう。
2020/11/28 追記
- もし依存パッケージが解決できないようなら
testing
やbuster-backports
リポジトリも追加してください。 testing
を登録した際、システム全体testing
にアップグレードされることを防ぐために/etc/apt/apt.conf
にAPT::Default-Release "stable";
を付けると良いと思います。
2021/01/20 追記
- ついに、
testing
に 460 のドライバが降りてきました。 - なので、危ない橋を渡って
experimental
リポジトリを使わなくても、testing
リポジトリを足すだけで大丈夫になりました。 - また、今年の夏頃にリリース予定の Debian 11 では、何もしなくても RTX 3080 が使えるようになります。
2021/02/03 追記
- 半年の歳月を経て、
buster-backports
にも、460 のドライバが降りてきました。 - なので、今は Debian10 でも、
buster-backports
リポジトリを足すだけで、RTX 3080 が使えるようになりました。
結果
まだ、GeForce RTX 3080 は組み込んでいませんが、ドライバだけ入れ替えました。GPUをパススルーしたコンテナからも、ちゃんと新しいドライバが動いています。
$ sudo nvidia-smi Thu Oct 15 00:43:32 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 455.23.04 Driver Version: 455.23.04 CUDA Version: 11.1 | |-------------------------------+----------------------+----------------------+ | 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 GeForce GTX 105... On | 00000000:0A:00.0 Off | N/A | | 29% 31C P8 N/A / 75W | 1MiB / 4040MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
あとは、GeForce RTX 3080 を組み込んで CUDA が動けば問題なしですね。
2020/10/16追記
GeForce RTX 3080 組み込み完了しました。 コンテナの中から、ちゃんと GeForce RTX 3080 を認識できています。バッチリですね。
参考
大元のGPUコンテナを作った時の記事はこちら。 kwatanabe.hatenablog.jp