今回は新しいAMDのグラフィックドライバーであるAMDGPU-PROをインストールし、ベンチマークを計測します。
AMDのグラフィックドライバーの現状
Ubuntu 14.04 LTSの段階では、AMD(旧ATI)のGPUでよく使われていたドライバーは大きく2種類でした。ひとつはオープンソースのRADEONドライバー(xserver-xorg-video-radeon)、もうひとつはプロプライエタリなAMD Radeon Software Crimson Edition(旧AMD Catalyst Graphics Driverで、パッケージ名は共通でfglrx)です[1]。
2015年11月にAMDGPU(xserver-xorg-video-amdgpu)というオープンソースのドライバーが新たに公開されました。主に新しいGPUをサポートしています。
2016年3月にはUbuntu Weekly Topics 2016年3月18日号で既報のとおり、Ubuntu 16.04 LTS用のAMD Radeon Software Crimson Editionが提供されないことになりました。16.04に対応しないということは、同じカーネルとXスタックを採用している14.04.5でも使用できないということです。公式サポートでは14.04.2まで対応ということになっていますが、すでにカーネルのサポートが切れているために14.04.1までの対応になります。逆に言えば14.04.1ではAMD
Radeon Software Crimson Editionが提供されており、現在でも使用できるということです。
そして2016年7月にはUbuntu Weekly Topics 2016年7月22日号で既報のとおり、新たなプロプライエタリなドライバーであるAMDGPU-PROドライバーがUbuntu
16.04 LTSで使用できるようになりました。
AMDGPU-PROドライバーは1〜2ヶ月の周期でアップデート版をリリースしており、リリースの度に対応するGPUが追加されているのは注目すべき点です。リリースノートはリリースの度に上書きされて、以前のバージョンは公開されていないようです。執筆段階で最新版である17.10で対応しているGPUの一覧は次のとおりです[2]。
- AMD Radeon™ RX 550 SeriesGraphics
- AMD Radeon™ RX 570 SeriesGraphics
- AMD Radeon™ RX 580 SeriesGraphics
- AMD Radeon™ RX 460/470/480 Graphics
- AMD Radeon™ R9 Fury/Fury X/Nano Graphics
- AMD Radeon™ R9 380/380X/390/390X Graphics
- AMD Radeon™ R9 285/290/290X Graphics
- AMD Radeon™ R7 240/250/250X/260/260X/350
- AMD Radeon™ HD 7700/7800/8500/8600
- AMD Radeon™ R9 360 Graphics
- AMD Radeon™ R5 340
- AMD Radeon™ Pro WX-series
- AMD FirePro™ W5100
- AMD FirePro™ W4300
- AMD FirePro™ W4100
- AMD FirePro™ W2100
- AMD FirePro™ W9100
- AMD FirePro™ W600
- AMD FirePro™ W8100
- AMD FirePro™ S-Series
- AMD FirePro™ W7100
この2〜3年で発売されたGPUには概ね対応しているといえます。
ダウンロードとインストール
AMDGPU-PROのダウンロードは、リリースノートにある「AMDGPU-Pro Driver Version (バージョン番号) for Ubuntu (対象となるUbuntuのバージョン)」をクリックします。
インストールは「How-To Install/uninstall AMDGPU-PRO driver on a Ubuntu (対象となるUbuntuのバージョン) Based System」に記述されています。簡潔には次のとおりです。端末を起動して実行してください。
再起動すればAMDGPU-PROドライバーが使えるようになっているはずです。
インストールスクリプトを読むとわかりますが、ローカルにaptリポジトリを作成してからインストールするという、ちょっと変わったやり方を採用しています。
アンインストール
アンインストールは次のコマンドを実行してください。
ベンチマーク
ではベンチマークを見ていきましょう。今回AMDGPU-PROに対応したビデオカードを2枚、比較用のNVIDIA GeForce 1050 GPU搭載ビデオカードを1枚、合計3枚を用意して比較します。
RD-R7-250XE-LE1GB/D5/1ST
RD-R7-250XE-LE1GB/D5/1STはずいぶん古いモデルですが、AMDのGPUを搭載してLow Profileで1スロットのビデオカードとしては今でも最速クラスです。
[すべての設定]–[詳細]–[概要]の[グラフィック]を見ると、どんなGPUを使用しているのか、あるいはドライバーを使用しているのかがわかります。図1はオープンソース版のドライバー(RADEON)、図2はAMDGPU-PROを有効にした状態のスクリーンショットです。図2は型番を間違えているのが興味深いですが、これはAMD Radeon R7 250XEが日本市場限定だからなのでしょうか?
RD-RX460-E2GB
RD-RX460-E2GBは現行モデルですが、上位版であるRX 560がすでにリリースされているので型落ちしています。図3はオープンソース版ドライバー(AMDGPU)、図4はAMDGPU-PROを有効にした状態のスクリーンショットです。
GeForce GTX 1050 2GT LP
GeForce GTX 1050 2GT LPは型番がストレートで非常に好感が持てます。
Gefore GTX 1050を含むPascalアーキテクチャのGPUドライバーのインストール方法は第456回で紹介していますが、少なくともドライバーに関しては現在、Ubuntu 16.04 LTSのリポジトリにあります(図5)。CUDAは相変わらず古いバージョンのままなので別のリポジトリからインストールが必要です。
16.04.2でもオープンソース版のPascalアーキテクチャのGPUドライバーには非対応です。そこで、プロプライエタリなドライバのみで検証しました(図6)。
使用したベンチマーク
ベンチマークアプリケーションとしてPhoronix Test Suiteを使って計測しました。このうち、Enemy TerritoryとSuperTuxKartを実行しています。後者はUbuntuのリポジトリにもあり、すぐにでも遊べます。
Enemy Territory
Enemy Territoryでは誤差の範囲とはいえ、想定とは逆の結果になりました(表1)。スペック的には最速であるはずのGeForce GTX 1050はもっとも遅く、一番古いRadeon R7 250XEが最速です。とはいえ、この結果からはPascalアーキテクチャのGPUは全方面において速いわけではない、程度のことしか断言することはできません。
表1 Enemy Territory v2.60 Resolution: 1920 x 1080
RD-R7-250XE-LE1GB/D5/1ST |
105.93 |
143.87 |
RD-RX460-E2GB |
106.23 |
139.50 |
GeForce GTX 1050 2GT LP |
- |
70.63 |
SuperTuxKart
SuperTuxKartの結果の値はフレームレートなので、60が基準になります。GeForce GTX 1050は順当に一番速く描画も滑らかでしたが、AMDに関してはあろうことかオープンソースのドライバーよりAMDGPU-PROのほうが遅い、という結果になってしまいました(表2)。このようにAMDGPU-PROには得手不得手があるため、絶対にインストールしなくてはいけないというものではありません。
表2 SuperTuxKart v0.9 Resolution: 1920 x 1080
RD-R7-250XE-LE1GB/D5/1ST |
56.68 |
23.10 |
RD-RX460-E2GB |
53.59 |
16.67 |
GeForce GTX 1050 2GT LP |
- |
67.23 |
まとめ
本稿はビデオカード購入の参考にするために書いたものではありません。そのため結論は避けますが、AMDのGPUを搭載したビデオカードを購入すればオープンソースとプロプライエタリ(AMDGPU-PRO)の選択肢があり、場合によっては後者が前者を凌駕する速度を出すこともあります。どうしてもCUDAが必要である、ということでもなければAMDのビデオカードも選択肢になるでしょう。
今回は取り上げませんでしたが、AMDGPU-PROはOpenCLに対応していますし、オープンソース版(AMDGPUのみ)でも16.10以降であれば同じくOpenCLに対応しています。