7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

NVIDIA Hopperアーキテクチャ簡易まとめ その1

Last updated at Posted at 2022-04-13

情報(と頭の)整理を兼ねて、先日、3月21日から行われたGTC22で発表された、NVIDIA Hopperアーキテクチャについて纏めていこうと思います。
なお、本投稿はNVIDIA H100 のWhitepaperの内容をすべて完璧に網羅するというよりは、そこからエッセンスを抽出し個人的な備忘録として纏めたものになります。typo等はご容赦下さい。

はじめに

本ブログの元情報は以下にありますので、この簡易まとめをみてご興味持たれた方はぜひ本家をご確認下さい。
(注:2と3のリンクはGTCに登録された方のみ閲覧可能です。暫くするとどなたでも見れるようになるようです)

  1. NVIDIA Hopper Architecture In-Depth
  2. GTC S41489 Optimizing CUDA Applications for NVIDIA Hopper Architecture
  3. GTC S42663 Inside the NVIDIA Hopper Architecture

NVIDIA H100 GPU 概要

AIとHPCの為の次世代GPU

NVIDIA H100は、大規模AIおよびHPCの為の前世代のA100と比較し飛躍的な性能向上を遂げた第9世代のデータセンターGPUです。NVIDIA Hopper Architecture In-Depthブログでは、現在主流のAIやHPCワークロードにおいて、Infinibandインターコネクトを搭載したH100は1つ前の世代のA100と比較した際に最大30倍の性能が出る。また後述のNVLink Swichインターコネクトを組み合わせた場合、更に3倍性能が向上する可能性があると述べられています。
image.png
図1: H100 enables next-generation AI and HPC breakthroughs
NVIDIA Hopper Architecture In-Depthより引用

GTC S42663 Inside the NVIDIA Hopper Architectureのセッション冒頭でMichael Andersch氏は以下のようにコメントしています。(聞き取りミスはご容赦下さい)

Modern accelerated computing is rarely about one individual GPU anymore. Instead, the most demanding applications today require 100s, sometimes 1000s of GPUs to execute. And each of those GPUs in turn may contain hundreds of individual processors. So designing these hierarchical systems and enabling programmers to harness thesir performance requires a fundamental shift in how we build these machines and express our programs.

image.png
図3: Features for outstanding performance, scalability and data center security
GTC S42663 Inside the NVIDIA Hopper Architectureより引用

現在主流のAIやHPCワークロードでは、数100場合によっては数1000のGPUが必要であり、それらのGPUには個別に多数のプロセッサが搭載されている。このような階層システムでプログラマがパフォーマンスを引き出す為には、マシンの構築方法、およびプログラミングモデルそのものを根本的に変える必要があると述べており、「Hopper SM」「Hierarchy」「Asynchrony」「SuperPods」「Cloud Computing」と大きく5つに分けて説明していく事が最初に言及されています。
NVIDIA H100はGPU単体の性能は勿論の事、数1000ものGPUを必要とするワークロードでのスケーリングについても意識して設計されています。

まず5つの項目を細かく見る前に、NVIDIA H100 GPUの全体像・概要を確認していこうと思います。

NVIDIA H100 GPU の主要機能

H100の主要機能を以下に列挙します。前節で説明した通り、GPU単体の性能に関係する機能は勿論の事、マルチノードマルチGPU環境でのスケーリングに関係する機能やコンフィデンシャルコンピューティングに関係する機能追加もありますね。

  • SMの性能・効率性の向上
  • Transformer Engineの搭載
    • 新しくTransformerモデルの学習と推論を高速化する機構が追加されました
  • HBM3メモリの採用
    • 前世代に比べ約2倍の帯域幅を実現。3TB/秒のメモリバンド幅を実現できます。
  • 50MBのL2キャッシュを搭載
    • L2キャッシュサイズが前世代(A100)から更に大きくなりました。
  • 第2世代のMIGテクノロジー
    • 第1世代のMIGと比較して、GPUインスタンスあたり約3倍の計算能力と約2倍のメモリ帯域幅を提供します。MIGレベルのTEE(trusted execution environment)の機能が初めて提供されます。
  • コンフィデンシャル・コンピューティングのサポート
    • ユーザーデータの保護、ハードウェアおよびソフトウェア攻撃からの防御、仮想化およびMIG環境における仮想マシン(VM)の相互分離と保護がより強化されます。
  • 第4世代のNVLink
    • 900 GB/秒の総バンド幅。
  • 第3世代のNVSwitch
    • 前世代の7.2 Tbits/secから13.6 Tbits/secに向上。
  • NVLINK Switchインターコネクトテクノロジー
  • PCIe gen5の採用

NVIDIA H100 GPU アーキテクチャ

TSMC 4Nプロセスを採用したH100は、TSMC 7nm N7 プロセスを採用した前世代の GA100 GPU と比較して、GPU コア周波数の向上、ワット当たりの性能向上、GPC、TPC、SM の搭載を実現しました。
図 3 は、144 個の SM を搭載した「完全版GH100 GPU」を示しています。
image.png
図3: GH100 Full GPU with 144 SMs
NVIDIA Hopper Architecture In-Depthより引用

