cuBLAS FP16 GEMM, FP32 accumulate

A library GEMM rather than an issue-rate loop, so it measures what a real workload gets at several M.N.K sizes.

Cómo se tomaron

cuBLAS FP16-in/FP32-accumulate GEMM at M.N.K 1024, 2048, 4096 and 8192, one timed run per size. The Turing rows are the nlzy/turing-unlock README table, which states TFLOPS directly.

Bajo el fusible SM speed-select: sí

Filas medidas

21 filas en 8 tarjetas. 21 subieron más del 5 % y 0 no; la mayor ganancia es GeForce RTX 4080 con 1.94×.

ModoOriginalDesbloqueadoGananciaTarjeta
cuBLAS f16/f32 4096³ · cublasGemmEx, CUBLAS_COMPUTE_32F100.7194.9 TFLOP/s1.94×GeForce RTX 4080 · AD103 · 76 SM
cuBLAS f16/f32 8192³83.4162.1 TFLOP/s1.94×GeForce RTX 4070 Ti · AD104 · 60 SM
cuBLAS f16/f32 4096³98.7190.7 TFLOP/s1.93×GeForce RTX 4080 SUPER · AD103 · 80 SM
cuBLAS f16/f32 4096³79.8154.0 TFLOP/s1.93×GeForce RTX 4070 Ti · AD104 · 60 SM
cuBLAS f16/f32 8192³75.7144.4 TFLOP/s1.91×GeForce RTX 4070 SUPER · AD104 · 56 SM
cuBLAS f16/f32 8192³ · power-limited at 250 W100.9177.7 TFLOP/s1.76×GeForce RTX 4080 SUPER · AD103 · 80 SM
cuBLAS f16/f32 4096³73.6122.9 TFLOP/s1.67×GeForce RTX 4070 SUPER · AD104 · 56 SM
f16/f32 2048³ · README row 2048: 55.7 (97.9% of a 56.9 TF/s peak) -> 91.4 (160.6%)55.791.4 TFLOP/s1.64×GeForce RTX 2080 Ti · TU102 · 68 SM
cuBLAS f16/f32 8192³ · power-limited at 250 W, not issue-limited102.5164.9 TFLOP/s1.61×GeForce RTX 4080 · AD103 · 76 SM
cuBLAS f16/f32 4096³ · PyTorch cuBLAS, median of 3 reps of 30 calls30.046.5 TFLOP/s1.55×GeForce RTX 4060 · AD107 · 24 SM
f16/f32 4096³ · README row 4096: 53.7 (94.4% of a 56.9 TF/s peak) -> 81.7 (143.6%)53.781.7 TFLOP/s1.52×GeForce RTX 2080 Ti · TU102 · 68 SM
cuBLAS f16/f32 4096³64.096.3 TFLOP/s1.50×GeForce RTX 4070 (AD103) · AD103 · 46 SM
cuBLAS f16/f32 1024³51.977.8 TFLOP/s1.50×GeForce RTX 4070 Ti · AD104 · 60 SM
f16/f32 8192³ · README row 8192: 52.8 (92.8% of a 56.9 TF/s peak) -> 77.9 (136.9%)52.877.9 TFLOP/s1.48×GeForce RTX 2080 Ti · TU102 · 68 SM
cuBLAS f16/f32 8192³ · power-limited at 200 W64.493.6 TFLOP/s1.45×GeForce RTX 4070 (AD103) · AD103 · 46 SM
cuBLAS f16/f32 1024³ · not tensor-bound at this shape49.170.1 TFLOP/s1.43×GeForce RTX 4070 (AD103) · AD103 · 46 SM
cuBLAS f16/f32 4096³ · 70 W cap active in most samples, so large shapes are power-limited15.822.5 TFLOP/s1.42×GeForce RTX 3050 6GB · GA107 · 18 SM
cuBLAS f16/f32 8192³31.444.2 TFLOP/s1.41×GeForce RTX 4060 · AD107 · 24 SM
cuBLAS f16/f32 1024³ · not tensor-bound at this shape49.367.5 TFLOP/s1.37×GeForce RTX 4070 SUPER · AD104 · 56 SM
f16/f32 1024³ · README row 1024: 50.3 (88.4% of a 56.9 TF/s peak) -> 68.3 (120.0%)50.368.3 TFLOP/s1.36×GeForce RTX 2080 Ti · TU102 · 68 SM
cuBLAS f16/f32 8192³ · power-limited at 70 W16.119.7 TFLOP/s1.22×GeForce RTX 3050 6GB · GA107 · 18 SM

El ratio más pequeño de este conjunto es GeForce RTX 3050 6GB con 1.22×.

Cómo leer un ratio de 1,00×

Una fila de 1,00× no es un desbloqueo fallido. Dice que esa ruta concreta nunca estuvo limitada, así que la anulación no tenía nada que restaurar. Si haces tu propia prueba y ves 1,00× en el modo que te importa, puede que el desbloqueo se haya aplicado correctamente y simplemente no ayude a esa carga de trabajo.

Otras rutas de medición