Skip to content

feat(fp4-gemm): portable SIMT NVFP4 GEMM fallback for SM110 (Thor) - #6

Closed
shideqin wants to merge 1 commit into
flashrt-project:mainfrom
shideqin:feat/fp4-gemm-portable-simt
Closed

feat(fp4-gemm): portable SIMT NVFP4 GEMM fallback for SM110 (Thor)#6
shideqin wants to merge 1 commit into
flashrt-project:mainfrom
shideqin:feat/fp4-gemm-portable-simt

Conversation

@shideqin

@shideqin shideqin commented Aug 4, 2026

Copy link
Copy Markdown

Summary

Add pure-SIMT FMA references (portable_fp4_gemm_simt.cu) for the block-scaled NVFP4 fused-epilogue GEMMs (linear/residual/bias-GELU/fp4-out/stream-K) and route sm_110a to them in torch_binding.cpp; SM120 keeps the CUTLASS paths.

Validation (real hardware, NVIDIA Thor sm_110a)

  • Installed artifact correctness passes; on-device harness green.
  • Benchmark: the production GEMM (nvfp4_gemm_bf16) uses the dedicated CUTLASS sm110_gemm_dispatch on SM110 and is 42-94x faster than the dequantized PyTorch reference with bitwise-equal output (max_abs=0.0). SIMT remains the fallback for fused-epilogue ops without an SM110 CUTLASS path.

Add pure-SIMT FMA references for the block-scaled NVFP4 fused-epilogue
GEMMs (linear/residual/bias-GELU/fp4-out/stream-K) and route sm_110a to
them; SM120 keeps the CUTLASS paths. Record the SM110 Thor validation and
benchmark (the production GEMM uses the CUTLASS sm110 dispatch and is
42-94x faster than the dequantized PyTorch reference).
@shideqin shideqin closed this Aug 9, 2026
@shideqin

shideqin commented Aug 9, 2026

Copy link
Copy Markdown
Author

Closed as superseded: main already ships a native SM110 (Thor) implementation for this package. fp4-gemm uses dedicated CUTLASS sm110_dispatch kernels (42-94x faster than the SIMT reference); gated-delta-attention uses a portable recurrent-seq kernel with a supported_blackwell device check. Merging the SIMT fallback would regress the faster native path, so this PR is closed without changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants