GPUマイクロアーキテクチャの刷新は2012年以来 AMDの7nmプロセス世代のGPUアーキテクチャ「Navi」は、AMDのGPUでは2012年以来、7年振りのメジャーアーキテクチャチェンジとなる。 Naviの新マイクロアーキテクチャは「RDNA(Radeon DNA)」。これまでのAMDのGPUアーキテクチャ「GCN(Graphics Core Next)」とは、マイクロアーキテクチャレベルで異なる。アーキテクチャ拡張によって、クロックあたりの性能は1.25倍となり、電力あたりの性能は1.5倍に引き上げられる。AMDは、RDNAを今後10年のゲームのために設計したゲーム向けアーキテクチャだと説明する。 台北で開催されているコンピュータトレードショウ「COMPUTEX TAIPEI 2019」の基調講演で、AMDのLisa Su氏(President and Chief Executive Officer, AMD)は、RDNAを紹介した。 「Naviは、まったく新しいRDNAアーキテクチャ、Radeon DNAを備える。これは、GCNとは異なる。DNAと呼んでいるのは、AMDでは、GPUスペースで長いアーキテクチャの歴史を持つからだ。そのなかで産まれたGCNは、すばらしいアーキテクチャだった。今後もGCNは、高い(負荷の)ワークロードのアプリケーションの多くのために継続されるだろう。 Naviは、ゲーミングにフォーカスしている。ゲームでの性能、応答性、高クロック、低電力にフォーカスし、さらにPCI Express Gen4を備えた初めてのゲーミングGPUだ。 われわれは、CPUでZENを設計するときに、フロムスクラッチ(From Scratch : ゼロから設計すること)を決めた。なぜなら、将来のためには、まったく新しい設計が必要だと信じているからだ。RDNAも、まったく同じフロムスクラッチ設計だ。RDNAは、今後10年のゲーミングの基礎を支えるアーキテクチャのゲーミングエンジンだ。だから、われわれはRDNAに非常に興奮している」(Su氏)。

ベースのマイクロアーキテクチャを長期間堅持するAMD AMDは、GPUについては、いったん導入したマイクロアーキテクチャを比較的長い期間継続する傾向が強い。NVIDIAがGPU世代ごとにマイクロアーキテクチャにかなり手を入れるのとは対照的に、AMDはベースアーキテクチャを堅持する。そのため、ベースアーキテクチャの開発には期間をかけ、長期にわたる土台となりうるものをじっくり設計する。 AMDは、2012年に「Southern Islands」シリーズの「Radeon HD7000」系を導入したさいに、GPUのマイクロアーキテクチャを一新、現在のGCNへと切り替えた。それ以前は、2007年に「R600」シリーズの「Radeon HD 2000」系を導入したさいに、ユニファイドシェーダ型でVLIWプロセッサベースのアーキテクチャを導入している。 AMDは、VLIW型アーキテクチャについては、一回、命令スロットを5から4へ減らす変更を行なったものの、VLIWスタイルは5年間継続した。そして、GCNについては、2012年から今まで7年間継続している。 プロセス技術の世代で見ると、VLIWアーキテクチャは80nmから40nm、GCNは28nmから14nmだ。プロセスが微細化して、より多くのトランジスタを搭載できるようになると、アーキテクチャを大きく切り替えている。そして今回、7nmプロセスへの切り替えのタイミングで、AMDはRDNAアーキテクチャを導入する。従来のパターンを踏襲するなら、AMDはRDNAを今後5～7年の2020年代中盤までのGPUアーキテクチャのベースにすることになる。

