2018年12月7日金曜日

LinuxのAPU/GPU周辺は闇

久々にAMDのノートPCを買って気付いたのですが、最近のLinuxのAPU/GPU周りってめちゃくちゃ難しいんですね。 一番クリティカルな部分は、ノートPCでよく使われるAPUはLinuxがサポートしてないところ。

APUへの対応がないと、CPU性能がかなり落ちてしまう。 じゃあAMD APUはLinuxだとただの駄目な子なの?となってしまうのだけど、解決する手段はない事もない。 APUを認識させるためのドライバを用意すれば良いのです。


ただしここで最初の闇です。AMDは純正のAMDGPU-PRO DriverはLinuxに対応していない事が非常に多い。 私はAMD Ryzen 5 2500U / AMD Radeon Vega 8 Graphicsが搭載されたHPのノートPCをLinux化しようとしたのですが、Linuxドライバは非対応でした。

非対応のものにドライバを適用しようとしても、すぐに画面が表示されなくなったり、OSが起動しなくなったりします (闇)。 特に18.04はサポートしてないので間違って入れるとOSが起動しなくなる。 といってサポートのある16.04にしたからといって動く訳でもなく、私は起動後にブラックスクリーンで停止するので、利用は諦めました。


純正ドライバが駄目でもまだ手はあります。それはMesaなどのオープンドライバを利用してハードを認識させる方法です。 Mesaは依存関係が多いので手動インストールは辛そうだけど、PPA経由のapt-getでもインストールできる (下)
sudo add-apt-repository ppa:ubuntu-x-swat/updates
sudo apt update

AMDGPU-Pro Driverでも認識してくれないAMD Ryzen 5 2500UのAPU部分が認識され、mnist_cnn.py の実行時間が10%ほど性能改善していました。 ただもう1つ購入したDELL PCと比較すると、WindowsではCPUスコアに2倍も差がある上に結構なスペック差があるのに (下)、Linuxでの実行時間は25%くらいしか改善してないんですよねえ。 あまり性能を発揮できていないような気はしなくもない (闇)。



今回は運良くAPU部分がほんの少しでも改善できて良かったですが、AMDは購入前に徹底的に調べないと買うの怖いなあと思いました。

0 件のコメント: