はじめに
NVIDIA GB300 NVL72の FP64の性能がめっちゃ低くなっているので、ちょっと調べてみました。
もしかして、NVIDIA、HPC で必要な FP64 を捨てたの?
GB300 NVL72
GB300 NVL72 の仕様 を見てみました。

FP4以外は、全部 Sparsity です。
- FP4 Tensor Core : 1,400 | 1,100² PFLOPS
- FP8/FP6 Tensor Core : 720 PFLOPS
- INT8 Tensor Core : 720 PFLOPS
- FP16/BF16 Tensor Core : 360 PFLOPS
- TF32 Tensor Core : 180 PFLOPS
- FP32 : 6 PFLOPS
- FP64 / FP64 Tensor Core : 100 TFLOPS
GB200 NVL72
GB200 NVL72 の仕様も振り返ってみました。

- FP4 Tensor Core : 1,440 PFLOPS
- FP8/FP6 Tensor Core : 720 PFLOPS
- INT8 Tensor Core : 720 POPS
- FP16/BF16 Tensor コア : 360 PFLOPS
- TF32 Tensor コア : 180 PFLOPS
- FP32 : 5,760 TFLOPS
- FP64 : 2,880 TFLOPS
- FP64 Tensor Core : 2,880 TFLOPS
で、差分を見ると、
- FP32 Tensor Core : 180 PFLOPS => 180 PFLOPS
- FP32 : 5,760 TFLOPS => 6 PFLOPS
- FP64 : 2,880 TFLOPS => 100 TFLOPS
- FP64 Tensor Core : 2,880 TFLOPS => 100 TFLOPS
FP32 は、5,760 TFLOPS => 6,000 TFLOPS なので、まー、変化なし。
FP64は、2,880 TFLOPS => 100 TFLOPS です。 1/2,880 です。NVL72 なので、1/20 です。
H100 の時は、
- FP64 : 30 TFLOPS
- FP64 Tensor Core : 60 TFLOPS
でした。
GB200 NVL2
GB200 NVL2 の仕様によると、

TF32 は、Tensor Coreだけど、FP32 は Tensor Core じゃない。FP64/FP64 Tensor Core は同じ値。
ということは、FP32 と FP64 は、TensorCore じゃなくなったということでしょうか?
おわりに
ということで、Blackwell Ultra では、FP64 は捨てたっぽいです。
では、その分、どこに力を入れたのか?というと、FP4 Dense が 720 PFLOPS => 1100 PFLOPS。1パッケージでは、10 PFLOPS => 15 PFLOPS です。つまり、1.5倍です。
H100 の仕様を再度見てみると、
- TF32 Tensor Core : 1000/500 TFLOPS
- BF16/FP16 : 120 TFLOPS
- FP32 : 60 TFLOPS
- FP64 Tensor Core : 60 TFLOPS
- FP64 : 30 TFLOPS
Tensor Coreじゃ無い場合は、H100 => B200 では、1.5 倍。Tensor Core は、2.5倍
