Ubuntu Weekly Recipe

第471回Ubuntu 16.04 LTSでAMDGPU-PROドライバーを使用する

今回は新しい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」に記述されています。簡潔には次のとおりです。端末を起動して実行してください。

$ cd (先ほどダウンロードしたフォルダー)
$ tar xf amdgpu-pro-(バージョン).tar.xz
$ cd amdgpu-pro-(バージョン)
$ sudo ./amdgpu-pro-install -y
$ sudo usermod -a -G video $LOGNAME

再起動すればAMDGPU-PROドライバーが使えるようになっているはずです。

インストールスクリプトを読むとわかりますが、ローカルにaptリポジトリを作成してからインストールするという、ちょっと変わったやり方を採用しています。

アンインストール

アンインストールは次のコマンドを実行してください。

$ sudo amdgpu-pro-uninstall

ベンチマーク

ではベンチマークを見ていきましょう。今回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が日本市場限定だからなのでしょうか?

図1 RD-R7-250XE-LE1GB/D5/1STでオープンソース版ドライバーが有効になっている
画像
図2 RD-R7-250XE-LE1GB/D5/1STでAMDGPU-PROドライバーを有効にした。グラフィックはRadeoon R7 250XEとなるはずだが、そうはなっていない
画像

RD-RX460-E2GB

RD-RX460-E2GBは現行モデルですが、上位版であるRX 560がすでにリリースされているので型落ちしています。図3はオープンソース版ドライバー(AMDGPU⁠⁠、図4はAMDGPU-PROを有効にした状態のスクリーンショットです。

図3 RD-RX460-E2GBでオープンソース版ドライバーが有効になっている
画像
図4 RD-RX460-E2GBで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⁠。

図5 現在の16.04では、⁠追加のドライバー」でプロプライエタリなドライバーをインストールできる
画像
図6 プロプライエタリなドライバーをインストールし、再起動すると認識した
画像

使用したベンチマーク

ベンチマークアプリケーションとしてPhoronix Test Suiteを使って計測しました。このうち、Enemy TerritorySuperTuxKartを実行しています。後者は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に対応しています。

おすすめ記事

記事・ニュース一覧