Benchmarks: original contra desbloqueado
Todas as medições antes/depois na mesma placa publicadas upstream, incluindo os modos tensoriais que não mudaram, o par FP8 CUTLASS que mediu 1,0029× e a tabela cuBLAS da RTX 2080 Ti do fork Turing.
Como foram feitas
As linhas da RTX 4090 vêm de um laço de taxa de emissão MMA residente em registradores executado com 20.000 iterações e três repetições por modo, relatando o melhor de três. As linhas da RTX 4070 Ti SUPER vêm do tensor-modes-comparison.json do fork: 66 SMs, driver 580.178.04, limite de 240 W, 20.000 iterações e três repetições, com entradas todos-uns em oito cadeias independentes. O par FP8 é uma execução separada do profiler CUTLASS 4.8.1 sobre um kernel sm_89. As linhas da RTX 2080 Ti são a tabela do README do fork Turing: GEMM cuBLAS FP16 com acumulação FP32, 250 W, driver 575.51.03, quatro tamanhos M.N.K, medidos em uma placa Dell de 22 GB. O README informa os TFLOPS diretamente e acrescenta entre parênteses o percentual de um pico de 56,9 TF/s, tirado do white paper da NVIDIA Turing; esses TFLOPS são citados aqui sem alteração. O upstream não informa número de iterações, então nenhum é exibido.
GeForce RTX 4090
| Modo | Original | Desbloqueado | Ganho |
|---|---|---|---|
f16/f16 | 325.70 TF/s | 331.60 TF/s | 1.02× |
f16/f32 | 165.60 TF/s | 330.80 TF/s | 2.00× |
bf16/f32 | 165.50 TF/s | 330.30 TF/s | 2.00× |
s8/s32 | 661.60 TF/s | 659.50 TF/s | 1.00× |
dp4a | 164.50 TF/s | 164.10 TF/s | 1.00× |
ffma | 79.10 TF/s | 79.10 TF/s | 1.00× |
GeForce RTX 4070 Ti SUPER
| Modo | Original | Desbloqueado | Ganho |
|---|---|---|---|
f16/f32 | 94.96 TFLOP/s | 188.97 TFLOP/s | 1.99× |
tf32 | 47.49 TFLOP/s | 94.51 TFLOP/s | 1.99× |
u4/s32 | 754.81 TOP/s | 754.68 TOP/s | 1.00× |
GeForce RTX 2080 Ti
| Modo | Original | Desbloqueado | Ganho |
|---|---|---|---|
f16/f32 1024³ | 50.30 TF/s | 68.30 TF/s | 1.36× |
f16/f32 2048³ | 55.70 TF/s | 91.40 TF/s | 1.64× |
f16/f32 4096³ | 53.70 TF/s | 81.70 TF/s | 1.52× |
f16/f32 8192³ | 52.80 TF/s | 77.90 TF/s | 1.48× |
O par FP8 que não se moveu
O fork mediu um GEMM 4096³ com entrada E4M3 FP8 pareada, acumulação FP32, na 4070 Ti SUPER com o mesmo binário do profiler CUTLASS, um único kernel, 10 aquecimentos e 20 iterações de profiling, exigindo verificação contra a referência do dispositivo. Ambas as execuções passaram em suas checagens de referência.
| Execução | ms | GFLOP/s |
|---|---|---|
| original | 2.31724 | 59325.8 |
| desbloqueado | 2.31066 | 59495.0 |
Como ler uma razão de 1,00×
Uma linha de 1,00× não é um desbloqueio falho. Ela diz que aquele caminho específico nunca foi limitado, então a substituição não tinha nada a restaurar. Se você medir sua própria placa e ver 1,00× no modo que lhe importa, o desbloqueio pode ter sido aplicado corretamente e simplesmente não ajudar aquela carga de trabalho.