File size: 2,336 Bytes
6abc190
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Source Sync

- Upstream FlashRT source: `../official/FlashRT`
- Original SM110 sync commit: `132049d7c3a3534fb7d35676cd726f39408b1af6`
- GROOT N1.7 fused-epilogue sync commit:
  `24df793f4fa2d50780aea03b644208c6e0cb4162`
- Initial package date: June 20, 2026

Copied source files:

- `csrc/gemm/fp4/cutlass_nvfp4_w4a16_gemm_sm120.cu/.cuh`
- `csrc/gemm/fp4/cutlass_nvfp4_w4a16_gemm_sm100.cu/.cuh`
- `csrc/gemm/fp4/cutlass_fp4_gemm_bias_bf16_sm100.cu/.cuh`
- `csrc/quantize/quantize_fp4_sfa.cu/.cuh`
- `csrc/quantize/quantize_fp4_sfa_bf16.cu/.cuh`
- `cutlass/util/packed_stride.hpp`, copied from CUTLASS tools util headers
  into `csrc/cutlass/util/packed_stride.hpp` so the Hub package does not
  depend on a local `third_party/cutlass/tools/util/include` path.

Packaging helper:

- `csrc/dequantize_fp4_sfa.cu/.cuh` derived from the SFA dequant validation
  helper used in `fp4-fused-ops`; this package adds `is_sfb` support so tests
  can dequant both A/SFA and B/SFB.

Local packaging edits:

- Added Tensor-facing PyTorch custom ops in `torch-ext/torch_binding.cpp`.
- Added Python wrappers and fake registrations in `torch-ext/fp4_gemm`.
- Added the BF16 direct SFA/SFB producer as an input-type specialization of
  the existing FP16 producer. Its E2M1 encoding and CUTLASS scale layout are
  unchanged; the additive entry removes a standalone activation cast.
- Public APIs accept CUDA tensors only; no raw pointers or stream arguments.
- CUTLASS SM100/SM120 block-scaled layout support is treated as package scope,
  not as a test-only compiler define.
- The Tensor binding dispatches the canonical BF16-output GEMM by runtime
  compute capability. CUDA 12.8 artifacts link only the SM120 implementation;
  CUDA 13 artifacts link both SM110 and SM120 implementations.
- SM110 production auto-dispatch was tiled against PI0.5, GROOT, Cosmos Edge,
  and LingBot VLA projection shapes. Explicit schedule IDs remain diagnostic.

Architecture limits:

- The canonical BF16-output GEMM and SFA/SFB helpers support SM110 and SM120.
- Bias, residual, and bias/GELU-to-FP4 epilogues have an independent SM110
  backend copied from the production GROOT N1.7 path. Stream-K remains an
  SM120-only API and rejects on SM110.
- SM110 requires CUDA 13 and the package's pinned CUTLASS 4.4 target; SM120
  requires CUDA 12.8 and CUTLASS 4.0.