AMD Ryzen Gをサポートするプロプライエタリなドライバーがリリースされました。そこで、第510回に引き続きRyzen 5 2400G内蔵GPU(APU)のベンチマークを計測します。
もはやパワフルではない
今回は第510回 の続きで、このときは中途半端にしかできなかったGPUのベンチマークを行います。とはいえ、すでに柴田さんが第523回 と第524回 でさらにパワフルなPCを取り上げているため、もはやタイトルに偽りありという状態になっています。しかしタイトルはわかりやすさ第一ということで、510回のものを踏襲しました。
使用したPC
使用したPCは第510回と同じですが、少しだけスペックに変更があります。
APU
AMD
Ryzen 5 2400G
マザーボード
ASRock
AB350 Gaming-ITX/ac
メモリ
Crucial
CT2K16G4DFD824A
SSD
ADATA
ASX7000NP-256GT-C
ケース
Cooler Master
Elite 130 Cube
電源
玄人志向
KRPW-PT500W/92+
今回はSSDをWDS512G1X0CからASX7000NP-256GT-Cに変更しました。というのも、WDS512G1X0Cはどうにも相性問題が解決できず、安定して使用できていません。マザーボードのUEFI BIOSのアップデートあるいはWDS512G1X0Cのファームウェアのアップデートで解決する問題とは思いますが、いつ安定して使用できるのかはわかりません。このSSDは検証用に購入したものなので、本運用では容量不足で、何か新しいものを買わなくてはいけないのかなと頭を抱えつつ若干楽しみでもあったりして、このあたりは自作PCならではのドキドキ感です。
使用したOSはもちろんUbuntu 18.04 LTSです。
ベンチマークの結果を眺めていても傾向がわかりにくかったため、急遽SAPPHIRE PULSE Radeon RX 550 2GD5 も追加することにしました。
使用したドライバー
第524回でも紹介したように、AMDのGPUには大きくオープンソースとプロプライエタリなドライバーが存在します。今回はその両方を試します。ここではオープンソースのドライバー(最初からインストールされているドライバー)をMesaと称します。またグラフィックのベンチマークだけではなく、OpenCLのベンチマークも行います。
プロプライエタリなドライバーは第524回で紹介された「Radeon Software for Linux 18.20 」を使用します。インストールマニュアル を読むと「amdgpu
All Open Graphics Stack」と「amdgpu Pro Graphics Stack」に分かれています。すなわち一部の機能を使わなければドライバーもオープンソースという選択ができそうです。
使用したベンチマーク
ベンチマークソフトも第524回で紹介したPhoronix Test Suite を使います。ただしUbuntuのリポジトリにあるものではなく、別途ダウンロードした最新版です。実際に実行したベンチマークは以下のとおりです。
$ phoronix-test-suite list-installed-tests
Phoronix Test Suite v8.0.1
6 Tests Installed
pts/glmark2-1.1.0 - GLmark2
pts/gputest-1.3.2 - GpuTest
pts/juliagpu-1.3.1 - JuliaGPU
pts/supertuxkart-1.5.2 - SuperTuxKart
pts/unigine-heaven-1.6.4 - Unigine Heaven
pts/unigine-valley-1.1.6 - Unigine Valley
ただしいくつか注意点があって、pts/juliagpuをインストールする前に次のコマンドを実行する必要があります。
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/libOpenCL.so
具体的なインストール手順は省略します。
ドライバーのインストール
Mesa編
Ubuntuにあらかじめインストールされている3DグラフィックスライブラリのMesaはOpenCLにも対応していますが、デフォルトでは必要なパッケージがインストールされていません。というわけでインストールします。次のコマンドを実行してください。
$ sudo apt install mesa-opencl-icd clinfo
インストール後、clinfoコマンドを実行します。
$ clinfo
Number of platforms 1
Platform Name Clover
Platform Vendor Mesa
Platform Version OpenCL 1.1 Mesa 18.0.5
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd
Platform Extensions function suffix MESA
(中略)
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.11
ICD loader Profile OpenCL 2.1
このように、OpenCLが実行できるようになっていることがわかります。
AMDGPU-PRO編
AMDGPU-PROのインストール方法はドキュメントに記載されています。
「amdgpu All Open Graphics Stack」の場合は、展開したフォルダー内で次のコマンドを実行し、再起動します。
$ ./amdgpu-install -y
また、「 amdgpu Pro Graphics Stack」の場合は、同じく展開したフォルダー内でを実行し、再起動します。
$ ./amdgpu-pro-install -y --opencl=pal
ベンチマークの実行
ベンチマークの実行は次のコマンドから行いました。
$ phoronix-test-suite run pts/glmark2-1.1.0 pts/gputest-1.3.2 pts/juliagpu-1.3.1 pts/supertuxkart-1.5.2 pts/unigine-heaven-1.6.4 pts/unigine-valley-1.1.6
実行オプションをいろいろと聞かれますので、適宜答えてください。
今回ベンチマークは4回行いました。
まず最初はインストールした状態で実行しました。ベンチマークでは「AMD Ryzen 5 2400G Mesa」としてあります。「 設定」の「詳細」 -「 About」は次のとおりです。
図1 インストールした状態のAbout
2番目は「amdgpu All Open Graphics Stack」の状態で、ベンチマークでは「AMD Ryzen 5 2400G AMDGPU OPEN」としてあります。
図2 「 amdgpu All Open Graphics Stack」の状態のAbout
見てのとおり、図1と同じです。
3番目は「amdgpu Pro Graphics Stack」の状態で、ベンチマークでは「AMD Ryzen 5 2400G AMDGPU-PRO」としてあります。
図3 「 amdgpu Pro Graphics Stack」の状態のAbout
4番目はRadeon RX 550での「amdgpu Pro Graphics Stack」の状態で、ベンチマークでは「AMD Ryzen 5 Sapphire AMD Radeon RX 550」としてあります。
図4 Radeon RX 550でのAbout
ベンチマークの結果
ではベンチマークの結果を見ていきましょう。
SuperTuxKart
SuperTuxKartは第510回と同じ条件で計測しました。オープンソースのドライバーのほうが速いという興味深い傾向が見て取れます。第510回の数値とAMDGPU OPENの数値がほぼ同じなので、Mesaのバージョンが新しければ新しいほど速い傾向があるようです。
図5 SuperTuxKartの結果
Unigine Benchmarks
Unigine Benchmarksは第524回で実行されたベンチマークです。これも必ずしもプロプライエタリなドライバーのほうが速くないこともあり、なかなかに興味深いです。いずれも第524回の半分程度の数値であり、Radeon RX Vega Mが速すぎるのか、Mesaのバージョンの違いによるものなのかは興味があります(おそらく前者と思われます) 。
図6 Unigine Benchmarksの結果
GLmark2
GLmark2も第524回で実行されたベンチマークです。やはりプロプライエタリなドライバーのほうが遅くなっています。そしてRadeon RX Vega Mの圧倒的な速さに舌を巻きます。
図7 GLmark2の結果
GpuTest
GpuTestも第524回で実行されたベンチマークです。ベンチマークの項目が多いので、特徴もさまざまです。大きくはオープンソースのほうが速いもの、プロプライエタリのほうが速いもの、オープンソースではそもそも実行不可能なものに分かれます。
図8 GpuTestの結果その1
図9 GpuTestの結果その2
図10 GpuTestの結果その3
JuliaGPU
JuliaGPUはOpenCLのテストを行っています。せっかくセットアップしましたが、オープンソースのOpenCLドライバーでは動作しませんでした。意外なことにRadeon RX 550よりも内蔵GPUのほうが速い結果になっています。
図11 JuliaGPUの結果
総評
ベンチマークの結果からいえることは、Ryzen 5 2400Gの内蔵GPU(APU)は優秀であり、また多くのケースにおいて別途プロプライエタリなドライバーをインストールしなくても充分な速度が出ます。しかしOpenCLを使用したい場合、あるいはオープンソースのドライバーでは動作しない場合はプロプライエタリなドライバーをインストールするといいということです。
あとはRadeon RX Vega Mは価格に見合った性能があるということでしょうか。
アンインストールの注意点
「amdgpu All Open Graphics Stack」も「amdgpu Pro Graphics Stack」もアンインストール方法がインストールドキュメントに記載されています。しかし実際には、その方法だけだとGDMが起動しない事態に遭遇しました。そのような場合は次のコマンドを実行すると修正できたので、同じような事態になった人は試してみてください。
$ sudo apt install --reinstall libgl1-mesa-dri mesa-va-drivers