H100は「完全版GH100 GPU」以外に「NVIDIA H100 SXM5 GPU」と「NVIDIA H100 PCIgen5 GPU」が存在し、それぞれSM数やメモリなどのスペックが若干異なるとの事です。
NVIDIA A100発表時にも、「full implementation of the GA100 GPU」と「A100 Tensor Core GPU implementation of the GA100 GPU」が存在し、スペックは異なるという説明がありましたが、NVIDIA H100も同じのようです。

full implementation of the GH100 GPU NVIDIA H100 GPU with SXM5 NVIDIA H100 GPU with a PCIe Gen 5
GPC数 8 8 7 or 8
TPC数 72 66 57
SM数 144 132 114
FP32 CUDA Cores per SM 128 128 128
FP32 CUDA Cores per GPU 18432 16896 14592
TensorCore per GPU 576 528 456
メモリ 6 HBM3 or HBM2e stacks, 12 512-bit memory controllers 80 GB HBM3, 5 HBM3 stacks, 10 512-bit memory controllers 80 GB HBM2e, 5 HBM2e stacks, 10 512-bit memory controllers
L2キャッシュ 60 MB 50 MB 50 MB

表1: GH100 Full GPU/NVIDIA H100 SXM5 GPU/NVIDIA H100 PCIe Gen5 GPUの比較
NVIDIA Hopper Architecture In-Depthより引用

Compute Capability (別の世代との比較)

性能比較

次に異なるCompute CapabilityのGPUと比較しながら、NVIDIA H100の理論性能をを見てみます。
NVIDIA H100のTensorCoreはTF32、FP16に加えて、新しくFP8がサポートされています。(FP8の詳細については別途触れようと思います)
また倍精度、単精度共に前世代のA100に比べて性能が大幅に向上しています。

NVIDIA A100 NVIDIA H100 SXM5 NVIDIA H100 PCIe
Peak FP641 9.7 TFLOPS2 30 TFLOPS 24 TFLOPS
Peak FP64 Tensor Core1 19.5 TFLOPS2 60 TFLOPS 48 TFLOPS
Peak FP321 19.5 TFLOPS2 60 TFLOPS 48 TFLOPS
Peak FP161 78 TFLOPS2 120 TFLOPS 96 TFLOPS
Peak BF161 39 TFLOPS2 120 TFLOPS 96 TFLOPS
Peak TF32 Tensor Core1 156 TFLOPS/312 TFLOPS2 500 TFLOPS/1000 TFLOPS3 400 TFLOPS/800 TFLOPS3
Peak FP16 Tensor Core1 312 TFLOPS/624 TFLOPS2 1000 TFLOPS/2000 TFLOPS3 800 TFLOPS/1600 TFLOPS3
Peak BF16 Tensor Core1 312 TFLOPS/624 TFLOPS2 1000 TFLOPS/2000 TFLOPS3 800 TFLOPS/1600 TFLOPS3
Peak FP8 Tensor Core1 - 2000 TFLOPS/4000 TFLOPS3 1600 TFLOPS/3200 TFLOPS3
Peak INT8 Tensor Core1 624 TOPS/1,248 TOPS2 2000 TOPS/4000 TOPS3 1600 TOPS/3200 TOPS3

表2: GPU preliminary performance specs: V100 vs. A100 vs. H100
NVIDIA Hopper Architecture In-Depthより引用

スペックの比較

次に異なるCompute CapabilityのGPUと比較しながら、NVIDIA H100のスペックを見てみます。
NVIDIA H100のCompute Capabilityは9.0です。SMあたりの最大スレッド数は2048であり、A100やV100と同じです。SM辺りのレジスタ数も65536で前世代と変わりません。
数字を眺めていて変化があるのは、SM辺りのFP32コア数です。V100, A100が、64 FP32コア/SM だったのに対して、H100は128 FP32コア/SM とSMあたりのFP32コアの数が2倍に増えています。SM辺りのレジスタ数は変わっていない為、必然的に1 FP32コアあたり使用可能なレジスタ数は1/2になっている所にご注意下さい。
またSMあたりのシェアードメモリのサイズはH100で228KBになり、約1.4倍に増加しています。
image.png
表3: Compute capability: V100 vs. A100 vs. H100
NVIDIA Hopper Architecture In-Depthより引用

長くなったので、この辺りで一度記事を切りたいと思います。

  1. Preliminary performance estimates for H100 based on current expectations and subject to change in the shipping products 2 3 4 5 6 7 8 9 10

  2. A100 Tensor Core GPU's peak rates are based on the GPU boost clock. 2 3 4 5 6 7 8 9

  3. Effective TFLOPS / TOPS using the Sparsity feature 2 3 4 5 6 7 8 9 10

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?