RDNAマイクロアーキテクチャの特徴 NaviとRDNAはどんなアーキテクチャなのか。マイクロアーキテクチャ面でAMDがCOMPUTEXで明らかにしたのは3点。まず、AMD GPUのプロセッサコアである「CU(Compute Unit)」が新設計となる。AMDは7年の間GCNのCUの基本設計を継続して来たが、Naviでは変わる。 「(CUの設計では)効率の向上にフォーカスし、クロック当たりの命令(実行)数を向上させた」とSu氏は語る。GCNのCUは、16レーンのベクタユニットを4ユニット備えており、64スレッドのバッチWavefrontを、4並列のx16ユニットで実行していた。この構成が変更されたと見られる。 また、GCNはそもそも、コンピュート機能を充実させたために、グラフィックスではオーバーキルの部分もあった。たとえば、演算ユニットに対するレジスタ量の比率では、当初からレジスタ量が非常に多かった。グラフィックスにもう少し寄せるなら、もっと効率的なアーキテクチャが可能だ。 Naviではキャッシュ階層も変わる。新しいキャッシュ階層が導入され、レイテンシが低減され、帯域が引き上げられ、応答性が上がるという。GPUは伝統的にキャッシュ量よりレジスタ量を重視しており、スレッドの切り替えでメモリアクセスレイテンシを隠蔽するという発想で進められてきた。GCNのCUも、256KBのレジスタに対して、16KBのL1データキャッシュに64KBのスクラッチパッドメモリという構成だった。GPUのキャッシュ階層は、レガシーを引きずっていることが多く、改良の余地は多い。 3つ目は、ストリームライン(Stremlined)化したグラフィックスパイプライン。グラフィックスの性能を引き上げるのに、なぜグラフィックスパイプラインを簡素化するのか。これも、GPUのレガシーと絡んでくる。 GPUは古いアーキテクチャを継承してグラフィックス処理の専用パイプラインが複雑になっている。しかし、DirectX 12やVulkanといった新しいAPIでは、APIレベルでストリームライン化が進んでいる。APIのモダン化に合わせてグラフィックスパイプラインを再設計すると、性能を引き上げられるようになる。複雑なグラフィックスパイプラインには、動作周波数のボトルネックになるようなクリティカルパスが潜んでいる可能性が高いため、ここを最適化することはクロック周波数の向上につながる。 AMDは、Naviファミリでは「Radeon RX 5700」を最初に投入する。AMDはCOMPUTEXの基調講演で、Naviのライブデモを公開。NVIDIAのGeForce RTX 2070と比較して性能の優位を謳った。RTX 2080と比較しないのは、価格レンジがRTX 2070対抗であるためと推測される。AMDは、現在のプレ製品版のボードでも、RTX 2070に対して10%のパフォーマンスゲインがあると説明している。

まだ不明なレイトレーシングのサポート Naviの機能面での最大の疑問は、NVIDIAが「Turing」アーキテクチャで実装したような「レイトレーシング(Ray Tracing)」ハードウェアが実装されるのかどうかだ。 すでに、次世代PlayStationに搭載されるカスタムNavi GPUコアには、レイトレーシング機能が実装されることがSIE(Sony Interactive Entertainment)によって示されている。このPS5のレイトレーシング機能が、Navi共通のものなのか、SIE専用のものなのかが疑問となる。 SIEは、これまでもPS4/PS4 ProでGPUコアに拡張機能を取りこんで来たが、ほとんどはAMDのPC向けGPUアーキテクチャを先取りするものだった。そのため、レイトレーシングについても、SIE独自の拡張機能とは考えにくい。RDNAのアーキテクチャの流れにレイトレーシングハードウェアの実装があると考えたほうが自然だ。 しかし、最初のNavi製品である7月のRadeon RX 5000系GPUにレイトレーシング機能が搭載されているかどうかはわからない。理由はいくつかある。まず、AMDがNavi製品についてレイトレーシング的な要素を一切出さないこと。それから、最初のNaviのダイが相対的に小さく、現行のVegaアーキテクチャからトランジスタ数がそれほど増えているとは考えにくい点だ。 AMDは14nmプロセスでのフラグシップGPU「Radeon RX Vega64(Vega10)」を7nmプロセスに落とし込んだ。Vega10のダイサイズは486平方mmであるのに対して、7nmのVega20は331平方mm。演算ユニット部分は、構成の差はあれ、ほとんど数量的に変わっていないため、トランジスタ数も少ししか増えていない。

