Featured image of post Radeon RX 5700を使う

Radeon RX 5700を使う

macOS Catalina 10.15.1からAMD Radeon RX5700シリーズがサポートされました。それでRX 5700 XTを使ってみたところ動きました。最新のWhateverGreen.kextが必要です。でも現状のmacOSでは性能を活かし切れていないようです。

話題のRX 5700/5700XT

AMDのグラフィックスカードRadeon RX 5700シリーズは、7nmプロセスで製造され、新設計のNaviアーキテクチャを採用しています。プロセッサ数はRadeon RX Vega 64より少ないですが、下表のようにVega 64より性能が良いとのことです。その上、消費電力は少なく、安価な設定です。ただ、Vega 64は発売時に比べたら暴落しているので、実売価格は逆転しています。

5700 XT5700Vega 64580
構造Navi(RDNA)Navi(RDNA)VegaPolaris
線幅7nm7nm14nm14nm
CU数40366436
SU数2,5602,3044,0962,304
ROP数64646432
クロック数1,605MHz1,454MHz1,274MHz1,257MHz
メモリGDDR6GDDR6HBM2GDDR5
消費電力225W185W295W185W
4K性能56.0fps51.3fps47.5fps31.2fps
価格

(「4K性能」はgpucheck.comの比較結果です。)

5700シリーズは優れた製品なので、Radeon派のWindowsユーザからは、久々にAMDが良い製品を出してくれたと、高い評価を受けています。この人気GPUが、macOS Catalina 10.15.1から正式にサポートされました。Sonnet社の互換GPUリストにも早速登場しています。

Sonnetの互換GPUリスト (10.15.1以降)

そこで、リファレンスファンモデルのRX 5700 XTをmacOSで動かしてみました。GPU用水冷ブロックは、ほぼリファレンスファンモデル用しか用意されないので、将来水冷することを考えるとリファレンスモデルが欲しいところです。しかも、オリジナルファンモデルのグラフィックスカードが出回ってくるとリファレンス版の流通は無くなってしまいます。実際、現在は入手困難です。

Sofmap.com RX5700XT-8G (品切れ)

でも、水冷のことを考えなければ、現在流通している空冷性能の良いオリジナルファン版が良いと思います。

Catalinaで動かす

macOS 10.15.1で正式サポートされたので、特に問題なく動きます。ただ、WhateverGreen.kextは最新版の1.3.4を使う必要があります。また、Cloverの起動オプションに

agdpmod=pikera

を追加する必要がありました。環境によってはこのオプションが無くても動くこともあるようです。ちなみにこのオプションは、WhateverGreen.kextのもので、解説によると

AppleGraphicsDisplayPolicy.kextは、その中のInfo.plistをチェックして特定のboard-idに対してどのモードを使うか決定します。どのモードが良いかはGPUに依存し、試してみるしかありません。WhateverGreenはいく通りかの方法で電力管理モードを設定します:

system board-idのConfigMap dictにnoneを書き込むパッチ (agdpmod=cfgmap)
文字比較を無効にするパッチ (agdpmod=vit9696, デフォルトで有効です)
board-idをboard-ixで置き換えるパッチ (agdpmod=pikera)

と書いてあります。Catalinaではこのkextは見つからないので、おそらくは、

/System/Library/Extensions/AppleGraphicsPowerManagement.kext/Contents/Info.plist

に書かれているsystem board-idと関係するのだと思います。このInfo.plistには、それぞれのボードIDに対して、どのように電力管理するかが書かれている様子です。このInfo.plistを見ていると、いろいろ面白いです。今年発売と思われているMacPro7,1のIDと言われるMac-27AD2F918AE68F61の項目に、Radeonシリーズの機種IDが複数書き込まれています。このInfo.plistが示す内容が何なのか不明ですが、いずれにしても、WhateverGreenのこのオプションは、特定機種に対する設定を無効にするパッチ手段を選ぶオプションのようです。

動作確認

agdpmod=pikeraを起動オプションに追加するだけで問題なく動いています。システム情報を見ると上のようでした。機種IDが0x731fです。これは先ほどのInfo.plistには書かれてません。(RX 580などは書かれています)サポートが今後改善されれば追加されるのかもしれないです。

ベンチマーク

Geekbench 5を使ってベンチマークし、スコアをSapphire Pulse Radeon RX 580と比較します。まずはOpenCLとMetalのスコアを以下に示します。

RX 5700 XTRX 580
OpenCL4529945106
Metal3955444843

OpenCLスコアは、僅差ですがRX580より多少良いスコアでした。しかし、Metalのスコアでは、なんと格安のRX 580に負けてしまいました。Windows環境ならばRX 5700 XTの方がずっと性能が高いはずです。上で紹介したgpucheck.comによると、5700 XTは580に比べて1.7倍くらい性能が上です。なので予想しなかった結果となりました。でもGeekbenchの結果が登録されるGeekbench Browserで検索してみたところ、macOS上のRX 5700 (XT)スコアは今回の結果と同程度のようでした。またネット上にも、macOSではあまり性能が出ない話を見かけます。今後のmacOSバージョンで改善されると期待したいです。

まとめ

Radeon RX 5700シリーズはmacOS 10.15.1以降で容易に動かすことができます。ただOpenCLベンチマークスコアではRX 580と差がなく、Metalでは負けてます。今後のmacOSバージョンアップで性能向上が期待できますが、現状ではRX 580/590で十分だと思いました。Windowsとデュアルブートする場合は、Windowsで性能が出せてmacOSでも使えるGPUとして価値があるかと思います。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。