Hot Chips 34においてNVIDIAは新GPU「Hopper」を発表した。NVIDIAはデータのローカリティを改良したり、助け合うような実行を行うことで性能を高めたり、実行とデータ転送を非同期で実行するなどの改良を行ったとしている。また、ディープラーニングの性能を加速することも行うなど、各種の改良が行われているが、今回は、中身が専門的で説明が難しいものは省略させていただく。
NVIDIA H100 Tensor コア GPUはTSMCの4nmプロセス(N4)で作られ、800億トランジスタを集積している。H100は132SMを搭載し、クロックあたり132SM×2の性能を持つ。第4世代NVLinkをサポートし、900GB/sのトータルバンド幅を持つ。そして新しいSHARP機能を備えスイッチ部のネットワーク処理機能をポートに内蔵する。
L2キャッシュはHBM3で作られている50MBのキャッシュであり、第2世代のMulti-Instance GPUは暗号化処理を行う機能を持っている。
HopperのSM(streaming multiprocessor)はFP32とFP64のFMA演算性能はA100の2倍の性能になっている。L1キャッシュやShared Memoryも倍増されている。そして、テンソルコアは第4世代となり、アップグレードされており、DPX命令セットが更新され新しいテンソルメモリアクセラレータは完全に非同期にデータを移動することができる。そして、新しいスレッドブロッククラスタはローカリティを実行効率の改善に利用できるようになったという。DPX命令はダイナミックプログラミングの命令のようであるが、説明が無く、どのように使われるのか良く分からない。
HBM3メモリをGPUで用いたのはHopperが最初である。これにより、メモリのバンド幅は3TB/sに向上した。右側の棒グラフのように、A100では1.7TB/sのメモリバンド幅であったが、Hopperでは3TB/sと大きく向上した。
また、新しいDRAMコントローラは2倍のチャネル数を持ち効率が改善している。
H100+NVLink NetworkではHPCやAIの処理性能が改善している。特にセンターで推論を中心に処理を行う場合はA100をH100に変えるだけで短レーテンシで大量の処理ができるようになり、効果的だという。
第4世代のHopper Tensorコアは同じクロックでの性能が2倍に向上している。そして、FP8フォーマットが新たにサポートされた。
H100の性能向上はTensorコアとFP8のサポートの効果が大きい。
テンソル演算については、8bitのFP8の演算をサポート。8bitの演算にすればBF16やFP16などの2倍の演算が出来るようになるが精度や数値範囲が不足するという問題がでる。それを解決するため、NVIDIAは数値範囲を優先する「E5M2」という形式の表現と数値の精度を優先する「E4M3」という数値表現を作り、2つの数値表現を切り替えて使用するという方法を工夫した。
そして、テンソルエンジンの動きをモニタしていて、この2つの数値形式のどちらを使うかを自動で切り替える。図12の表をみるとこの切り替えはうまく行っているようである。
次の表は、FP8を使った場合の学習精度を示す。FP8を使った場合の方がFP16より誤差が小さいケースもあり、典型的な結果である。
DGX H100 Superpodは32台のDGX H100ノードをまとめたもので、AI計算では1ExaFlopsの演算性能を持つ。ネットワークのBi-Sectionバンド幅は70.4TBとなっている。
なお、NVIDIAのGrace Hopperスーパーチップでは、NVIDIA Grace CPUとH100は毎秒900GBの通信バンド幅を持つチップ間インターコネクトで接続され、このバンド幅はPCIe Gen5の7倍のバンド幅である。