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の拡張など多数のアーキテクチャ拡張が加わっている。後の記事でレポートしたい。 【表】AMD GPUのスペック比較 名称 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ドル分のゲームが手に入る。