Use cuDNN for row-scaled NVFP4 grouped GEMM - #3042
Conversation
|
need to rebase and refactor according to recent cute dsl integration |
a0032dd to
96ae951
Compare
|
Rebase/refactor milestone complete.
The draft remains blocked on the cuDNN Frontend side. NVIDIA/cudnn-frontend#251 provides |
|
Full PR diff audit is complete in
Validation on the exact committed sources:
The temporary installed-package scheduler typing patch used for B200 validation was restored afterward. The TE branch still contains no workaround and explicitly depends on the cuDNN Frontend row-scale feature from NVIDIA/cudnn-frontend#251 plus the scheduler correction. |
6a71ed3 to
f2b3276
Compare
|
Rebase and current B200 blocker audit are complete.
The PR remains draft. The old external compiler blocker is no longer reproduced, but the no-fallback support contract still needs an explicit compatibility decision. I did not restore fallback or hide the regression with test skips. |
|
wait for cudnn-fe release: |
be49c57 to
b6f1ca0
Compare
Signed-off-by: Ziang Li <ziangli@umich.edu>
Signed-off-by: Ziang Li <ziangli@umich.edu>
Signed-off-by: Ziang Li <ziangli@umich.edu>
Signed-off-by: Ziang Li <ziangli@umich.edu>
Signed-off-by: Ziang Li <ziangli@umich.edu>
Signed-off-by: Ziang Li <ziangli@umich.edu>
b6f1ca0 to
b6e6935
Compare
Signed-off-by: Ziang Li <ziangli@umich.edu>
Summary
@HumansAnd
general_gemm(one group) andgeneral_grouped_gemm, keeping their numerical backend unifiedRequired cuDNN Frontend dependencies
This integration requires both:
row_scale_tensorgrouped GEMM API and is available in cuDNN Frontend v1.25.0 and later.developatab9efe15.The integration therefore requires a cuDNN Frontend build containing NVIDIA/cudnn-frontend#461. This PR remains draft until a released
nvidia-cudnn-frontendversion consumed by TransformerEngine includes it.Motivation
This integration supports the row-scaled NVFP4 work from #2931 while avoiding different numerical backends for dense and grouped forward GEMMs on SM100.
Validation
mainatdd965956; current headb6e69356git diff --check upstream/main...HEADpre-commit run --all-files--queue hellB200 devbox, CUDA 12.9, PyTorch 2.9.1, cuDNN Frontend 1.27.0 built from Support FP32 output and dynamic M in row-scaled FP4 grouped GEMM cudnn-frontend#461 merge commitab9efe15:GroupedLinearbitwise matrix: 16 passed, 8 skipped by existing unsupported-configuration guardsLinearforward/backward sanity: 1 passed