Sunday, November 22, 2020

Radeon Instinct MI100が採用するCDNAアーキテクチャーの内部構造 AMD GPUロードマップ (1/4) - ASCII.jp

lihatterang.blogspot.com

 11月20日、「Radeon RX 6800」シリーズが無事に発売になった。KTU氏によるレビューをご覧になった方も多いと思うが、おそろしくパワフルな製品に仕上がっており、レイトレーシングを利用しない限りにおいてはGeForce RTX 3000シリーズに十分競合できる。

 という話はおいておき、今回解説するのは11月16日に発表されたCDNA第1世代を実装する、Radeon Instinct MI100の話である。が、その前に連載587回に誤りがあったため、まずはこれの訂正をしたい。

Smart Access Memoryを利用するのに必要な
Resizable BAR

 こちらでSmart Access Memory (SAM)の正体はCCIXを利用したCoherent Memory Accessではないかと推察したのだが、その後AMD本国の関係者から「そうではなく、PCIeでの接続である」という返事が返ってきた。

 その後にSAMを利用するためにはBIOSセットアップでを有効にすべしという注意書きが届いて、やっと正体がわかった格好だ(KTU氏もレビュー記事で触れている)。ついでなので、このResizable BARの話をしよう。

 BAR(Base Address Register)というのは、PCI ExpressのConfiguration Space(PCI Expressのデバイスを内部で管理するためのメモリー空間)の中にあり、デバイスのメモリー領域をホスト(つまりCPU側)のメモリー空間にマッピングする際のアドレスを格納している。

 もともとはPCI Express(の元になったPCI)が32bitアドレスでの動作を想定していたこともあり、BARの扱えるメモリー領域は最大でも256MBに制限されていた。ところが64bitアドレッシングをサポートしたCPUが登場したことで、BARをもっと広げても良いのではないか? という議論が起こる。

 最終的にPCI Express 2.0のECN(Engineering Change Notice)として2008年1月22日に、Resizable BARという仕様が追加された。これはBARのサイズを最大512GBまで拡張できるというもので、オプション扱いとなり、PCI Express 2.1以降では正式に仕様に取り込まれているみ(ただし実装は必須ではなく引き続きオプション)。

 マイクロソフトはWDDM v2でこのResizable BARに対応したことを2017年4月に表明している。というわけで、SAMは別にDX12やVulkanだけでなく、DirextX 9/10/11やOpenGLでもその効果が期待できるとAMDの関係者からは返事があった。

 余談であるが、筆者もHorizon Zero DawnをSAMありで実施したが、問題なく4Kで完走した。KTU氏との違いは、主にマザーボード(筆者はASUS ROG CROSSHAIR VIII HEROを利用)程度であるが、それが理由とも思えないのだが。

CDNAアーキテクチャーを採用したHPC向けGPU
AMD Instinct MI100を11月16日に発表

 さて、Radeon RX 6800の話はこの程度にして、本題に入ろう。もともとRadeon Instinct系、つまりGamingではなくComputationにフォーカスした市場向けに、AMDは従来のGCN(Vega)からRDNA(Navi)とCDNAに分けると今年3月に明らかにした。

Computationにフォーカスした市場向けに、従来のGCNからRDNAとCDNAに分けると今年3月にAMDが発表

 これはNVIDIAも同じで、アーキテクチャーこそ共通のAmpereとされつつ、GPGPU向けのGA100とGaming向けのGA102では、SM(Streaming Processor)の構造が異なっている。GA100はFP64の演算ユニットを搭載する一方でRTコアがなく、逆にGA102はFP64を省いてRTコアを搭載しているのがわかる。AMDはもっと大胆に、アーキテクチャーそのものを切り替えた形だ。

GPGPU向けのGA100。当然倍精度演算が必要になるので、FP64ユニットが大量に搭載される。ここでFP32ユニットを2つ組み合わせてFP64にしないあたりがNVIDIAらしい

Gaming向けのGA102。RTコアの詳細を細かく描画するのは放棄してる感じ(それを言えばTensorコアもそうだが)

 さてその中身である。ちなみにAMDはまだ“VEGA”や“NAVI”にあたる、CDNAのコード名を公開していない。“Arcturus”という名前がRadeon Instinct MI100のコード名と言われているが、アーキテクチャーの名前そのものではない。ということで、以下CDNA 1.0として表記したい。

 そのCDNA 1.0の構造が下の画像となる。RDNAの構造と比較すると、(CU数はともかくとして)例えばPixel UnitやRasterize、RB(Render Backend)など描画に必要な要素がキレイに消えていることがわかる。また、当然ながらGeometry Processorも搭載されていない。

CDNA 1.0の構造。Multimedia Engineが搭載されているのはやや興味深い。HPC市場でこれが利用されるシーンが想像できないのだが、汎用サーバー向けを念頭に置いてるのだろうか?

こちらはRDNAの構造。40個のCUが10個つづ4つのグループに分けて実装される

Let's block ads! (Why?)


からの記事と詳細
https://ift.tt/3972vvN
科学&テクノロジー
Share:

0 Comments:

Post a Comment