昨日あげたギャビン氏の記事「インディ系開発者が、ツイッターでXbox Series SがXbox Series Xの足を引っ張ると言われていることについて解説。」が大反響なので、ギャビン氏がリンクを貼ってくれた記事(RDNA vs Navi vs GCN)の日本語訳のリクエストが結構来たので、日本語訳することにしました。専門的な用語があり、素人の私は難しい用語をどうすべきか悩むワードがありましたが、一応自然に読めるように直したつもりです。その道に詳しい方で違和感感じたワードがありましたら、コメント欄でも遠慮なくご指摘ください。
これを読むことで、私のような素人を含む方々が少しでも理解が深まれば良いなと思っています。ご興味のある方は、是非読まれてみてください。
AMDの新しい7nm GPUアーキテクチャに関して、ある種の混乱が起こっていることに気付いています。これは、新しいアーキテクチャをRDNAと呼ぶべきなのか、Naviと呼ぶべきなのか、どちらがどっちなのか、混乱している人がいるからです。まあ、簡単に言えば、RDNAとNaviの両方がAMDの新しい7nm GPUに関連しているということで、ここではそれらに関するすべての疑問を解消しようと思います。
技術的には、チップ設計で使用されるアーキテクチャには、CPUであれGPUであれ、2つのタイプやレベルがある。1つ目はISAまたは命令セットアーキテクチャ、2つ目はマイクロアーキテクチャです。ISAまたは命令セットアーキテクチャは、コマンド、操作、命令、および命令セットで構成されています。ハードウェアとドライバまたはソフトウェアとの間のインターフェースとして機能します。
ISAは、プロセッサがサポートする命令の種類を定義します(算術/ロジック/ブランチ/ロード/ジャンプ)。命令の最大長(32ビット/64ビット)と、各種類の命令の命令形式(符号化方式)について説明しています。一方、マイクロアーキテクチャとは、特定のデザインにISAを実装したものです。それは、パイプライン実行、命令の順序、分岐などのような概念を扱います。
同じ命令セットを持つプロセッサは、異なるマイクロアーキテクチャを持つ可能性があることに注意が必要です。ここでは、RDNAまたはGCNは、AMD GPUの命令セットアーキテクチャ(ISA)とマイクロアーキテクチャの両方に与えられたコードネームであり、Polaris、Vega、およびNaviは、これらのアーキテクチャのための一連のGPUのためのコードネームです。ただし、一般的にはPolaris、Vega、NaviをGPUアーキテクチャと呼ぶ人もいるかもしれない。
GCN vs RDNA アーキテクチャ
GCNはGraphics Core Nextの略で、Oland、Cape Verde、Pitcairn、Tahiti GPUチップから現代のVega GPUチップに至るまで、AMDのほとんどのグラフィックスカードに採用されているアーキテクチャです。GCNアーキテクチャは、さまざまな反復を経て、合計5世代に渡って登場しています。以下に、さまざまな世代のGCNアーキテクチャをベースにしたさまざまなGPUを見ることができます。
一覧表はリンク先のGraphicsCardHubでご覧ください
GCN 1.0, GCN 2.0, GCN 3.0アーキテクチャをベースにしたグラフィックスカードは28nmプロセスで製造されましたが、GCN 4.0, GCN 5.0アーキテクチャをベースにしたカードは14nmプロセスを採用しています。例外として12nmプロセスを採用しているPolaris 30があります。また、Vega 20は7nmプロセスで製造されています。
GCN 4.0と5.0を使用しているカードは、旧世代(第1世代から第3世代)のGCNよりも、はるかに電力効率が高く、より良いパフォーマンスを提供します。また、GCN 1.0からのすべてのGCNアーキテクチャベースのグラフィックスカードは、PCIe 3.0(PCIエキスプレス3.0)規格を採用しています。
メモリに関して言えば、これらのGCNカードはすべて最初からGDDR5メモリをサポートしており、それ以降の世代のGCNカードにはHBMとHBM2メモリのサポートも含まれています。
HBMメモリは、Radeon R9 FURY、Radeon R9 FURY Nano、Radeon R9 FURY X / X2、Radeon Instinct MI8を含むGPUのフィジーラインに導入され、より高度なHBM2メモリを使用するカードには、Radeon RX Vega 56、Radeon RX Vega 64、Radeon VII、Radeon Instinct MIシリーズのカードが含まれています。
RDNAまたはRadeon DNAは、GCNアーキテクチャの後継となるもので、さまざまな改良と、GCNアーキテクチャよりも効率的な新しい命令セットが含まれています。RDNAは新しいコンピュータユニットを搭載し、マルチレベルキャッシュ、改良されたレンダリングパイプライン、プリミティブシェーダの動作、ディスプレイコントローラの更新(Display Stream Compression 1.2a)、GDDR6メモリのサポートを特徴としています。
RDNAアーキテクチャは、GPU上の7nm FinFET製造プロセスに実装され、PCIe 3.0が提供する帯域幅をほぼ2倍にするPCIe 4.0バスインターフェースもサポートしています。
RDNA vs Navi
Naviは、7nm FinFET製造プロセス上でRDNAアーキテクチャを使用して構築された一連のGPUに与えられたコードネームです。NaviとRDNAを入れ替えて使うこともあります。また、Naviをアーキテクチャと呼ぶこともあります。
Radeon RX 5000シリーズのグラフィックスカードは、RDNAアーキテクチャを採用し、Navi GPUを採用しています。Radeon RX 5700 XTとRadeon RX 5700はどちらも同じNavi 10 GPUを使用していますが、状態は異なります。RX 5700はNavi 10 XLチップ、RX 5700 XTはNavi 10 XTを採用しています。
GCNとRDNAの主な違い
技術的には、GCNとRDNAのアーキテクチャの主な違いは以下の通りです。
新しいCompute Units(CU)
RDNAコンピュートユニットは、シングルスレッド性能を向上させるために再設計され、旧型のGCNユニットと比較して効率性が向上しています。RDNAのIPC性能は1で、GCNでの0.25前後よりもはるかに高く、特にゲームでは体感できます。
シングルサイクル命令の問題
GCNアーキテクチャでは、4サイクルに1命令を発行しているが、RDNAは1サイクルに1命令を発行しているので、単純な命令を扱うことができ、効率が向上しています。
Wavefront Size (Wave32)
Wavefrontとは、1つのSIMD上で実行される基本的な作業群または操作グループのことです。GCNアーキテクチャでは、Wavefrontのサイズは64スレッド(Wave64)だが、RDNAアーキテクチャでは32スレッド(Wave32)と64スレッドの両方のWavefrontサイズに対応している。RDNAの小さいサイズのWavefront(Wave32)は、クロックサイクルの低減に役立ち、特にゲームではシングルスレッド性能を向上させます。
Workgroup Processors (WGP)
GCNでは、コンピュートユニット(CU)は、ALU、LDS、メモリアクセスを含むシェーダの基本を形成しています。RDNAでは、ワークグループプロセッサ(WGP)がシェーダハードウェアの基本単位を形成し、1つのワークグループプロセッサには2つのコンピュートユニットが含まれています。このようにして、より多くの計算能力とメモリ帯域幅を単一のワークグループに指示して、パフォーマンスを向上させることができます。
1 WGP = 2 CU
WGP -> Workgroup Processor
CU -> Compute Unit
マルチレベルキャッシュ階層
RDNAは、新しいL1キャッシュ階層を導入し、各階層のキャッシュレイテンシを低減し、L0からALUまでの負荷帯域を2倍にして実効帯域を向上させました。これは、消費電力の低減にもつながります。現在では同じ電力でも50%以上の作業が可能になり、性能が大幅に向上しています。
🔚
いつも有用な記事をありがとうございます。
訳の提案です。
RDNAのIPC性能は1の方がはるかに高く、GCNでは0.25前後で、特にゲームでは体感できる。
↓
RDNAのIPC性能は1で、GCNでの0.25前後よりもはるかに高く、特にゲームでは体感できます。
(比較対象を明確にし、他の文と同様にですます調で合わせています)
ご指摘、ありがとうございました。
おっしゃるとおり、ご指摘、ご提案の文の方がいいですね。早速訂正しました。
この記事の作業は、炎天下の外で作業したのでちょっと雑になってしまったみたいです。
すみませんでした。やはり作業は室内でじっくり行うべきですね。。
大変、参考になりました。
>1つ目はISAまたは命令セットアーキテクチャ、2つ目はマイクロアーキテクチャです。
この部分は素人でしたので、参考になりました。
そのあとでISA/マイクロをわけずに、どちらも「アーキテクチャ」
と よんでいるので、そこはわかりにくかったです。
しかし、アーキテクチャにも種類があることがわかりました。ありがとうございます!
ありがとうございます。
もう少し、元記事の内容を噛み砕いて書いた方がよかったかもしれません。
私も素人なので、知識力が足りず申し訳ないです。