AMDのGPU「RX 7900シリーズ」に採用された「RDNA 3アーキテクチャ」とは一体何なのか

2022年11月3日、AMDが次世代GPUアーキテクチャの「RDNA 3」の詳細を明らかにしました。
RDNA 3では半導体上の個々のダイを個別に設計してひとまとめにする「チップレット」という技術を新たに採用しており、前世代と比較して大幅な性能向上を果たしています。
このRDNA 3についてAMDから詳細を聞き出したテクノロジー系メディア・Tom's Hardwareのジャレッド・ウォルトン氏が、一体どんなものなのか解説しました。

RDNA 3アーキテクチャを用いて作られるGPU「Navi 31」は、チップレットの採用により、5nmプロセスで製造されたGPUダイ(GCD)と6nmプロセスで製造されたキャッシュメモリ(MCD)が1つのパッケージにまとまっています。
これによりメモリ帯域幅は最大5.3TB/sに向上し、処理性能は61TFLOPSに。
消費電力当たりの性能は前世代の「RDNA 2」と比べて54%上昇しているなど、さまざまな面で性能が刷新されています。

チップレットはAMDがCPUマイクロアーキテクチャの「Zen 2」以降で採用してきた設計で、Zen 2以降のCPUは入出力回路を搭載したダイ(IOD)を使ってシステムメモリと接続し、PCIe ExpressインターフェイスやUSBポート、Zen 4のグラフィックスやビデオ機能など、すべての機能を利用できるようにしています。
さらにAMDはInfinity Fabricと呼ばれる設計を用い、CPUコアやキャッシュなどで構成されたCore Compute Die(CCD)とIODを接続しています。

設計上のポイントは、CPUコア上で動作するもののほとんどがL1・L2・L3の各種キャッシュ内に収まるということだとウォルトン氏は解説。
Zen 4までの最新CPUではシステムRAM用の64-bitメモリチャネルは2つしかありません。

CCDは小さく、IODは125平方ミリメートル程度から416平方ミリメートルほど。
直近では、Zen 4搭載「Ryzen 7000シリーズ」のIODはTSMCの5nmプロセス(N5)で製造された70平方ミリメートルのCCDを1~2個搭載したわずか122平方ミリメートルのIODを備えていますが、第4世代EPYCでは同じCCDを採用しながら396平方ミリメートルの比較的大きなIODとなったとのこと。

しかし、これらCPUで求められる要件とGPUで求められる要件は大きく異なります。GPUは大容量キャッシュや大量のメモリ帯域幅を必要とし、単純にCPUと比較すると、12チャネルDDR5構成の巨大な「EPYC 9654」でさえ、NVIDIA製GPUの「RTX 4090」の2分の1ほどの帯域幅しか実現することができません。

ウォルトン氏は「つまり、AMDはGPUチップレットを効果的に動作させるために、CPUとは異なるアプローチを採る必要があったのです」と指摘。
AMDが編み出した解法は、CPUチップレットとほぼ逆に、メモリコントローラとキャッシュを複数の小さなダイに配置し、メインのコンピュート機能は中央のGCDチップレットに置くというものでした。

GCDには、すべてのCompute Units(CU:コア、スケジューラ、レジスタファイル、命令キャッシュ、テクスチャ・L1キャッシュ、エクスチャマッピングユニットなどを含むコンピューティングリソースの最小単位)と、ビデオコーデックハードウェア、ディスプレイインターフェイス、PCIe接続などのコア機能が搭載されています。
Navi 31のGCDは最大96個のCUを搭載しており、ここで一般的なグラフィックス処理が行われるほか、上下のエッジにはInfinity Fabricがあり、そこからMCDに接続されています。

GCDはTSMCのN5ノードを使用し、300平方ミリメートルのダイに457億個のトランジスタを搭載しています。
一方、MCDはTSMCの6nmプロセス(N6)ノードで製造され、わずか37平方ミリメートルのチップにそれぞれ20億5000万個のトランジスタを搭載。
キャッシュと外部インターフェイスはGCDの1平方ミリメートルあたり平均1億5230万個のトランジスタを搭載している一方で、MCDの平均トランジスタ数は1平方ミリメートルあたり5540万個です。