Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
148f681
[Common][PyTorch] Add NVFP4 row-scaled grouped cast with graph-safe path
cael-ling Oct 8, 2026
b58bbe1
Address review: guard grouped row-scaled cast dispatch and inputs
cael-ling Oct 8, 2026
0af4dd9
Guard row-scaled grouped cast against non-2D, partial, and strided ro…
cael-ling Oct 9, 2026
07de769
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 9, 2026
5536e0c
Fall back to per-expert cast for mixed NVFP4 row/tensor-scaled splits
cael-ling Oct 9, 2026
91e5585
Add row-scaled NVFP4 support to grouped-tensor GEMM
cael-ling Oct 9, 2026
26ab746
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 9, 2026
2ce6e70
Harden row-scaled grouped GEMM post-scale and operand checks
cael-ling Oct 9, 2026
3259847
Apply row-scaled grouped GEMM column scales over actual group rows
cael-ling Oct 9, 2026
07ceda5
Make grouped row-scaled GEMM column post-scale graph-safe
cael-ling Oct 9, 2026
e2517b9
Fix grouped row-scaled GEMM post-scale gating and cuBLAS test skip
cael-ling Oct 9, 2026
913fbf9
Route row-scaled NVFP4 grouped quantize through nvte_group_quantize
cael-ling Oct 22, 2026
3076ff7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 22, 2026
de54786
Require 128-row experts for uniform row-scaled NVFP4 group_quantize
cael-ling Oct 22, 2026
3d656d2
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 22, 2026
20c73bb
Merge branch 'pr/nvfp4-row-scaled-grouped-cast' into pr/nvfp4-row-sca…
cael-ling Oct 22, 2026
1d9a318
Use tex.group_quantize for row-scaled grouped GEMM tests
cael-ling Oct 22, 2026
035a322
Trim comments in row-scaled grouped GEMM
cael-ling Oct 22, 2026
055277e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 22, 2026
0432c8e
Fold row-scaled NVFP4 amax into nvte_group_amax
timmoon10 Oct 26, 2026
55f69ca
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 26, 2026
32c57f2
Fix missing include
timmoon10 Oct 26, 2026
07f45a1
Add missing header include
timmoon10 Oct 27, 2026
0682b76
Merge branch 'pr/nvfp4-row-scaled-grouped-cast' into pr/nvfp4-row-sca…
cael-ling Oct 27, 2026
e55648e
Merge branch 'main' into pr/nvfp4-row-scaled-grouped-tensor-gemm
cael-ling Oct 27, 2026
aaa2f09
Support row-scaled NVFP4 in GroupedLinear
cael-ling Oct 29, 2026
9ee1140
Merge upstream main into pr/nvfp4-row-scaled-grouped-linear
cael-ling Oct 30, 2026
5ee2148
Fix row-scaled NVFP4 GroupedLinear edge cases
cael-ling Oct 30, 2026
151f7ff
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 30, 2026
a4710f5
Support row-scaled NVFP4 weights
cael-ling Nov 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion docs/envvars.rst
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,13 @@ Kernel Configuration

:Type: ``int`` (0 or 1)
:Default: ``0``
:Description: Enable row-scaled NVFP4 tensors for forward activation quantizers in the ``NVFP4BlockScaling`` recipe. When set to ``1`` (or when ``NVFP4BlockScaling(row_scaled_activation=True)`` is used), rowwise ``amax`` metadata is stored as one FP32 value per tensor row instead of a single scalar.
:Description: Enable row-scaled NVFP4 tensors for the activation and gradient-output quantizers in the ``NVFP4BlockScaling`` recipe; weights are controlled by :envvar:`NVTE_NVFP4_ROW_SCALED_WEIGHT`. When set to ``1`` (or when ``NVFP4BlockScaling(row_scaled_activation=True)`` is used), rowwise ``amax`` metadata is stored as one FP32 value per tensor row and columnwise ``amax`` metadata as one FP32 value per tensor column instead of a single scalar. Random Hadamard transforms and stochastic rounding follow the recipe settings as for per-tensor NVFP4. Sequence parallelism, Userbuffers communication overlap, and ``transformer_engine.pytorch.ops.GroupedLinear`` are not supported.

.. envvar:: NVTE_NVFP4_ROW_SCALED_WEIGHT

:Type: ``int`` (0 or 1)
:Default: ``0``
:Description: Enable row-scaled NVFP4 tensors for the weight quantizers in the ``NVFP4BlockScaling`` recipe. When set to ``1`` (or when ``NVFP4BlockScaling(row_scaled_weight=True)`` is used), weights store one FP32 global ``amax`` per row and per column with 1x16 (1D) block scales, and weight 2D quantization is disabled. When unset, weights use a single per-tensor global ``amax`` with 16x16 (2D) block scales, or 1x16 block scales with ``NVTE_NVFP4_DISABLE_2D_QUANTIZATION=1``. Row-scaled weights require BF16 weight tensors with both dimensions divisible by 32. The restrictions of :envvar:`NVTE_NVFP4_ROW_SCALED_ACTIVATION` apply, and 4over6 on weights and quantized primary weights are not supported.

.. envvar:: NVTE_NVFP4_4OVER6

Expand Down
Loading
Loading