Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
522 commits
Select commit Hold shift + click to select a range
67898a7
Cherry pick "Adds dst.dtype information in copy_ method of quantized …
ptrendx Mar 12, 2026
134304e
Fused kernel for calculating offsets from first dim splits (#2755)
ksivaman Mar 12, 2026
a5d7464
Added new users to CI (#2756)
ptrendx Mar 12, 2026
6a68c73
[PyTorch] Error out if constructing `LayerNormLinear` with row tensor…
timmoon10 Mar 12, 2026
14c29da
[JAX] Collective GEMM with FP8 and MXFP8 support (#2740)
phu0ngng Mar 13, 2026
fcceeb9
[Pytorch] Add QuantizedTensor support in FusedAdam.step for MXFP8Bloc…
jomitchellnv Mar 13, 2026
306e853
add .claude to gitignore (#2762)
pstjohn Mar 13, 2026
b7214fd
Fix for async dcp checkpointing with Float8Tensors (#2721)
pstjohn Mar 15, 2026
708d7c1
Pytorch binding for cublas grouped gemm + Grouped Bias Support + Grou…
vthumbe1503 Mar 16, 2026
4058842
Changed VERSION to 2.15.0.dev0
ptrendx Mar 16, 2026
a945846
[Common] Fix linker error for to_string(DType) in distributed tests (…
vcherepanov-nv Mar 16, 2026
523801d
[NVFP4][Dense/MoE] Integrate Cutlass NVFP4 Row-Cast-Col-RHT-Transpose…
zhongbozhu Mar 16, 2026
4017565
[PyTorch] Backwards compatible single param checkpointing in `Grouped…
ksivaman Mar 16, 2026
128f22e
[JAX][Core] Fix Grouped GEMM cuBLAS version and SM arch checks (#2765)
jberchtold-nvidia Mar 17, 2026
4e339a5
Update vermin version to fix precommit CI error with python 3.14 (#2773)
ksivaman Mar 17, 2026
53a41b2
Update cudnnFE to v1.20.0 (#2774)
ksivaman Mar 18, 2026
3e61687
[PyTorch] torch.compile support for permutation functions (#2686)
pggPL Mar 18, 2026
15760a5
[PyTorch] Add an API restore from function context to ensure tensors …
kainzhong Mar 19, 2026
b7598aa
[PyT] Install pytest in onnx L1 test as Pyt container no longer packa…
KshitijLakhani Mar 19, 2026
f11789e
[Core] Fix MXFP8 grouped quantize for zero-sized groups in update_tma…
jberchtold-nvidia Mar 19, 2026
487d68c
[PyT] [Common] Enable sm120 support for fused attn if cuDNN is 9.18.1…
KshitijLakhani Mar 22, 2026
f2a1a3e
[PyTorch Debug] Support tensor dump (#2645)
pggPL Mar 23, 2026
d2625e5
Optimize FSDP2 Pytest Timings (12 -> 2 mins) (#2787)
vthumbe1503 Mar 24, 2026
8477d3d
Enable fused RMSNorm dLN + add through CUDNN (#2778)
CarlosGomes98 Mar 24, 2026
4013c6c
add blackwell support filter for 9.7<=cudnn<9.18.1 (#2775)
sudhakarsingh27 Mar 24, 2026
4ead776
[PyT][Commong] Disable fused attention for sm120 if determinism is re…
KshitijLakhani Mar 25, 2026
e879bf8
[PyTorch][Fused Attn] Add support for cuDNN to return Softmax `Stats`…
sudhakarsingh27 Mar 25, 2026
15cf65a
Upgrade cuDNN FE to v1.21.0 (#2799)
ksivaman Mar 25, 2026
f4debf6
[JAX] Add warning if using BSHD and max_segments_per_seq > 1 (#2796)
jberchtold-nvidia Mar 30, 2026
bce4181
[JAX] Grouped GEMM Refactor to use first_dims and last_dims (#2749)
jberchtold-nvidia Apr 1, 2026
3af8792
Pass input_output_alias to TritonAutotunedKernelCall (#2814)
tdophung Apr 2, 2026
281ff06
Remove integration test for Lightning-Thunder (#2822)
timmoon10 Apr 2, 2026
4bf1c1c
Optimize fp8 block scaling Allgather for FSDP2 (#2789)
vthumbe1503 Apr 2, 2026
b048869
[PyTorch] Fix bug with PR 2677 (#2819)
sudhakarsingh27 Apr 2, 2026
42267ec
[Common] Persistent Grouped MXFP8 quantization kernel (#2738)
Oleg-Goncharov Apr 2, 2026
9d77dcb
[JAX] Fix: Use jitted kernels for generating THD (and BSHD) segment p…
KshitijLakhani Apr 3, 2026
29a8c2f
GEMM + Swiglu fused Grouped MLP for MXFP8 (#2769)
ksivaman Apr 3, 2026
8cf3c16
[PyT][Test] Add xfailing FSDP2 memory leak detection tests (#2803)
pstjohn Apr 3, 2026
85f5a84
Refactor Amax Kernel ldmatrix loads, TMA/compute barriers, swizzle_i…
cael-ling Apr 3, 2026
a88fdc1
[PyTorch] [CI] Capture subprocess stderr in distributed tests for bet…
sudhakarsingh27 Apr 3, 2026
509614d
Feature/unswizzle (#2732)
int-smart Apr 3, 2026
e83c097
Fix nvshmem build (#2815)
GaetanLepage Apr 3, 2026
5abadf4
[FSDP2/Megatron-FSDP/DCP] If model parameters are DTensors, optimizer…
cspades Apr 4, 2026
ac96651
Fix memory overheads with FP4 native weights (#2834)
WanZzzzzz Apr 6, 2026
86edac4
Comm gemm fixes (#2818)
almogsegal Apr 6, 2026
5f9550f
CPU offloading fix: If Data and Transpose is None depend on super Tor…
vthumbe1503 Apr 7, 2026
fdf9fb1
Add `NVTE_BACKWARD_OVERRIDE=high_precision|dequantized` (#2644)
zianglih Apr 7, 2026
edf10bb
Update the error message for cublas version check (#2843)
yaox12 Apr 7, 2026
a10b0b1
guard rmsnorm fused add tests behind appropriate cudnn version (#2844)
CarlosGomes98 Apr 7, 2026
e2470a7
[JAX] Use avg m,n,k heuristics for Grouped GEMM (#2840)
jberchtold-nvidia Apr 8, 2026
d3f88ee
[PyTorch][Flash Attn] Add fallback import for FA3 (#2806)
eattia-nvidia Apr 8, 2026
77b8681
add mark_not_offload() interface for cpu_offload_v1 (#2770)
lhb8125 Apr 8, 2026
a30a126
Fix zero input shape for bgrad_group_quantize (#2854)
vthumbe1503 Apr 8, 2026
0aea85f
[Common] Fix: IMA in `register_user_buffer_collective` on non-SM90 GP…
phu0ngng Apr 9, 2026
181322e
Simplify FA3 discovery (#2849)
vcherepanov-nv Apr 9, 2026
64bb9a2
[PyTorch] Support scaled + clamped SwiGLU in `te.ops` and enable fuse…
ksivaman Apr 9, 2026
ac73538
[JAX] Fix BF16 tolerance for CGEMM + RS + BF16 test (#2860)
phu0ngng Apr 9, 2026
53fefa4
add high precision init weights to fully_shard example (#2785)
pstjohn Apr 9, 2026
2f17c9b
Enforce minimum NCCL version for cuBLASMp (#2857)
vcherepanov-nv Apr 10, 2026
580e7aa
Bias Prob Scaling for GroupedLinear and Fused MOE Layers (#2864)
vthumbe1503 Apr 10, 2026
323582f
Add Megatron-FSDP E2E integration test to TE CI/CD (L1). (#2845)
cspades Apr 11, 2026
2dd31bb
Fix JAX extension build with NVTE_UB_WITH_MPI=1 (#2835)
GaetanLepage Apr 11, 2026
2b78e55
[PyTorch] Remove unnecessary save of weights (#2549)
pggPL Apr 13, 2026
9f5fde1
[PyTorch] Relax dimension constraints for using fused grouped MLP (#2…
ksivaman Apr 13, 2026
491c597
[PyTorch] Cache alpha and beta for cublas ggemm (#2870)
ksivaman Apr 13, 2026
d7c43bb
comm_gemm_test fixes (#2839)
almogsegal Apr 13, 2026
dc92b39
docs(readme): update convergence table, latest news, and outdated lin…
sbhavani Apr 13, 2026
72328b3
Cute Dsl kernel for Wgrad for Fused MOE Layer (#2869)
vthumbe1503 Apr 13, 2026
31f8ab4
Current Stream for Wgrad kernel (#2873)
vthumbe1503 Apr 14, 2026
4e57c21
[PyTorch] Avoid autograd's gradient accumulation in grouped MLP if po…
ksivaman Apr 14, 2026
c7205a7
Strip local version labels from package version checks (#2858)
pstjohn Apr 14, 2026
5d5065f
Reduce number of C++ test cases for MXFP8 cast and activation kernels…
timmoon10 Apr 14, 2026
70af730
[JAX] MXFP8 Grouped Quant+GEMM (#2763)
jberchtold-nvidia Apr 15, 2026
52d6e8b
Test Fused MOE with padded tokens (#2880)
vthumbe1503 Apr 15, 2026
17aa2e4
[PyTorch] [torch.compile] transformer_engine.pytorch.autocast suport …
pggPL Apr 15, 2026
c6853b6
[PyTorch] [torch.compile] Remove module reference from autograd funct…
pggPL Apr 15, 2026
a073ad5
Newton-Schulz via cuSOLVERMp (#2706)
vcherepanov-nv Apr 15, 2026
a817b60
[JAX] Tighten Triton autotuning version gate + autotuning enforce env…
tdophung Apr 15, 2026
a347e09
Add grouped unswizzle functionality for MXFP8 scaling factors (#2837)
int-smart Apr 15, 2026
92b0370
[Pytorch][JAX] Guard against invalid num_out_tokens in permute_with_m…
tdophung Apr 15, 2026
51d9eeb
[PyTorch] [torch.compile] Split linear forward into forward and setup…
pggPL Apr 16, 2026
3a78e15
[PyTorch] Add method for mcore to register wgrad accumulation hook (#…
ksivaman Apr 16, 2026
c9035a4
[PyTorch] Minor optimizations in fused grouped MLP (#2888)
ksivaman Apr 16, 2026
58a008f
[PyTorch] Add test to compare single vs multi-param fused GMLP (#2893)
ksivaman Apr 16, 2026
1e9e48c
[Common] Fix fused router for large top-K and expert counts (#2821)
harryzhou2000 Apr 16, 2026
fca261e
fix CUDA architectures cmake logic (#2832)
GaetanLepage Apr 16, 2026
be593b1
[Common, pyTorch] Grouped MXFP8 dequantize support (#2722)
ptrendx Apr 17, 2026
c5a4fd5
[PyTorch] Add FA4 Support (#2432)
yaox12 Apr 17, 2026
262bc6c
[JAX] Fix grouped quant checkpointing (#2889)
jberchtold-nvidia Apr 17, 2026
549f5ba
adds NVFP4 Fused Adam support (#2797)
jomitchellnv Apr 20, 2026
fff2245
Changed version to 2.16.0.dev0
ptrendx Apr 20, 2026
264da2b
[Common] Reduced padding kernel compilation time (#2827)
Oleg-Goncharov Apr 21, 2026
2d92aa6
[PyTorch] Fix cuteDSL kernel incorrect numerics when K is 64 aligned …
ksivaman Apr 21, 2026
0e8ff35
fix(readme): update broken links and modernize project description (#…
sbhavani Apr 21, 2026
ee5dcec
Add MXFP8 attention (#2719)
cyanguwa Apr 21, 2026
0be9046
Bias/Dbias Support for GroupedLinear (#2885)
vthumbe1503 Apr 22, 2026
f2ed86b
Add better ordering enforcment to split_overlap_rs gemms. (#2056)
chaseblock Apr 22, 2026
4014f7f
Fix flash attention version check. (#2910)
bbuschkaemper Apr 22, 2026
0a088c1
[PyT] Fix FSDP2 memory leaks for FP8 weight workspaces and transpose …
pstjohn Apr 22, 2026
3c62f42
Make NS coefficients parameter 2D in Python API (#2904)
vcherepanov-nv Apr 22, 2026
a5164fe
[PyTorch] [torch.compile] Remove internal tensor state from Float8Cur…
pggPL Apr 23, 2026
424b031
[PyTorch] Fix CP A2A F16 when NVTE_FP8_DPA_BWD=1 (#2917)
cyanguwa Apr 23, 2026
ab60f4c
fix: scope get_full_cu_seqlens cache key by device and inference mode…
DmCarpe93 Apr 23, 2026
9e55a25
[PyTorch] Fix FA4 selection when FA3 is unavailable. (#2909)
bbuschkaemper Apr 23, 2026
0c2e7b0
Add optimised top-k kernel AIR. (#2890)
dcampora Apr 23, 2026
5d947a0
Fix the race in the dbias computation in MXFP8 quantization and group…
ptrendx Apr 24, 2026
9ad2e7b
Remove uncessary ctype being passed to GroupedGEMMQuant kernel (#2922)
vthumbe1503 Apr 24, 2026
f2e31db
fix: TransformerEngineBaseModule quantizers init values type (#2927)
muutot Apr 27, 2026
82ace62
[Common] Fix "0" literal for compilation (#2934)
cyanguwa Apr 28, 2026
df0025b
[Common, PyTorch] Add triton mHC kernels & pytorch APIs (#2790)
kainzhong Apr 28, 2026
b4aeed1
[PyTorch] Main_Grad buffer isnt overwritten when overwrite_main_grad=…
vthumbe1503 Apr 29, 2026
01aef4f
Correctly pad scaling factor inverses to satisfy cuteDSL requirements…
ksivaman Apr 29, 2026
cc05742
[JAX] Fix bf16 precision loss in TestGroupedDense reference dbias (#2…
tdophung Apr 30, 2026
d156fa6
[JAX] Fix MNIST L2 jax test instability (#2933)
tdophung Apr 30, 2026
a7a2b3b
Variable Grouped Swizzle (#2914)
int-smart Apr 30, 2026
88e6071
[PyTorch] Fusible ops preserve usages in quantized weight tensors (#2…
timmoon10 May 1, 2026
4fafdf2
[Common] Fix incorrect amax initialization in non-RHT NVFP4 C++ tests…
Oleg-Goncharov May 1, 2026
0e9020d
[PyTorch] Cleanup `cudnn-frontend` requirements for fused grouped MLP…
ksivaman May 1, 2026
36fc336
[PyTorch] Add workaround for cuteDSL stride requirement for zero-toke…
ksivaman May 1, 2026
7e8bc98
[Core] Remove unused NVFP4 quantize kernel (#2946)
timmoon10 May 1, 2026
360779b
[JAX] Calculate seqlens and offsets in O(T) space instead of O(T*T) s…
KshitijLakhani May 1, 2026
0803102
Optimizations for MXFP8/NVFP4 dequantize kernels (#2865)
YigongQin May 2, 2026
3e07f5d
[JAX] Remove xla deterministic arg for MNIST test to not timeout L2_j…
tdophung May 4, 2026
ad4b3fd
[PyTorch][Core] Fix CUBLAS GGEMM when weight dims are not divisible b…
vthumbe1503 May 4, 2026
528f16c
[PyTorch] Guard/document single parameter feature for grouped linear …
ksivaman May 4, 2026
3ded616
Graph Safe support for TE Grouped linear Op (#2923)
vthumbe1503 May 5, 2026
3c89426
[Common] Always define cuBLASMp comm GEMM API (#2963)
vcherepanov-nv May 6, 2026
4b6923d
[JAX][Common] Enable cuDNN fused attn backend for NO_MASK + bidirecti…
KshitijLakhani May 6, 2026
2f3eda4
[All] Remove legacy max512 backend (#2949)
cyanguwa May 7, 2026
e8c0dc6
[PyTorch/Common] Remove legacy FP8DS implementation (#2959)
cyanguwa May 7, 2026
b9df401
[Common] Improved fused MoE aux loss kernel for large # of experts (#…
denera May 8, 2026
c74e5aa
Implement row-scaled NVFP4 fprop recipe (#2931)
zianglih May 8, 2026
b1b3026
guard fuser grad checks on non-leaf nodes (#2919)
CarlosGomes98 May 8, 2026
56ff4c6
[PyTorch] Remove internal PyTorch testing helper (#2969)
timmoon10 May 9, 2026
0e28953
Fix nvfp4 convert_and_update_tensor shape check (#2670)
skydoorkai May 9, 2026
25934ac
Refactor tensor class in C++ unit tests (#2962)
timmoon10 May 11, 2026
d73bfa1
[PyTorch] Introduce QuantizerRole (#2620)
negvet May 11, 2026
b7323b1
[Common][PyTorch] Fix int32 overflow and -1 sentinel handling in moe_…
jing-4369 May 11, 2026
282b4fb
[torch.compile][PyTorch] Prepare linear for torch compile (#2967)
pggPL May 11, 2026
6cdd711
[PyTorch] CPU overhead optimizations for te autocast (#2957)
vthumbe1503 May 12, 2026
d5e7087
Disable the RHT fusion for non-SM100 family devices (#2968)
ptrendx May 12, 2026
cb59ef1
[PyTorch] Expose function to bulk-allocate tensors backed by the same…
timmoon10 May 12, 2026
c3fd8f8
fix(CP, FA): the conditional logic in the FA version contains a vulne…
zhujian19891203 May 12, 2026
1800fe3
[Common] Use specialized unfused MXFP8 cast kernels by default (#2958)
Oleg-Goncharov May 12, 2026
f0ab81d
Build Docs fix (#2982)
vthumbe1503 May 12, 2026
4eab389
[JAX] Add wait per multi-proc cleanup in `L0_jax_distributed_unittest…
phu0ngng May 12, 2026
472ae55
Avoid CPU offload wait_event for validation (#2793)
vasunvidia May 12, 2026
c3a1d30
[Core] Report CUDA versions when NVRTC compilation fails (#2842)
timmoon10 May 13, 2026
4631d97
[pyTorch] Replace the make_empty implementation to use C++ implementa…
ptrendx May 13, 2026
76c2a9e
Added the CODEOWNERS file (#2980)
ptrendx May 13, 2026
4322c0a
Remove `epel-release` package from wheel Dockerfiles (#2987)
ksivaman May 14, 2026
c40398c
[JAX] Size autotuned Triton grids per config (#2975)
tdophung May 14, 2026
eca05d3
ci: declare contents:read on Lint workflow (#2989)
arpitjain099 May 14, 2026
583d2d1
Changed VERSION to 2.17.0.dev0
ptrendx May 18, 2026
ca50bbf
Add license to framework sdist builds (#3002)
ksivaman May 19, 2026
b629e6e
docs: fix comm GEMM overlap README typos (#3010)
LeSingh1 May 19, 2026
50ac303
Update `cudnn-frontend` to 1.23.0 (#3003)
ksivaman May 20, 2026
a12f7aa
mnnvl guard (#3013)
francesco-bertolotti May 20, 2026
aab7bc9
Add GitHub actions to automatically mark community contributions (#3007)
ptrendx May 20, 2026
a014300
Split grouped quantize/activations and dbias for faster compilation o…
ptrendx May 21, 2026
8c0f1d2
[JAX] Improve JAX tutorial documentation (#2976)
jberchtold-nvidia May 21, 2026
d95b34c
Fix the permissions in the automatic labeler (#3029)
ptrendx May 21, 2026
82776bc
refactor(distributed): deduplicate TE module class lookups with cachi…
muutot May 21, 2026
390eac8
Fixes to the community labeling GitHub Action (#3030)
ptrendx May 21, 2026
1bd9964
GGEMM+srelu kernels for MxFP8 Nemotron (#2981)
sraman-rgb May 21, 2026
86ade9e
CP Tests batching using subprocess worker pool (#2993)
sudhakarsingh27 May 21, 2026
856d075
Update cudnn-frontend to 1.24.0 (#3016)
sudhakarsingh27 May 22, 2026
9af70a8
[Pytorch][Bug] DCP Checkpoint Loading Fixes for FSDP2 with QuantizedM…
vthumbe1503 May 22, 2026
dc9af4a
Implement 4over6 NVFP4 recipe (#2972)
zianglih May 22, 2026
80ea313
[PyTorch] Add `pad_between_seqs` support for non-CP and CP (A2A and …
sudhakarsingh27 May 23, 2026
7e6ffcc
[Common/PyTorch/JAX] make offset of ClampedSwiGLU configurable (#2938)
hxbai May 26, 2026
937c4de
Add examples for MoE models - Mixtral in TE (#2642)
faradawn May 26, 2026
4442134
[Common] Fix fused MoE aux loss for sequence aux loss (#3018)
harryzhou2000 May 26, 2026
be37e9b
[common] Grouped gemm update - nvfp4 for blackwell and fp8 blockwise …
pggPL May 27, 2026
5f1eaff
[PyTorch] Enable head dim 256 for FA4 (#2932)
yaox12 May 27, 2026
f3c2e74
[fused_router][pytorch] Optimize naive topk path and add perf benchma…
XiaomingFun233 May 28, 2026
439ca21
[JAX] Support new JAX triton_kernel_call_ffi for cuda-graph support (…
jberchtold-nvidia May 28, 2026
ace2a96
[PyTorch] Allocate grouped linear wgrads as tensor views (#3049)
timmoon10 May 28, 2026
9e5a847
Optimize function that loads pointers on GPU (#3001)
timmoon10 May 28, 2026
f8bda5d
[PyTorch] Make `modules.GroupedLinear` graph-safe (#3038)
yaox12 May 29, 2026
af5d1e0
[JAX] Fix L0_jax_unittest docs example test to enforce single-GPU (#…
jberchtold-nvidia May 29, 2026
d1920cf
[JAX] Add an MoE Block (Layer) that compound router, permutation, gro…
tdophung May 29, 2026
79821e2
[Pytorch] Skip the Single Grouped Param Test if NVTE_GROUPED_LINEAR_S…
vthumbe1503 May 29, 2026
2055c6d
[PyTorch Debug] Fix scale_inv_min returning 0 for MXFP8/NVFP4 (#3041)
pggPL Jun 1, 2026
920a7db
Enable NVFP4 fused grouped MLP (#3048)
sraman-rgb Jun 1, 2026
1609c89
Adds GEMM Profiling Guide to TE (#2863)
jomitchellnv Jun 1, 2026
3f1d889
Fix WHEEL Tag mismatch in transformer-engine-cu12 wheels (#2928)
eyupcanakman Jun 2, 2026
b24049b
[Fix] Fix CUTLASS grouped GEMM segfault for empty groups (#3067)
Baibaifan Jun 2, 2026
9028a39
Enable NVFP4 grouped MLP SReLU fusion (#3072)
sraman-rgb Jun 2, 2026
e8102e6
Enable NVFP4 grouped MLP cuDNN wgrad (#3071)
sraman-rgb Jun 2, 2026
f5e500b
Bitmap topk (#3009)
tdophung Jun 2, 2026
c1e827f
[PyTorch] Refactor function to prepare pointers for grouped MLP discr…
timmoon10 Jun 3, 2026
3bca938
increasing precision tolerance (#3060)
francesco-bertolotti Jun 3, 2026
54e5bfc
[JAX] Fallback to old triton ffi for autotuned kernels (#3077)
jberchtold-nvidia Jun 3, 2026
b38c16b
Optimize grouped split metadata preparation (#3075)
zhongbozhu Jun 3, 2026
815bf36
[Common] Comm+GEMM overlap API updated to support cuBlasMp backend (i…
denera Jun 4, 2026
86d4e15
[PyT] Reduce test sizes in fused attn fp8 vs fp16 to avoid OOM (#3020)
vedaanta Jun 4, 2026
5535b09
[PyTorch] Fix FlashAttention 2 head_dim > 192 on sm103 and other arch…
pedramr Jun 4, 2026
64311fe
Add MXFP8 attention unit test with linear and rope layers (#3033)
layalir Jun 4, 2026
1b12177
[PyTorch] Expose interleave and de-interleave function for GLU tensor…
ksivaman Jun 4, 2026
abdb406
[JAX] Support for cuDNN-backed flex attention (#2985)
vcherepanov-nv Jun 4, 2026
97a9bfe
[PyTorch] Support for cuDNN-backed flex attention (#2984)
vcherepanov-nv Jun 4, 2026
f458abe
[PyTorch] Python DType enum (#3039)
vthumbe1503 Jun 4, 2026
0e58073
[PyTorch] Isolate CP pool worker stdout from NCCL/library banners (#3…
sudhakarsingh27 Jun 4, 2026
fc92624
Add the getter and setter of skip_fp8_weight_update_tensor (#3015)
xrennvidia Jun 4, 2026
3f64073
Enable NVFP4 grouped MLP GLU RHT amax path (#3073)
sraman-rgb Jun 5, 2026
720ec27
[PyTorch] NVFP4 RHT cast-fusion: emit GEMM-swizzled scale factors dir…
cael-ling Jun 5, 2026
1ea48eb
[PyTorch] Propagate FP8 graph weight update flag in GroupedLinear (#3…
allenphilipj Jun 5, 2026
8a5af97
[PyTorch] Pad V when Q/V head dims differ (MLA) for THD (#2629)
HollowMan6 Jun 5, 2026
23a3f54
[PyTorch] Fix wrong stream capture for cuteDSL delayed wgrad GEMM (#3…
Wohox Jun 5, 2026
2fd033a
[JAX] Skip score_mod tests on older cuDNN (#3098)
vcherepanov-nv Jun 5, 2026
15b92f2
skip test if TE is not compiled with cusolver (#3096)
francesco-bertolotti Jun 5, 2026
0dd1af2
Test failing from .resolve() when TE is installend in a venv (#3094)
francesco-bertolotti Jun 6, 2026
3fffa55
[PyTorch] Debug CPU offloading in grouped linear and grouped MLP (#3047)
lhb8125 Jun 6, 2026
21ba49c
[Common] Optimize fused router forward/backward kernels (#3012)
harryzhou2000 Jun 8, 2026
2a30d03
[PyTorch] Add joint forward-backward op fusion pass (#3080)
timmoon10 Jun 9, 2026
2323e54
[Common] Reduce shared-memory bank conflicts in the colwise scaling p…
Oleg-Goncharov Jun 9, 2026
96fe4f1
Fix release wheel CUDA index calculation (#3100)
fallintoplace Jun 9, 2026
bb720e3
[JAX] Use TE with_sharding_constraint wrapper even if flax returns su…
KshitijLakhani Jun 9, 2026
da115df
Fix GroupedLinear FP8 calibration loop (#3101)
fallintoplace Jun 9, 2026
b972fa8
Optimize NVFP4 4over6 candidate error path (#3068)
zianglih Jun 9, 2026
4bf946d
Fix convergence table rendering in `README.rst` (#3109)
ksivaman Jun 9, 2026
5fdfbec
[PyTorch] Propagate skip_fp8_weight_update in GroupedLinear during FP…
LeSingh1 Jun 10, 2026
20e185c
Add wheel support for Newton-Schulz method via cuSolverMp (#3004)
ksivaman Jun 10, 2026
9b06f26
[PyTorch] Add op-level activation offload opt-out API (#3108)
lhb8125 Jun 11, 2026
9b38184
guarding max_logits fused attention for cudnn < 9.21.0 (#3091)
francesco-bertolotti Jun 11, 2026
3976a68
Revert "[PyTorch] Add op-level activation offload opt-out API" (#3120)
timmoon10 Jun 11, 2026
91bb9cf
[PyTorch] Refactor grouped MLP into joint forward-backward fused op (…
timmoon10 Jun 11, 2026
cdf5f33
[JAX] Extend tensor inspect utility to dump out tensors in identifiab…
tdophung Jun 11, 2026
318dd94
[Common] Enable NVFP4 2D block scaling in columnwise only (#3027)
negvet Jun 12, 2026
f95573f
[PyTorch] Refactor grouped linear and grouped MLP tests (#3122)
timmoon10 Jun 12, 2026
c3396ee
Expert Parallelism: common C API + NCCL EP backend (#3034)
phu0ngng Jun 13, 2026
547d284
Revert "Expert Parallelism: common C API + NCCL EP backend" (#3126)
phu0ngng Jun 13, 2026
4130d73
[PyTorch] Update cuBLASLt grouped gemm filter (#3119)
yaox12 Jun 16, 2026
4955320
Expert Parallelism: common C API + NCCL EP backend (#3127)
timmoon10 Jun 17, 2026
5d1dddf
[Common] Fix int32 overflow in multi_tensor_apply tensor sizes for nu…
javierdejesusda Jun 22, 2026
c862021
Changed VERSION to 2.17.0
KshitijLakhani Jun 23, 2026
66e8aab
Update FE to 1.25 (#3139)
cyanguwa Jun 23, 2026
ec965c3
Add L2 score mod distributed attention shape (#3147)
vcherepanov-nv Jun 26, 2026
563b9bd
[JAX] Expert Parallelism: JAX primitives + VJPs (#3036)
phu0ngng Jun 27, 2026
d8c17e8
Revert "Add wheel support for Newton-Schulz method via cuSolverMp" (#…
ksivaman Jun 29, 2026
dd6827b
[PyTorch] Expert Parallelism: PyTorch wrapper + autograd ops with sym…
phu0ngng Jun 29, 2026
431e6d8
[Common] Update NCCL submodule to have the fix for MAX_SUPPORTED_TOKE…
phu0ngng Jun 30, 2026
9bb3cf2
[Common] EP C API: version config structs and extend `nvte_ep_prepare…
phu0ngng Jun 30, 2026
eb5c54b
[JAX] Keep the routing map format alive and EP multiprocess tests in …
KshitijLakhani Jul 1, 2026
2e559f0
Disable cuDNN 9.23.0/9.23.1 for MXFP8 attention (#3173)
cyanguwa Jul 6, 2026
0caf2d6
Merge dev into main: TransformerEngine v2.17 upgrade
zhaoyinglia Aug 7, 2026
ad08f41
plugin: remove deprecated APIs for v2.17
zhaoyinglia Aug 7, 2026
0846375
plugin: add 15 new APIs for v2.17
zhaoyinglia Aug 7, 2026
c32ab76
plugin: update 4 MOE API signatures for v2.17
zhaoyinglia Aug 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 2 additions & 6 deletions .github/actions/build-pytorch-wheel/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,5 @@ RUN CUDA_MAJOR_VERSION=$(echo $CUDA_VERSION | awk -F \. {'print $1'}) && \
# Install PyTorch
RUN export MATRIX_CUDA_VERSION=$(echo $CUDA_VERSION | awk -F \. {'print $1 $2'}) && \
export MATRIX_TORCH_VERSION=$(echo $TORCH_VERSION | awk -F \. {'print $1 "." $2'}) && \
export TORCH_CUDA_VERSION=$(python -c "from os import environ as env; \
minv = {'2.5': 118, '2.6': 118, '2.7': 118, '2.8': 126, '2.9': 126}[env['MATRIX_TORCH_VERSION']]; \
maxv = {'2.5': 124, '2.6': 126, '2.7': 128, '2.8': 129, '2.9': 130}[env['MATRIX_TORCH_VERSION']]; \
print(minv if int(env['MATRIX_CUDA_VERSION']) < 120 else maxv)" \
) && \
pip install --no-cache-dir torch==${TORCH_VERSION} --index-url https://download.pytorch.org/whl/cu${TORCH_CUDA_VERSION}
export TORCH_CUDA_VERSION=$(python -c "from os import environ as env; versions = {'2.5': (118, 124), '2.6': (118, 126), '2.7': (118, 128), '2.8': (126, 129), '2.9': (126, 130)}; minv, maxv = versions[env['MATRIX_TORCH_VERSION']]; print(minv if int(env['MATRIX_CUDA_VERSION']) < 120 else maxv)") && \
pip install --no-cache-dir torch==${TORCH_VERSION} --index-url https://download.pytorch.org/whl/cu${TORCH_CUDA_VERSION}
178 changes: 136 additions & 42 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,66 +1,160 @@
# Copyright (c) 2022-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# Copyright (c) 2022-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# See LICENSE for license information.

# A workflow to trigger TE build on GitHub

name: 'Build'
on:
pull_request:
workflow_dispatch:
concurrency:
# Group by workflow name + PR number (for PRs) or ref (for branch/tag pushes)
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
core:
name: 'Core'
runs-on: ubuntu-latest
container:
image: nvcr.io/nvidia/cuda:12.1.0-devel-ubuntu22.04
options: --user root
steps:
- name: 'Dependencies'
run: |
apt-get update
apt-get install -y git python3.9 pip cudnn9-cuda-12
pip install cmake==3.21.0 pybind11[global] ninja
- name: 'Checkout'
uses: actions/checkout@v3
with:
submodules: recursive
- name: ccache
uses: mozilla-actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad
- name: 'Build'
run: NVTE_USE_CCACHE=1 NVTE_CCACHE_BIN=sccache pip install --no-build-isolation . -v
env:
NVTE_FRAMEWORK: none
MAX_JOBS: 1
SCCACHE_GHA_ENABLED: "true"
- name: 'Sanity check'
run: python3 -c "import transformer_engine"
working-directory: /
pytorch:
name: 'PyTorch'
runs-on: [ nv-8g-cicd-te ]
defaults:
run:
shell: bash
container:
image: harbor.baai.ac.cn/flagscale/cuda12.8.1-torch2.7.1-python3.10-te2.9:20260209
ports:
- 80:80
options: >-
--gpus all
--shm-size=500g
--privileged
--ipc=host
--ulimit memlock=-1
--ulimit stack=67108864
--ulimit nofile=65535:65535
--user root
--pull never
runs-on: ubuntu-latest
steps:
- name: Configure Git Safe Directory on Cuda
run: /usr/bin/git config --global safe.directory '*'
- name: Move /var/lib/docker/
shell: bash -euxo pipefail {0}
run: sudo mv /var/lib/docker/ "${GITHUB_WORKSPACE}/docker"

- name: Maximize build space
uses: easimon/maximize-build-space@c28619d8999a147d5e09c1199f84ff6af6ad5794
with:
root-reserve-mb: 5120
temp-reserve-mb: 32
swap-size-mb: 10240
remove-dotnet: 'true'
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
build-mount-path: '/var/lib/docker/'

- name: Restore /var/lib/docker/
shell: bash -euxo pipefail {0}
run: sudo sh -c "mv ${GITHUB_WORKSPACE}/docker/* /var/lib/docker"

- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
set-safe-directory: true

- name: 'Setup Environment'
- name: Start named container
run: |
source /opt/miniconda3/etc/profile.d/conda.sh
conda activate flagscale-train
echo "PATH=$PATH" >> $GITHUB_ENV
docker run -v $(pwd):$(pwd) -w $(pwd) --name builder -d nvcr.io/nvidia/cuda:12.8.0-devel-ubuntu22.04 sleep infinity

- name: 'Build'
- name: 'Dependencies'
run: |
pip uninstall transformer_engine transformer_engine_torch -y || true
echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE"
cd $GITHUB_WORKSPACE
pip install nvdlfw-inspect
pip install expecttest
pip install . -v --no-deps --no-build-isolation
docker exec builder bash -c '\
apt-get update && \
apt-get install -y git python3.9 pip cudnn9-cuda-12 && \
pip install cmake torch ninja pydantic importlib-metadata>=1.0 packaging pybind11 numpy einops onnxscript && \
apt-get clean \
'

- name: 'Build'
run: docker exec builder bash -c 'pip install --no-build-isolation . -v --no-deps'
env:
NVTE_FRAMEWORK: pytorch
TE_WITH_NCCL: '1'
NVTE_WITH_CUDA: '1'
CUDA_HOME: /usr/local/cuda-12.8
NVCC: /usr/local/cuda-12.8/bin/nvcc
MAX_JOBS: 1
- name: 'Sanity check'
run: docker exec builder bash -c 'python3 tests/pytorch/test_sanity_import.py'
jax:
name: 'JAX'
runs-on: ubuntu-latest
container:
image: ghcr.io/nvidia/jax:jax
options: --user root
steps:
- name: 'Dependencies'
run: pip install cmake==3.21.0 pybind11[global]
- name: 'Checkout'
uses: actions/checkout@v3
with:
submodules: recursive
- name: ccache
uses: mozilla-actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad
- name: 'Build'
run: |
NVTE_CCACHE_BIN=sccache NVTE_USE_CCACHE=1 pip install --no-build-isolation . -v
env:
NVTE_FRAMEWORK: jax
MAX_JOBS: 1
SCCACHE_GHA_ENABLED: "true"
- name: 'Sanity check'
run: python3 tests/jax/test_sanity_import.py
all:
name: 'All'
runs-on: ubuntu-latest
steps:
- name: Move /var/lib/docker/
shell: bash -euxo pipefail {0}
run: sudo mv /var/lib/docker/ "${GITHUB_WORKSPACE}/docker"

- name: Maximize build space
uses: easimon/maximize-build-space@c28619d8999a147d5e09c1199f84ff6af6ad5794
with:
root-reserve-mb: 5120
temp-reserve-mb: 32
swap-size-mb: 10240
remove-dotnet: 'true'
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
build-mount-path: '/var/lib/docker/'

- name: Restore /var/lib/docker/
shell: bash -euxo pipefail {0}
run: sudo sh -c "mv ${GITHUB_WORKSPACE}/docker/* /var/lib/docker"

- name: 'Checkout'
uses: actions/checkout@v3
with:
submodules: recursive

- name: Start named container
run: |
docker run -v $(pwd):$(pwd) -w $(pwd) --name builder -d ghcr.io/nvidia/jax:jax sleep infinity

- name: 'Dependencies'
run: |
docker exec builder bash -c '\
pip install cmake==3.21.0 pybind11[global] einops onnxscript && \
pip install torch --no-cache-dir --index-url https://download.pytorch.org/whl/cu130
'
- name: 'Build'
run: docker exec builder bash -c 'pip install --no-cache-dir --no-build-isolation . -v --no-deps'
env:
NVTE_FRAMEWORK: all
MAX_JOBS: 1
- name: 'Sanity check'
run:
python3 tests/pytorch/test_sanity_import.py
run: docker exec builder bash -c 'python3 tests/pytorch/test_sanity_import.py && python3 tests/jax/test_sanity_import.py'
63 changes: 63 additions & 0 deletions .github/workflows/community_label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Copyright (c) 2022-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# See LICENSE for license information.

# A workflow to automatically label the contributions as community/org
name: Label community contributions

on:
pull_request_target:
types: [opened, reopened, ready_for_review, synchronize]

permissions:
contents: read
issues: write
pull-requests: write

jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
with:
script: |
const pr = context.payload.pull_request;
const user = pr.user.login;
const association = pr.author_association;

const communityLabel = "community-contribution";
const orgLabel = "org-contribution";

let targetLabel = null;

const isOrgMember =
association === "MEMBER" || association === "OWNER";

let permission = "none";

try {
const res = await github.rest.repos.getCollaboratorPermissionLevel({
owner: context.repo.owner,
repo: context.repo.repo,
username: user,
});
permission = res.data.permission;
} catch (e) {
if (e.status !== 404) throw e;
}

const isCore = permission === "write" || permission === "admin";
if (!isOrgMember) {
targetLabel = communityLabel;
} else {
targetLabel = orgLabel;
}

if (!isCore) {
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pr.number,
labels: [targetLabel],
});
}
2 changes: 2 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ concurrency:
# Group by workflow name + PR number (for PRs) or ref (for branch/tag pushes)
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
pytorch_cpplint:
name: 'PyTorch C++'
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ artifacts/
transformer_engine/plugin/core/_build_config.py
# Mac OS
.DS_Store
.claude/
# Integration test outputs
qa/L1_pytorch_mcore_integration/output/
*.distcp
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@
[submodule "3rdparty/cutlass"]
path = 3rdparty/cutlass
url = https://github.com/NVIDIA/cutlass.git
[submodule "3rdparty/nccl"]
path = 3rdparty/nccl
url = https://github.com/NVIDIA/nccl.git
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ repos:
files: ^transformer_engine.*\.(c|cc|cxx|cpp|cu|cuh|h|hpp)$

- repo: https://github.com/netromdk/vermin
rev: c75aca72f4e85c6e47252139e8695f1c8b5f9ae3
rev: b70ff9611a01a2bf2f702aa537d14e71e330edba
hooks:
- id: vermin
args: ['-t=3.10-', '--violations']
1 change: 1 addition & 0 deletions 3rdparty/nccl
Submodule nccl added at a6b5de
24 changes: 24 additions & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# IMPORTANT:
# This file is ONLY used to subscribe for notifications for PRs
# related to a specific file path. Approvals from people in this
# file are not required for merges.

# C API
/transformer_engine/common/include/ @ptrendx

# TE/JAX
/transformer_engine/jax/ @jberchtold-nvidia

# TE/PyTorch
/transformer_engine/pytorch/ @ksivaman

# te.ops API
/transformer_engine/pytorch/ops/ @timmoon10

# Quantization kernels
/transformer_engine/common/cast/ @Oleg-Goncharov

# Attention
/transformer_engine/pytorch/attention/ @cyanguwa
/transformer_engine/common/fused_attn/ @cyanguwa
/transformer_engine/jax/cpp_extensions/attention.py @KshitijLakhani
Loading
Loading