後藤弘茂のWeekly海外ニュース
AMDが次世代GPU「Radeon RX Vega64」を正式発表
~AMDの夏の大攻勢始まる
2017年7月31日 11:30
AMDが新GPUを正式発表
AMDの夏の大攻勢がはじまった。AMDは8月に、新GPU「Radeon RX Vega64(Vega10:ベガ10)」と16コアCPU「Ryzen Threadripper」を投入する。今年(2017年)のAMDの新製品が重要なのは、いずれもアーキテクチャの大きな変化となるからだ。ZenアーキテクチャでCPUはマイクロアーキテクチャを一新したが、今回のVegaでGPUもマイクロアーキテクチャが一新される。AMDにとって、5年振りの大きなGPUマイクロアーキテクチャ変革となる。
GPU製品としてみると、Radeon RX Vega64は、AMDにとって2年振りのフラグシップモデルだ。AMDは、昨年(2016年)はハイエンドGPUを発表しなかったため、ハイエンドのGPUはPolaris(ポラリス)世代をスキップしてVegaとなる。Vegaはファミリで登場する見込みで、今回発売されるのは、最上位のVega10だ。
Vega10アーキテクチャの最大のポイントは、NVIDIAのように巨大ダイ(半導体本体)への道を歩まずに、この世代ではGPUのダイサイズを抑えてきたこと。ダイサイズは486平方mmで、NVIDIAのVolta(ボルタ)世代の「GV100」の815平方mmの60%程度しかない。AMD自身の2015年のフラグシップGPU「Radeon R9 Fury X(Fiji:フィージー)」の596平方mmの82%程度。トランジスタ数は12.5B(Billion:125億)だが、これもNVIDIAと比べると少ない。スタックドメモリHBM2も2スタックと、NVIDIAの4スタックより少ない。
マイクロアーキテクチャでは、NVIDIAは今世代で深層学習(ディープラーニング)に向けて大きく振った。深層学習向けとグラフィックス向けに完全に分化する道を選んだと見られる。それに対してAMDは深層学習向け機能を加えながらも、そこに使うトランジスタを抑えた。結果として、Vega10は、高いグラフィックスパフォーマンスの割りには製造コストが低い=価格を下げられる、バランスのよいGPUとなっている。
コア数は同一だが性能は47%アップ
Vega 10のCU(Compute Unit)数は64個で、単精度FP32積和算ユニット(AMD用語ではStream Processor)数は4,096個。これは、2015年の「Radeon R9 Fury X(Fiji:フィージー)」と同じ数だ。しかし、FP32の性能は、Radeon R9 Fury Xの8.6TFLOPSに対して、Radeon RX Vega64では12.66TFLOPSと、47%も性能が上がっている。
大幅な性能向上は、チップの動作周波数の向上によってなされている。Fury Xでは動作周波数は1,050MHzだったが、Radeon RX Vega64では、ベースクロック1,247MHz、ブーストクロック1,546MHzとなっている。動作周波数の向上分が、そのまま性能向上となっている。
Vegaアーキテクチャでは、従来のGCNと比べて基本のパイプライン段数に変更はない。ベクタユニットの積和算パイプは4サイクルレイテンシのままだ。しかし、クリティカルパスについては徹底したチューニングが行なわれたという。
ロジック回路はパスによってディレイが異なり、ディレイがとくに長いパス群がクリティカルパスと呼ばれる。同期型プロセッサの動作周波数は、もっともディレイが長いパスに制約される。そのため、クリティカルパスをチューニングしてディレイを短縮すれば、動作周波数の向上が可能となる。Vega10ではクリティカルパスチューニングと、14nm LPPプロセスによって、1.7GHz以上の動作周波数が可能になったという。
パイプライン自体を変更しなかったのは、パイプラインを深くして積和算のレイテンシを長くすると、パイプラインを満たすのにより多くのスレッドが必要となってしまうからだと推測される。スレッド並列性を維持するためには、レジスタなどより多くのリソースが必要となってしまう。それに対してクリティカルパスチューニングでは、原理的にはアーキテクチャ上の変更が必要ない。
GPUコアのマイクロアーキテクチャを刷新
Vega世代では、CU(Compute Unit)のマイクロアーキテクチャが大きく刷新された。新設計の次世代CU「NCU(Next-Generation Compute Unit)」となった。NCUの最大の特徴は、「Rapid Packed Math (RPM)」と呼ぶパックド(SIMD)フォーマットのFP16半精度浮動小数点演算のサポートだ。
AMD GPUは単精度FP32(32-bit浮動小数点)演算に最適化したパイプラインを備えている。しかし、Vegaでは、32-bitパイプで16-bitの浮動小数点演算を2並列のSIMD(Single Instruction, Multiple Data)フォーマットで行なうことで、FP16時にFP32の2倍の性能を出すことができる。
FP16はモバイルグラフィックスなどで使われている他、マシンラーニングでも急速に浸透している。マシンラーニングのトレーニングフェイズにおいて、データ精度を下げたFP16の利用が進んでいるためだ。VegaでのFP16は、積和算など通常の演算はすべてサポートしている。
Vegaアーキテクチャでは、パックドの8-bit整数演算もサポートされた。しかし、8-bit整数演算は、SAD(Sum of Absolute Difference:差の絶対値和)演算のみサポートとなっている。動画などイメージ処理向けであり、マシンラーニング向けの実装ではない。この他にもVegaアーキテクチャには、ジオメトリパイプラインの刷新や新しいキャッシュ回路設計、FreeSyncの拡張など多数のアーキテクチャ拡張が加わっている。後の記事でレポートしたい。
名称 | Radeon Pro SSG | Radeon Pro WX9100 | Radeon RX Vega64 Liquid Cooled Edition | Radeon RX Vega64 |
---|---|---|---|---|
コードネーム | Vega10 | Vega10 | Vega10 | Vega10 |
ベースクロック | 1,406MHz | 1,247MHz | ||
コアクロック(最高) | 1,500MHz? | 1,500MHz? | 1,677MHz | 1,546MHz |
アーキテクチャ | GCN 5.0 | GCN 5.0 | GCN 5.0 | GCN 5.0 |
プロセッサ数 FP32 | 4,096 | 4,096 | 4,096 | 4,096 |
CU数 | 64 | 64 | 64 | 64 |
FP32 MAD/CU | 64 | 64 | 64 | 64 |
プロセッサ数 FP16 | 8,192 | 8,192 | 8,192 | 8,192 |
プロセッサ数 INT8 | 16,384 | 16,384 | 16,384 | 16,384 |
FP32 GFLOPS | 10,215 | 10,215 | 11,518 | 10,215 |
FP32 GFLOPS (boost clock) | 12,288 | 12,288 | 13,738 | 12,665 |
FP16 GFLOPS | 20,431 | 20,431 | 23,036 | 20,431 |
FP16 GFLOPS (boost) | 24,576 | 24,576 | 27,476 | 25,330 |
Texture Units | 256 | 256 | 256 | 256 |
Texture Fill Rate | 319.2GT/s | 319.2GT/s | 359.9GT/s | 319.2GT/s |
ROP Units | 64 | 64 | 64 | 64 |
Pixel Fillrate | 79.81Gpixels/s | 79.81Gpixels/s | 89.98Gpixels/s | 79.81Gpixels/s |
L2 cache | 4,096KB | 4,096KB | 4,096KB | 4,096KB |
メモリ種類 | HBM2 | HBM2 | HBM2 | HBM2 |
メモリ転送レート | 1,892Mtps? | 1,892Mtps? | 1,892Mtps? | 1,892Mtps? |
ビデオメモリインターフェイス幅 | 2,048bit | 2,048bit | 2,048bit | 2,048bit |
メモリ帯域(GB/Sec) | 484GB/s | 484GB/s | 484GB/s | 484GB/s |
標準搭載メモリ | 16GB | 16GB | 8GB | 8GB |
DRAM容量/ダイ | 8Gb | 8Gb | 8Gb | 8Gb |
DRAM個数 | 16 個 | 16 個 | 8 個 | 8 個 |
SSG(NAND Storage) | 2TB | |||
製造プロセス技術 | 14nm | 14nm | 14nm | 14nm |
製造プロセス技術の特徴 | 14LPP | 14LPP | 14LPP | 14LPP |
トランジスタ数 | 12,500M | 12,500M | 12,500M | 12,500M |
ダイサイズ(最初のダイ) | 486平方mm | 486平方mm | 486平方mm | 486平方mm |
TDP Max | 300W | 250W | 345W | 295W |
名称 | Radeon RX Vega56 | Radeon RX 480 | Radeon R9 Fury X |
---|---|---|---|
コードネーム | Vega10 | Polaris 10 (Ellesmere) | Fiji |
ベースクロック | 1,156MHz | 1,100MHz | 1,050MHz |
コアクロック(最高) | 1,471MHz | 1,266MHz | 1,050MHz |
アーキテクチャ | GCN 5.0 | GCN 4.0 | GCN3 |
プロセッサ数 FP32 | 3584 | 2304 | 4,096 |
CU数 | 56 | 36 | 64 |
FP32 MAD/CU | 64 | 64 | 64 |
プロセッサ数 FP16 | 7,168 | 2,304 | 4,096 |
プロセッサ数 INT8 | 14,336 | ||
FP32 GFLOPS | 8,286 | 5,069 | 8,602 |
FP32 (boost clock) GFLOPS | 10,544 | 5,834 | 8,602 |
FP16 GFLOPS | 16,572 | 5,069 | 8,602 |
FP16 GFLOPS (boost) | 21,088 | 5,834 | 8,602 |
Texture Units | 224 | 144 | 256 |
Texture Fill Rate | 258.9GT/s | 158.4GT/s | 268.8GT/s |
ROP Units | 64 | 32 | 64 |
Pixel Fillrate | 73.98Gpixels/s | 35.20Gpixels/s | 67.20Gpixels/s |
L2 cache | 4,096KB | 2,048KB | 2,048KB |
メモリ種類 | HBM2 | GDDR5 | HBM1 |
メモリ転送レート | 1,700Mtps | 7,000Mtps | 1,000Mtps |
ビデオメモリインターフェイス幅 | 2,048bit | 256bit | 4,096bit |
メモリ帯域(GB/Sec) | 435GB/s | 224GB/s | 512GB/s |
標準搭載メモリ | 8GB | 8GB | 4GB |
DRAM容量/ダイ | 8Gb | 4Gb | 2Gb |
DRAM個数 | 8 個 | 16 個 | 16 個 |
SSG(NAND Storage) | |||
製造プロセス技術 | 14nm | 14nm | 28nm |
製造プロセス技術の特徴 | 14LPP | ||
トランジスタ数 | 12,500M | 5,700M | 8,900M |
ダイサイズ(最初のダイ) | 486平方mm | 232平方mm | 596平方mm |
TDP Max | 210W | 150W | 275W |
膨大なメモリ空間をGPUが使えるようにするHBCC
Vega10は、スタックドDRAMの「HBM2」をサポートする。AMDはRadeon R9 Fury(Fiji)でHBM1をサポートした。今回は、規格上のデータ転送レイトが2倍になったHBM2を搭載している。Fijiでは、データ転送レートが1GtpsのHBMを、4スタック搭載していた。メモリインターフェイスは4,096bitで、メモリ帯域は512GB/sだった。
今回、AMDはVega10に、2,048-bitのHBM2インターフェイスを実装した。HBM2メモリスタックは2個と、Fijiの半分になった。しかし、HBM2自体のデータ転送レートが上がったことで、メモリ帯域は484GB/sを達成している。また、HBM1では、DRAMダイの容量が2G-bitだったが、HBM2では8G-bitとなったため、2スタックでも8GBの容量となっている。
さらに、Vegaでは、「HBCC(High-Bandwidth Cache Controller)」と呼ぶ新ユニットを搭載した。HBCCは、GPUのメモリだけでなく、CPU側のシステムメモリやストレージ、GPUに搭載したフラッシュストレージなどをシームレスにGPUメモリとして扱うことができるようにする仮想メモリシステムだ。Vegaアーキテクチャでは、CPUシステムメモリの一部やストレージをHBCCのメモリ空間として扱うことができる。
そして、オンパッケージのHBM2をあたかもキャッシュメモリのように扱う。インクルーシブキャッシュモデルを取る場合は、HBM2が新しいキャッシュ階層のように振る舞う。エクスクルーシブキャッシュモデルの場合は、HBM2とGPU外のメモリが地続きのメモリとしてマップされる。基本的なアイデアは、アクセス頻度が低いデータは遠いメモリに、頻度が高いデータは近いHBM2に持つことで、無理なく大規模なワークセットを扱えるようにする点にある。
キャッシュといってもHBCCの制御の粒度はページベースだ。Vegaでは、異なる複数のページサイズを同時に扱うことができるようにした。グラフィックスで多用されるシーケンシャルなアクセスが生じるようなデータタイプはラージページに格納。分散したアクセスが発生するデータはスモールページに格納する。Vega10では512TBまでのバーチャルアドレススペースをサポートする。
Radeon RX Vega64製品ラインナップ
製品としてのRadeon RX Vegaには複数のSKU(Stock Keeping Unit=アイテム)とパックがある。グラフィックスカードでは、フルスペックの「Radeon RX Vega64」が499ドルで発売される。Radeon RX Vega64では、64個のNCUが有効になっており、それが製品グレードナンバ「64」の由来となっていると見られる。
Radeon RX Vega64では、64個のNCUで、FP32積和算ユニットは合計4,096個となる。動作クロックはブースト1,546MHzで、ピーク性能はFP32で12.66TFLOPS、FP16で25.3TFLOPS。Radeon RX Vega64には、カードデザインが異なるリミテッドエディションがあるが、これは後述するパックでしか入手できない。
Radeon RX Vega64には液冷の「Radeon RX Vega64 Liquid Cooled Edition」がある。冷却能力を高めることで、動作周波数をブーストさせたバージョンだ。ベース1,406MHz、ブースト1,677MHzで、ピーク性能はFP32で13.7 TFLOPSとなる。FP16なら27.5 TFLOPSに達する。
Radeon RX Vegaファミリでは、さらに廉価なRadeon RX Vega56も399ドルで発売される。こちらは56 NCUで3,584FP32ユニット、ピーク性能は10.5TFLOPS。動作周波数はRadeon RX Vega64よりやや抑えられベース1,156MHz/ブースト1,471MHzとなっている。TDP(Thermal Design Power:熱設計消費電力)で比較すると、Radeon RX Vega56が210W、Radeon RX Vega64が295W、Radeon RX Vega64 Liquid Cooledが345Wだ。
お買い得なRadeon Pack
AMDはRadeon RX Vega64発売にさいして、グラフィックスカード以外のディスカウントを加えたパック製品「Radeon Pack」も用意した。これは、Radeon RX Vegaカードに加えて、ディスプレイやCPU、マザーボードのディスカウントとゲームパッケージをセットにしたパッケージだ。
パックには、湾曲34型の「Samsung CF791」FreeSyncディスプレイの200ドル割引、Ryzen 7とX370マザーボードの100ドル割引、それに120ドル相当のゲームパッケージ(リージョンによって異なる)が含まれる。Radeon RX Vegaに加えて、Ryzen 7プラットフォームとFreeSyncモニタも揃えてしまおうというユーザーにとっては、いい組み合わせとなっている。Radeon Packも8月に発売される。
パックは3系統が用意される。最上位の「Radeon Aqua Pack」は、液冷却のRadeon RX Vega64のパックで699ドル。通常の空冷のRadeon RX Vega64ベースのパックは「Radeon Blask Pack」で599ドルから。Blask PackのRadeon RX Vega64には、リミテッドエディションのバージョンが含まれる。
このほか、Radeon RX Vega56ベースの「Radeon Red Pack」も499ドルで発売される。言い換えれば、パックではカード製品と100ドルの差額で、300ドル分のハードウェア割引と、120ドル分のゲームが手に入る。
VegaベースのRadeon ProとRadeon Instinct
AMDはVegaベースのプロフェッショナル向けGPU「Radeon Pro」も発売する。Vega10ベースのRadeon Proは2種類。通常版の「Radeon Pro WX9100」と、フラッシュストレージをオンボードで搭載した「Radeon Pro SSG」だ。このRadeon Pro SSGが、ある意味、真のVega10となる。
Radeon Pro WX9100は、12.3TFLOPSで、Radeon RX Vega64より少しだけ動作周波数が抑えられていると見られる。Radeon RXとのスペック上の大きな違いは、ビデオメモリの搭載容量。Radeon RX Vega64がHBM2 8GBなのに対して、Radeon Pro WX9100は16GBとなっている。
HBM2では1個のDRAMダイ(半導体本体)が8G-bit(実際にはECCを含めて9G-bit)。Vega10は、HBM2を2スタック載せているため、Radeon Pro WX9100のHBM2は8Hi(8個のDRAMダイの積層)となる。8Hiの場合、HBM2では2ランク構成となる。
しかし、Radeon Pro WX9100のメモリ帯域は484GB/sと、Radeon RX Vega64と同等で、転送レートは1.9Gtps近い。HBM2では、2ランクでも転送レートが落ちないことがわかる。Radeon Pro WX9100のTDPは250Wとなる。
Radeon Pro SSGでは、2TBのフラッシュストレージがオンボードで搭載されている。ほかのスペックは、TDPが300Wに上がる以外の違いはない。NANDフラッシュストレージは、PCI Express接続のNVMeで、グラフィックスカード上に配置されている。Vega GPUとは、PCI Expressブリッジチップを介して接続されている。GPUからはCPU経由ではなく、PCI Expressで直接SSGにアクセスできるため、リードが8GB/s、ライトが6GB/sと高性能だ。SSGはHBCCによって管理される。アプリケーションから明示的にSSGにアクセスするためのAPIも用意されている。
高性能の並列プロセッサに、広帯域のスタックドDRAMと、大容量の不揮発性メモリを接続するというアイデアは、AMDが以前から暖めていたアイデアだ。Radeon Pro SSGは、その構想の第一歩となるGPUとなっている。
Vega10では、このほか、GPUコンピューティング向けのRadeon Instinctでも製品が提供される。「Radeon Instinct MI25」で、HPC(High Performance Computing)用途のほか、高いFP16性能を活かして、主に深層学習の学習フェイズへの浸透を狙う。