性能实测:解锁前后

上游公布的全部同卡前后对比数据,包括没有变化的张量模式、实测 1.0029× 的 FP8 CUTLASS 一组,以及 Turing 分支的 RTX 2080 Ti cuBLAS 表格。

数据是怎么测的

RTX 4090 的数据来自寄存器驻留的 MMA 发射率循环,每种模式 20,000 次迭代、重复三次,取三次最好值。RTX 4070 Ti SUPER 的数据来自分支的 tensor-modes-comparison.json:66 个 SM、驱动 580.178.04、240 W 功耗上限、20,000 次迭代、重复三次,全 1 输入、8 条独立链。FP8 那组是另一次 CUTLASS 4.8.1 profiler 运行,单个 sm_89 内核。RTX 2080 Ti 的数据来自 Turing 分支 README 的表格:cuBLAS FP16 GEMM、FP32 累加、250 W、驱动 575.51.03,四个 M.N.K 尺寸,在戴尔 22 GB 卡上测得。该表直接给出 TFLOPS,括号里附 56.9 TF/s 峰值的百分比,这个峰值取自 NVIDIA Turing 白皮书;本页原样引用这些 TFLOPS。README 没有给出迭代次数,因此这里也不显示。

GeForce RTX 4090

AD102 · 128 个 SM · 驱动 unrecorded in the evidence file

模式解锁前解锁后提升
f16/f16325.70 TF/s331.60 TF/s1.02×
f16/f32165.60 TF/s330.80 TF/s2.00×
bf16/f32165.50 TF/s330.30 TF/s2.00×
s8/s32661.60 TF/s659.50 TF/s1.00×
dp4a164.50 TF/s164.10 TF/s1.00×
ffma79.10 TF/s79.10 TF/s1.00×
  • f16/f16: unlocked values are the 40,000-iteration run; f16/f16 was mostly unaffected, unlike f16/f32
  • s8/s32: already at full rate before the unlock
  • ffma: FP32 was never rate-limited

本次测试的原始文件

GeForce RTX 4070 Ti SUPER

AD103 · 66 个 SM · 驱动 580.178.04

模式解锁前解锁后提升
f16/f3294.96 TFLOP/s188.97 TFLOP/s1.99×
tf3247.49 TFLOP/s94.51 TFLOP/s1.99×
u4/s32754.81 TOP/s754.68 TOP/s1.00×
  • u4/s32: integer path, unaffected

本次测试的原始文件

GeForce RTX 2080 Ti

TU102 · 68 个 SM · 驱动 575.51.03

模式解锁前解锁后提升
f16/f32 1024³50.30 TF/s68.30 TF/s1.36×
f16/f32 2048³55.70 TF/s91.40 TF/s1.64×
f16/f32 4096³53.70 TF/s81.70 TF/s1.52×
f16/f32 8192³52.80 TF/s77.90 TF/s1.48×
  • f16/f32 1024³: README row 1024: 50.3 (88.4% of a 56.9 TF/s peak) -> 68.3 (120.0%)
  • f16/f32 2048³: README row 2048: 55.7 (97.9% of a 56.9 TF/s peak) -> 91.4 (160.6%)
  • f16/f32 4096³: README row 4096: 53.7 (94.4% of a 56.9 TF/s peak) -> 81.7 (143.6%)
  • f16/f32 8192³: README row 8192: 52.8 (92.8% of a 56.9 TF/s peak) -> 77.9 (136.9%)

本次测试的原始文件

没有变化的 FP8 一组

分支在 RTX 4070 Ti SUPER 上用同一份 CUTLASS profiler、单个内核、10 次预热与 20 次测量,对 E4M3 FP8 输入、FP32 累加的 4096³ GEMM 做了匹配测量,并要求设备参考校验。两次运行都通过了参考校验。

运行毫秒GFLOP/s
解锁前2.3172459325.8
解锁后2.3106659495.0

RTX 4070 Ti SUPER · cutlass_tensorop_s16832gemm_e4m3_128x128_64x3_tn_align16 · 1.0029×

如何理解 1.00×

1.00× 不代表解锁失败。它说明那条路径本来就没有被限速,覆盖没有可恢复的东西。如果你在自己的卡上测出你关心的模式是 1.00×,解锁很可能确实生效了,只是对这个负载没有帮助。