連載
西川善司の3DGE:Radeon RX 6700 XTの性能は,「Infinity Cache」が鍵を握る
本稿では,発表会後に行われたメディア向け技術説明会の内容をもとに,Radeon
トランジスタの規模は上位モデルの6割強だが,Infinity Cacheは7割以上の容量を実装
2020年に発売となった,AMD初のPC向けリアルタイムレイトレーシング対応GPU「Radeon RX 6800」シリーズと「Radeon RX 6900 XT」は,開発コードネーム「Navi 21」と呼ばれていた。一方,今回発表されたRadeon RX 6700 XTの開発コードネームは,「Navi 22」となっている。
発表前には,「Radeon RX 6700シリーズは,Navi 21のSPクラスタ(AMD系GPUではCompute Unit,以下 CU)を無効化して登場するのではないか」という憶測もあったが,蓋を開けてみれば,完全なる新規コアであった。
ちなみに,AMDもNVIDIAも,GPUの開発コードネームは数値の小さい方が上位機を表すようになっている。
Navi 21のダイサイズや総トランジスタ数は,519mm2で約268億個であった。これがNavi 22になると,それぞれ336mm2,172億個となる。つまり,Navi 22は規模的に,Navi 21の64%程度というところだ。なお,製造プロセス技術はTSMCの7nmで,Navi 21と変わらない。
CU数は,Navi 21が80基なのに対して,Navi 22は40基と,ちょうど半分になる。AMD系GPUの場合,CU 1基あたりSP(以下,SP)は64基を実装しているので,総SP数は,Navi 21が5120基なのに対して,Navi 22は半分の2560基となる計算だ。
「SP数が半分なのに,GPUコアの規模が約64%というのはなぜ?」と疑問に思う人もいるだろう。それは,先のスライドにもあるとおり,キャッシュシステムの「Infinity Cache」が容量96MBと,なかなかの大盤振る舞いなためだ。Navi 21のInfinity Cacheは容量128MBであったので,Navi 22の96MBは,その75%となる。SP数が半減しているのに対して,Infinity Cacheはかなり贅沢なのだ。
もともと,キャッシュメモリに使われるSRAMは,半導体ダイ上での占有面積を大きくなりがちであり,Navi 22が意外と大きいのはこのあたりの理由による。
さて,そんなNavi 22の理論性能値を見てみよう。AMD系GPUでは,SP 1基が1クロックで1つの積和算を行える(=2 FLOPS)ため,ピーク理論性能値はブーストクロック動作時換算で以下のとおりだ。
- RX 6900 XT:5120 SP×2 FLOPS×2250MHz=23.04 TFLOPS
- RX 6800 XT:4608 SP×2 FLOPS×2250MHz=20.74 TFLOPS
- RX 6800:3840 SP×2 FLOPS×2105MHz=16.17 TFLOPS
- RX 6700 XT:2560 SP×2 FLOPS×2581MHz=13.21 TFLOPS
ちなみに,AMDの先代製品であるRX 5700シリーズや,NVIDIAのGeForce RTX 30シリーズ,AMD製APUを載せた最新世代の据え置き型ゲーム機における理論性能値は以下のようになる。
- GeForce RTX 3090:35.58 TFLOPS
- GeForce RTX 3080:29.77 TFLOPS
- GeForce RTX 3070:20.37 TFLOPS
- RX 6700 XT:13.21 TFLOPS
- Xbox Series X:12.15TFLOPS
- PlayStation 5:10.28 TFLOPS
- RX 5700 XT:9.75 TFLOPS
- RX 5700:7.59 TFLOPS
Radeon RX 6700 XTがRX 5700系を性能面で上回るのは当然として,PlayStation 5(以下,PS5)やXbox Series Xをも上回っているのはなかなか立派。とはいえ,Radeon RX 6700 XTを搭載するPCが,PS5やXbox Series Xと同等以上の性能を発揮できるかというと,「Yes」と断言はしにくい。
しかしAMDとしては,「Radeon RX 6700 XTの仮想敵は,PS5やXbox Series Xではない,むしろ,より高性能なGeForce RTX 3070なのだ」と鼻息が荒い。その自信は,やはりInfinity Cacheにあるようだが,詳しくは後述する。
Navi 22のグラフィックスコアの内部構造については,Navi 21と大きな違いはないので,簡単に解説しておこう。
AMDのRDNA系GPUでは,CUたる演算器クラスタをひとまとめにしたうえで,ラスタライザやROP(Rendering Output Pipeline)を加えたレンダーバックエンド(Render Backend,RB)までをひと塊にした単位を「Shader Engine」(以下,SE)と呼んでいる。
AMDは,今のところNavi 22のブロックダイアグラムを公開していないので,Navi 21のを参考にして全体像を想像するしかない。Navi 22では,SEの数をNavi 21の4基に対して半分の2基に削減したうえで,Infinity Cacheのブロックも1基削減したものと考えられよう。
なお,Navi 22のROP数は64基とのこと(※Navi 21は128基)。Navi 22のメモリインタフェースは,16bit×12チャンネル,つまり192bitとなるので,ROP数とのバランスは,AMD製GPUの通例とはちょっと異なる。ただ,このバランスは,Infinity Cacheが吸収しているようだ。
リアルタイムレイトレーシングユニットである「Raytracing Accelerator」(以下,RA)を,CU 1基ごとに1基実装するという割合はNavi 21と変わらない。つまり,Navi 22の総RA数は,CU数と同じ40基になる。
RDNA2のRAは,1クロックあたり1ポリゴンに対する衝突を検出できるので,1秒あたりに計算可能なレイとポリゴンの衝突回数は,
- 40 RA×2581MHz=1.0×10の11乗(1000億)
となる。ちなみに,Navi 21は1800億個の検出が可能だったので,約55%の性能という計算だ。
今回も高性能の秘密はInfinity Cacheにあり?
Radeon RX 6700 XTの理論性能値がPS5やXbox Series Xを上回っていたとしても,新世代の据え置き型ゲーム機と同等以上の性能は出にくいと考えた根拠は,メモリバス帯域幅にある。
ROP数のところでも触れたが,Radeon RX 6700 XTのメモリインタフェースは192bitになっている。上位のNavi 21や先代のRadeon RX 5700シリーズは,256bitだったにも関わらずだ。
そこで,各GPUおよびゲーム機のメモリバス帯域幅をまとめてみた(表1)。
メモリクロック | メモリ |
メモリバス |
|
---|---|---|---|
RX 6700 XT | 16GHz | 192bit | 384GB/s |
RX 6900 XT |
16GHz | 256bit | 512GB/s |
Radeon RX 5700シリーズ | 14GHz | 256bit | 448GB/s |
Xbox Series X | 14GHz | 320bit | 560GB/s |
PS5 | 14GHz | 256bit | 448GB/s |
見てのとおり,上位モデルや新世代ゲーム機に対してはもちろん,先代のRadeon RX 5700シリーズにも差を付けられている。
AMDは,「この差を吸収しうるのが,Infinity Cacheである」と主張する。Infinity Cacheは,Radeon RX 6800シリーズで導入された,Navi 2Xアーキテクチャの特徴的な構造だ。おさらいになるが,簡単に解説しよう。
Infinity Cacheとは,簡単に言ってしまえばGPUのラストレベルキャッシュ(LLC)である。L1,L2キャッシュに続く第3のキャッシュメモリなので,Infinity Cache=L3キャッシュと言ったほうが分かりやすかろう。
Navi 22の場合,メモリ1チャンネルあたりに16bitのGDDR6メモリインタフェースを,計12チャンネル分実装しており,1チャンネルごとに容量8MBのL3キャッシュを組み合わせた構造になっている。つまり,Radeon RX 6700 XTのInfinity Cacheが96MBなのは,「8MB×12チャンネル=96MB」となるからである。
Navi 2XのInfinity Cacheは,動作クロックが1.94GHz相当で,各チャンネルが1クロックあたり64byteのスループットを有する。Infinity Cacheにヒットしたときのメモリバス帯域幅は,64byte×12チャンネル×1.94GHz=1.49TB/sに達する計算だ。HBMに迫る高帯域幅であるが,あくまでもこの値は,キャッシュヒット時のものだ。
では,Radeon RX 6700 XTのキャッシュヒット率はどうなっているのだろうか。実のところ,AMDは具体的な情報を明らかにしていないのだが,Radeon RX 6800/6900発表時の資料に,そのヒントがあった。次のスライドにあるグラフがそれだ。
このグラフは,AMDが「HBMやGDDR6Xを使わずに,低コストなGDDR6を利用しつつ,4Kゲームグラフィックスレンダリングを実現するためには,キャッシュヒット率をどこまで求めればいいか」を表したものである。Radeon RX 6800/6900開発時にAMDは,「約60%あればよし」(※実測では58%)と判断して,そのヒット率を実現するためのキャッシャ容量として,128MBを選んだ経緯がある。
それに対してRadeon RX 6700 XTは,想定するシーンが「2560×1440ドットでの快適なゲーム体験」なので,同じ理屈では96MBという容量が適切になるようだ。いずれにせよ,開発段階の実験で,1440pでのゲームプレイには,Infinity Cacheのヒット率で約60%前後を達成できるキャッシュ容量が必要であり,その結果として96MBを選んだわけである。
Infinity Cacheのキャッシュヒット率を約60%と仮定して,Radeon RX 6700 XTの実効帯域幅を求めてみよう。
前述したように,Radeon RX 6700 XTのメモリバス帯域幅は384GB/sだ。キャッシュのヒット率を約60%とすると,Radeon RX 6700 XTのメモリ実効帯域幅の理論値は,
- 1.49TB/s×60%+384GB/s×40%=1.05TB/s
と計算できる。この値は,かつて「4Kでのゲームプレイ向けRadeon」としてAMDが訴求した「Radeon VII」(※理論性能値は13.8TFLOPS)の1TB/sを超えるどころか,PS5やXbox Series Xのメモリバス帯域幅も上回っている。4K/60fpsで描画できるメモリバス帯域幅があれば,1440pなら120fpsも描画可能であるので,たしかにRadeon RX 6700 XTのスペックならば,1440pでのゲームプレイはこなせるだろう。ゲームの描画設定を適切に調整すれば,フレームレートは60fps未満か,60fpsをやや上回る程度になるとしても4Kでのゲームプレイも視野に入ってくるかもしれない。
Radeon RX 6700 XTのInfinity Cacheについて,AMDは,次のグラフを示している。これは,メモリバス帯域幅と消費電力の効率を,メモリインタフェース別に示したグラフだ。赤いバーは,メモリバスの実効帯域幅で,灰色のバーは消費電力を表している。
メモリインタフェースが192bitの場合,256bitの場合,そしてNavi 22の192bit+Infinity Cacheという並びだ。なお,このグラフは256bitを基準値(=1)としており,192bitのグラフは,基準値の0.75倍(192÷256)となっているところに注意してほしい。
このグラフで見ると,Navi 22の192bit+Infinity Cacheにおける消費電力あたりの実効帯域幅は,GDDR6 256bitの2.5倍以上に達しており,それでいて消費電力はほぼ同等,ということを表している。
計算では,Radeon RX 6700 XTの実効メモリ帯域は1.05TB/sだったので,256bit GDDR6の帯域である512GB/sに対して「1.05TB÷512GB/s=約2倍」となるので,AMDが示したグラフの2.5倍ほどの差はない。その理由は明らかになっていないのだが,2.5倍はあくまでも理論値だろうが,実行性能は2倍か,もう少し上になるとAMDは考えているのかもしれない。
Radeon RX 6700 XTのターゲットが1440pでのゲームプレイなのはなぜか
AMDは,Radeon RX 6700 XTがターゲットとする性能を,1440pでのゲームプレイとしてきたのはなぜだろう。
その理由として同社は,調査会社のIDCによるデータをもとに説明している。具体的には,2019年第3四半期と2020年第3四半期におけるゲーマー向けディスプレイの売れ行きを比較すると,フルHD解像度や4K解像度の製品よりも,1440p対応製品のほうが売れていたためであるそうだ。
それに加えて,1440p対応ゲーマー向けディスプレイのうち,最も売れているのが垂直最大リフレッシュレートが100Hz以上のもので,その成長率は98%となっているという。
この結果を踏まえて,ミドルハイ市場向けであるRadeon RX 6700 XTがターゲットとすべき市場はここである,となったそうだ。
とはいえ,製品のヒエラルキーを考えると,AMDとしては「Radeon RX 6800を追い越さない程度の性能に収める」ことが必須なので,このあたりの理由に後付け感はある。
では,Radeon RX 6700 XTは,1440pで100fpsを超えたゲームプレイを可能にする性能を持っているのだろうか。その実態は,別途掲載するレビューを確認してもらいたいが,AMDも,独自に測定したベンチマーク結果を公開している。
次に示すグラフを見ると,ほとんどのタイトルで60fpsは超えているが,すべてが100fpsを超えているわけではないことが見てとれよう。
AMDは,「Radeon RX 6700 XTの仮想敵はGeForce RTX 3070である」としているが,この測定結果を見る限りでは,フレームレートで勝てるタイトルもあれば負けるタイトルもあるといったところ。「ライバルは3070」というメッセージには,一定の説得力はありそうだ。
実際のところ,GeForce RTX 3070も「1440pでのゲームプレイには十分な性能だが,4Kにはちょっと物足りない」といった感じだった。両GPUは,よきライバルにはなっているのだとは思う。
しかしAMDは,「性能は同等だが,将来性についてはRadeon RX 6700 XTのほうが上である」と主張する。その根拠は,グラフィックスメモリ容量の多さにあるのだという。
たしかに,新世代据え置き型ゲーム機向けのゲームタイトルが,リアルタイムレイトレーシング対応の4Kグラフィックスを想定するようになったことにより,3Dモデルデータやテクスチャデータなどといったグラフィックスのアセットは増大しており,リアルタイム生成する中間素材※も,大量のグラフィックスメモリを消費する傾向にある。
※シャドウバッファ,Deferred Rendering(ディファードレンダリン)またはPhysically Based Rendering(物理ベースレンダリング)用のGバッファ,レイトレーシング用の3Dシーン構造データなど。
次に示すグラフは,「今どきのの大作PCゲームにおいて,グラフィックスメモリ容量が8GBでは不十分」ことを示すというAMDによる実測データだ。
つまり,大作ゲームをプレイするのにGeForce RTX 3070のグラフィックスメモリ容量8GBは不十分であるとして,「これから選ぶのであれば,容量12GBのグラフィックスメモリを搭載するRadeon RX 6700 XTのほうがいいですよ」というAMDの主張であるわけだ。
またAMDは,「現時点において,Radeon RX 6700 XTはGeForce RTX 3070と同等の性能だ。しかし,今後,新世代ゲーム機向け大作タイトルのPC版がリリースされていくうちに,いずれグラフィックスメモリ搭載量が4GBも多いRadeon RX 6700 XTが逆転するようになるだろう」とも主張する。たしかに,ここは面白い論点ではある。
映像出力やビデオエンジンは,Navi 21からそのまま継承
Radeon RX 6700 XTにおけるGPUコアやメモリ以外の要素は,Radeon RX 6800シリーズと大して変わらない。
たとえば映像出力だが,上位モデルと同様に,Radeon RX 6700 XTはHDMI 2.1の48Gbpsモードに対応しているのに加えて,HDMI 2.1とDisplayPort1.4では,不可逆圧縮伝送モードの「DSC」(Display Stream Compression)にも対応しており,8K/60Hz出力が可能だ。
また,Radeon RX 6700 XTは,CPUからGPUに対するあらゆる転送について,PCI Expressの256MB制限を取り払う機能「Smart Access Memory」に対応する。
GPUに統合されたビデオプロセッサ「Radeon Media Engine」も,Radeon RX 6800シリーズと同世代のものを搭載している。具体的には,「AV1」コーデックによる最大8K解像度で30fps映像のリアルタイムデコードや,「HEVC」(H.265)による最大8K解像度で24fps映像のリアルタイムエンコードに対応するほか,「H.264」でのエンコードでは,Bフレーム※に対応する(表2)。
※Bi-directional Predicted Frame。時間方向に対して順方向および逆方向の双方向参照にも対応したフレームのこと
VP9 | H.264 | H.265 | AV1 | |
---|---|---|---|---|
デコード(再生) | 4K,90Hz |
4K,180Hz | 4K,90Hz |
4K,120Hz |
エンコード(録画) | ― | 4K,90Hz | 4K,60Hz |
― |
なおAMDは,Radeon RX 6700 XTのリリースにあわせて,ドライバソフトウェアである「Radeon Software」の機能強化についても,簡単に説明している。
まず,AMD独自の遅延低減技術「Radeon Anti-Lag」と,同じく独自の動き適応型可変解像度シェーディング「Motion Adaptive VRS」が,ともにDirectX 12ベースのゲームにも対応できるようになった。これは,Radeon RX 6000系に限った対応ではなく,Radeon Softwareを起動して「Radeon Anti-Lag」や「Motion Adaptive VRS」の機能メニューが出てくるGPUであれば利用できるそうだ。
価格対性能比で競合と市場で戦えるかは未知数
Radeon RX 6700 XTの北米市場におけるメーカー想定売価は,479ドルであるという。仮想敵であるGeForce RTX 3070は,発表時のメーカー想定売価として499ドルを挙げていたので,若干お安い価格設定となっているわけだ。ただ,GeForce RTX 3070の日本市場向けメーカー想定売価は7万9980円だった。Radeon RX 6700 XTの価格を国内のゲーマーがどう評価するかは,興味深い。
というのも,性能的にはRadeon RX 6700 XTを下回るであろうが,NVIDIAは,リアルタイムレイトレーシング対応GPUのミドルクラス市場向けとして「GeForce RTX 3060」を投入したばかりだからだ。「レイトレーシング対応ゲームを1440pの60fps程度でプレイできればいいや」というゲーマーは,実勢価格で6万円前後から半ばというGeForce RTX 3060に流れそうな気がする。
筆者は,Radeonにもひとつ下のRadeon RX 6600シリーズが必要なのではないか,と考える。2019年登場のRadeon RX 5000系では,エントリー〜ミドルクラス市場向けGPUとしても,いまや魅力が不足していると感じるのは筆者だけではあるまい。その意味では,今回,AMDが1モデルしか発表しなかったことには,少々違和感を覚える。
発表の最後の最後に,AMDは,「Radeon RX 6000シリーズのノートPC向けが出てくるので楽しみにしていてね」と予告した。もしかすると,同じタイミングでRadeon RX 6700 XTより下のモデルが出てくるのかもしれない。近年のノートPC向けGPUは,チップ自体はデスクトップ向けGPUと共通だからだ。
ラインナップだけでなく,AMDに望む早急な対応といえば,「FidelityFX Super Resolution」の提供だ。
NVIDIAは,推論アクセラレータのTensor Coreを活用するアンチエイリアシング&超解像技術の「DLSS(Deep Learning Super Sampling)で,解像度の低いレンダリング結果を超解像でアップスケール処理する技術を,ゲームスタジオに提供している。実際,DLSSは「Cyberpunk 2077」を初めとして,グラフィックスヘビーな大作タイトルでの採用が進んでおり,近年のGeForce人気を後押ししつつある。
1440pのレンダリング結果を,DLSSを用いて疑似的な4K解像度にアップスケールできるのだから,ゲーマーにとっての満足度は高い。リアルな4Kでのゲームプレイはややきついと言われるGeForce RTX 3070でも,DLSSを活用すれば4Kで楽しめるケースが出てきているのだ。
DLSSによる超解像化の対抗馬として,AMDがRadeon RX 6800シリーズ発表時に予告したのが,「FidelityFX Super Resolution」の提供だった。筆者は,Radeon RX 6700 XTの提供とともに正式リリースするのではないかと思っていたのが,今回,これについての言及はなかった。AMDにも,機能の提供時期について質問してみたのだが,明確な回答は得られていない。
Radeon RX 6000系のエントリークラス発表時には,FidelityFX
AMDのRadeon RX 6700 XT製品情報ページ
- 関連タイトル:
Radeon RX 6000
- この記事のURL: