NVIDIA "Grace"
NVIDIA、GTC 21の基調講演でデータセンタCPU「Grace」を発表 - マイナビ
NVIDIA Graceとは ArmベースAI専用CPUの実力 - ITmedia
NVIDIA Announces CPU for Giant AI and High Performance Computing Workloads - NVIDIA
Grace CPU - NVIDIA
詳細が発表されていないため推測の粋を出ないが、個人的な感想としては各種メディアの記事中にある「AI専用CPU」という表現はミスリードではないかと思う。より正確に言えば「(NVIDIA GPUで)AI(処理を高効率で動作させる)専用のCPU」で、"Grace" CPU単体での演算性能は高くないのが実態ではないかと思う。
例えばビデオゲームがそうだがCPUがGPUに処理の大部分をオフロードするワークロードは存在し、Neural Network処理もそのひとつである。実際、NVIDIAは"Grace"発表のプレゼンテーション中でGPU-CPU-メモリー間のデータ転送について言及したのみで、CPUコア単体の性能やFLOPS/TOPS性能には一切触れていない。恐らくCPU単体でのNeural Network処理性能はAVX-512搭載Intel Xeonの方が圧勝で、CPU + GPU構成で高性能を発揮するのだろうと推測する。
そもそも、NVIDIAは同社のGPUを効率良く動作させるホストCPUを必要としており、例えばNVIDIAはIBMとORNL OLCF-4 Summit(2018年)を組んだ時でもIBMと協業してIBM POWER 9にNVLinkを統合した。今回のNVIDIAの発表スライドに登場したx86 CPUとGraceのメモリーバンド幅比較スライドのような違いはx86 CPUとIBM POWER 9にも存在した。GPUはホストCPUにある程度制約を受けるためNVIDIAがCPU側のコントロールを欲していることは公然の秘密で、x86アーキテクチャーライセンスの取得を狙っていると報じられたり(参考1、参考2)、当時独立企業だったArmにエンジニアを100人規模の送り込んでアーキテクチャー開発に携わったこともある(参考)。
CPU・GPUを持つIntelがCXL・AMDがCCIXへと舵を切りつつある現状を鑑みても、NVIDIAがNVLinkを統合したCPUを持つ意思があることは想像に難くない。
システム構成
NVIDIAの発表スライドの趣旨は理解できるのだが、こちらもミスリードがあるように思う。
x86 CPU + 4x GPUと"Grace" CPU + 4x GPU構成でのメモリーバンド幅の比較の図が示されているが、x86の構成でGPU-Memory間の帯域が64 GB/sに制限されているのは~2019年頃のPCIe Gen 3 x16(16 GB/s)が4 リンクである。"Grace"が登場すると見られる2023年時点であればPCIe Gen 5 x16(63 GB/s。4リンクで252 GB/s)も使える。もちろん、PCIe Gen5でもNVLinkとの優劣が引っ繰り返るわけではないが、2019年頃の規格と2023年の新製品とを比較して「30倍」と主張することはフェアとは言えない。
また、いずれの場合もCPU-GPU間接続がボトルネックとなるのであまり関係ないが、CPUソケット数を増やすとCPU-Memory間の帯域も増えるので1 socket構成と4 socket構成とを比較することもフェアなのか判断に迷うところである。
下の表はNVIDIA発表資料に合わせて別の構成を比較したものである。2023年のx86構成はIntel Xeon "Sapphire Rapids"をモデルとしているが、恐らくAMD Zen4世代Epyc "Genoa"やZen5世代Epycでも可能と思われるが趣旨がズレるので割愛する。OLCF-4 SummitはノードあたりPOWER9 x 2ソケット・NVIDIA V100 x 6 GPUだったりと変則的だが、2018年のシステムとしては"Grace"に近い傾向を見せていることが解る。
ちなみに、筆者の知る限りLPDDR5Xなどという規格は存在しないため、過去にLPDDR3/4→LPDDR3X/4Xで起こったことがLPDDR5で踏襲された場合を想定しておりバンド幅の概算と思われる(もしLPDDR5Xが4266 MHzならx512構成で546 GB/sである)。
|
NVIDIA Presentation |
Reference |
CPU |
x86 |
"Grace" |
OLCF-4 Summit POWER 9 |
x86 |
Year |
???? |
2023 |
2018 |
2023 |
# of CPU sockets |
1 |
4 |
2 |
2 |
# of GPU modules |
4 |
4 |
6 |
4 |
4x GPU-VRAM (GB/sec) |
HBM2E 8000 |
HBM2E 8000 |
HBM2 900 x 6 GPUs 5400 |
HBM2E 8000 |
CPU-Memory (GB/sec) (per socket) |
DDR4-3200 x 8ch 200 |
LPDDR5X 4266 x 512-bit 500 |
DDR4-2100 x 8ch 135 |
DDR5-4800 x 8ch 307 |
CPU-GPU (GB/sec) |
PCIe Gen 3 x16 16 |
NVLink 4.0 500 |
NVLink 2.0 300 |
PCIe Gen5 x 16 63 |
GPU-Memory (GB/sec) |
PCIe x16 x 4-links 64 |
NVLink x 4-links 2000 |
NVLink x 6-links 270 |
PCIe x16 x 4-links 252 |
"Grace" SoCの謎
上述の通り、"Grace"とは「NVIDIA GPUでAI処理を高効率で動作させる専用のCPU」と推定され、その内部構成は説明されていないため幾つかの疑問点が存在する。
まずCPUコアについてだが、処理をGPUにオフロードする前提と思われるためNeoverse N2(Cortex-A78)相当ではないかと想像する。
NVIDIAの発表スライド中にある画像を参考にすると12x7のメッシュで接続された84コアのように見えるが、恐らく実態に即していないため、概ね80コア+冗長用コアが搭載されるものと思われる。
NVIDIAは過去にDenver/Denver2/Carmelという独自設計のArmv8コアを開発してきたが、NVIDIA自身が"Grace"のCPUについて「Next-Generation Arm Neoverse Cores」と表現しているため恐らくArm純正のNeoverse V1かNeoverse N2と思われるが判然としない。上述の通り"Grace"が「NVIDIA GPUでAI処理を高効率で動作させる専用のCPU」だとすればNeoverse N2ではないかと想像する。ちなみにNeoverse V1は最大96コア・Neoverse N2は最大128コアである。
最も不思議なのがメモリー構成である。
上述の通りNVIDIAの発表スライド中にある画像が恐らく実態に即していない理由がこれで、LPDDR5X with ECCだとしているにも関わらず、恐らく画像の構成ではECCが考慮されていない。
LPDDRメモリーはスマートフォンなどモバイルを想定しているため筆者はECC構成の実例を見たことは無いが、ECCの仕組みは単純なのでコントローラー側さえ対応すれば実現は可能である。一般的なPCのECCの場合ではメモリーはx8 configのDRAMを8個並べた64-bitインターフェースに、ECC用にDRAMを1個追加した72-bitインターフェースで1チャンネルを構成している。仮に64-bit/8-bytesのデータを読み/書きする場合は8-bitずつ8チップに対し読み/書きされるわけだが、この各チップの0~7ピン・8チップ分をXORしたものがECCで1-bit誤りを検出できる(訂正:筆者の勘違いのため訂正いたします。ECCでのエラー検出はパリティーではなくハミング符号による1-bitエラー検出・修正でした)。つまり、ECCを実現するには対応コントローラーと必要なチャンネル数/メモリーチップのコンフィグ+1個のメモリーが必要となる。
LPDDRメモリーでは1パッケージで2チップが搭載されインターフェースは64-bitが一般的である。例えばLPDDR1~LPDDR3の場合では1チップがx32コンフィグで1パッケージに2チップが搭載されて64-bitが構成されている。そこから計算するとNVIDIA発表スライド中の構成では64-bit x 8パッケージ = 512-bitであろうと想像できる。事実、上述のバンド幅の比較では1 CPUあたり500 GB/sのメモリーバンド幅を実現するとされているが、恐らく512-bit程度の幅がないと実現できない(もしLPDDR5Xが4266 MHzならx512構成で546 GB/sである)。NVIDIAが何bit単位でチャンネルやECCを構成するのか不明だが、恐らく少なくとも1パッケージのLPDDR5Xメモリーは追加されると思われる。
最大の謎がネットワークインターフェースである。
筆者の想像では旧MellanoxのConnectX-7ネットワークアダプターがSoCに統合されると思われるが、いかんせんNVIDIA発表スライドではまったく登場しなかったため、どのような構成になるのか不明である。
NVIDIAが買収した旧Mellanoxのネットワークアダプターはネットワークを介したGPU-GPU間接続=GPUDirectに対応しており、NVIDIA発表資料中の4 CPU + 4 GPU構成以上にスケールさせるためにも旧Mellanoxのネットワークアダプターの採用は必然と思われるが、"Grace"に統合されるのかGraceとPCIeで接続されるのかは分からない。もっとも、ConnectX-7系とArm CPUを統合した最新SoC=BlueField-3の場合だと恐らくConnectX-7は巨大なせいでArm CPUコアは16コア止まりだから、"Grace"のCPUコアが64~128コアに達するようであればConnectX-7はPCIe外付される可能性が高そうに思われる。
NVIDIA "Atlan"
NVIDIA Unveils NVIDIA DRIVE Atlan, an AI Data Center on Wheels for Next-Gen Autonomous Vehicles - NVIDIA
報道を見る限り、"Atlan"の注目度は"Grace"より低かったように見える。もっとも、2023年登場の"Grace"に対し2026年登場の次々世代の車載SoCということで雲を掴むような話なので仕方がないのかもしれない。
しかし、筆者にはNVIDIA GPU/車載SoCに旧Mellanox ネットワークアダプター/DPUやArmサーバーCPU搭載SoCの追加によって、CPU/GPU/ネットワークの共通したIPを搭載し共通のソフトウェアスタックを利用可能な多様なプラットフォーム構成の実現が可能になるように思う。実際、"Atlan"の発表でNVIDIAが出したイメージ画像は「Ampere-Next GPU」「Grace-Next CPU」「BlueField DPU」と既存の他のプラットフォームのIPをSoCとして統合したものだ。
下記の表はCPU/GPU/Networkingの各種IPの搭載比率を◎/○/△/N/A(非搭載)で表現したものである(※製品の世代毎に変化するので、あくまでもコンセプトである)。Server SoCは"Grace"に始まるファミリー、Automotive SoCはTegra/Xavierファミリー、DPUは旧MellanoxのBlueFieldファミリーのことで、同じIPを比率を変えて統合することで多様な製品を作り分けていることが解る。
|
CPU |
GPU (GeForce/Tesla) |
Networking (ConnectX) |
Domain Specific |
Discrete GPU (GeForce/Tesla) |
N/A |
◎ |
N/A |
High band-width memory |
Server SoC |
◎ (probably > 64-core CPU) |
N/A |
? |
High band-width memory NVLink |
Automotive SoC (Tegra/Xavier) |
△ (8-12-core CPU) |
〇 (192 - 2048 CUDA cores) |
△ |
ASIL-D Safety, CAN Networking |
DPU (BlueField) |
〇 (8-16-core CPU) |
△ (planned) |
◎ (up-to 400GbE) |
|