7nmプロセスではダイサイズを抑える必要が 今回明らかにされたNaviは、Vega20と比べるとダイはむしろ小さい。ラフな計算で260～280平方mm程度と見られ、300平方mm以上が当たり前のGPUのなかでは小さいほうだ。 NaviはVegaより、マイクロアーキテクチャが効率的となり、スタンダードセルライブラリがチューニングされ、メモリインターフェイスの面積が小さくなっていると推測される。しかし、それらを割り引いたとしても、トランジスタを食うレイトレーシングユニットが最初から実装されているかどうかは疑問が残る。 ちなみに、AMDがNaviベースのRadeon RX 5700の対抗としたGeForce RTX 2070(TU106)のダイサイズは445平方mm。ダイではNaviのほうが60%の面積となる。ただし、ダイ面積あたりのコストは12nmと7nmでは大きく異なるため、今回は単純な面積比較ができない。 AMDは7nmプロセスでは、少なくとも当面はGPUのダイサイズを小さく抑えなければならない。なぜなら、露光プロセスがきわめて複雑化した現在の液浸版7nmプロセスは、ウェハコストがきわめて高いからだ。 また、工程が増えた分だけ歩留まり向上のカーブが緩くなる。現状では、7nmで大型ダイは経済的に製造しにくい。こうした液浸7nmプロセスの特殊事情は、Navi世代でのアーキテクチャ拡張の制約条件になっている。 Naviにレイトレーシングユニットが実装されている場合は、NVIDIAとAMDの2大GPUベンダーでレイトレーシングがサポートされ、PS5にも入るため、リアルタイムレイトレーシングの適用が加速する。ただし、NVIDIAとAMDのレイトレーシングユニットに実装上の違いが大きい場合は、ソフトウェアベンダーの負担が大きくなる。 実装的には、レイトレーシングのフローのなかで、レイを伸ばす「トラバーサル(Traversal)」と、レイとオブジェクトの交差を判定する「インターセクションテスト(Intersection Test)」の基本部分はおそらく共通する。 しかし、トラバーサルのさいに、ジオメトリ情報の管理の方式に違いがある場合は、データの作り方がAMDとNVIDIAで違ってくる場合がある。NVIDIAは、3D空間のオブジェクトをツリー構造で管理するバウンディングボリューム(BVH)をサポートしているが、AMDがどう対応するのかが疑問だ。ちなみに、Microsoftの次世代XboxもAMDのGPUコアを使うと見られているが、レイトレーシングのサポートは不明だ。

AMDのGPUはコンピュート寄りとグラフィックス寄りの2系統に RDNAのNaviの登場で、AMDのGPUはGCNからRDNAへと完全に移行するのか。そうはならないと。なぜなら、AMDはコンピュートに最適化したGPUを必要としているからだ。AMDは7nmプロセスのGPUで、最初にVegaアーキテクチャを、続いてNaviアーキテクチャを導入した。7nm版Vegaはグラフィックス製品も出したものの、最初に導入したのはコンピュート向けの「Radeon Instinct」だった。それに対して、同じ7nm GPUでも今回のNaviはグラフィックス向けのRadeonからスタートする。VegaとNaviは位置づけが異なる。 こうして見ると、AMDのGPUは2系統に分化しつつあることがわかる。VegaなどのGCN系GPUはコンピュート向けとして、NaviなどのRDNA向けGPUはグラフィックス向けとして、異なる製品カテゴリに最適化され導入されつつある。今まではGCNが両方を占めていたが、今後はグラフィックスはRDNA系となるだろう。このあたりはNVIDIAも同様で、GPUコンピューティング寄りのVoltaと、どちらかと言えばグラフィックス寄りのTuringとなっている。 また、AMDの7nmプロセスのGPU製品では、メモリのサポートが2系統のGPUアーキテクチャの方向性を象徴している。コンピュート向けのVega20は高コストだが広帯域のHBM2メモリ、グラフィックス向けのNaviは低コストのGDDR6メモリ。NVIDIAも同様に、GPUコンピューティング向けのVoltaはHBM2、グラフィックスから導入がはじまったTuringはGDDR5メモリとなっている。