BW1000 对 FP8 支持差吗
前言
做国产算力选型或把 CUDA 上的 FP8 推理栈迁到海光平台时,常听到一句笼统判断:BW1000 对 FP8 支持不好。
先说结论
BW1000 不要用FP8,性能真的很差。
为何体感差
开源大模型里 FP8 权重、校准与推理脚本,大量按 英伟达工具链与 dtype 约定 编写。
换到 DCU 时,即使硬件侧有 FP8 能力,仍可能遇到 需要重导出、重校准或走海光推荐的数据排布 才能稳定的情况。
BW1000 没有原生 FP8 硬件单元,强行用 FP8 会触发软件模拟,速度反而比 FP16 慢。
对比
BW1000 的架构设计非常独特,它更像是一张“披着 AI 外衣”的高性能科学计算卡。从数据上看,它的技能点主要加在了**双精度计算(FP64)**上,而不是像 NVIDIA H100 那样疯狂堆叠 FP8/FP16 的 Tensor Core 性能。
以下是 BW1000 与 NVIDIA 旗舰卡的算力对比,你可以清晰地看到差异:
| 指标 | 海光 BW1000 | NVIDIA H100 (SXM) | 差异解读 |
|---|---|---|---|
| FP64 (双精度) | 30 TFLOPS | 30-34 TFLOPS | 几乎持平。这是 BW1000 的杀手锏,适合科学计算。 |
| FP32 (单精度) | 60 TFLOPS | 60-67 TFLOPS | 表现优秀,通用性强。 |
| FP16 (半精度) | 480 TFLOPS | ~1,979 TFLOPS | 差距明显,H100 的 AI 训练能力远超 BW1000。 |
| FP8 (8位精度) | 未重点标注 | 极高 (数千 TFLOPS) | BW1000 未宣传此项,说明非核心优势。 |
是否支持
下面用一段最小化的 PyTorch 思路说明「验证」在做什么:
在已安装海光版 PyTorch 的环境里,查看当前构建是否注册了你关心的浮点类型。
1 | import torch |
我们可以看到
1 | device: cuda:0 |
可以看出环境是支持FP8的,只是性能差。