Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
218 commits
Select commit Hold shift + click to select a range
6802afb
[TRTLLM-16460][perf] CuteDSL MoE: opt-in K tile, row-owned epilogue a…
Wanli-Jiang Oct 29, 2026
963d64b
[TRTLLM-16460][perf] Fewer eager ops in generation-only MTP decode me…
Wanli-Jiang Oct 29, 2026
882be88
[TRTLLM-16460][perf] Fused speculative-decoding bookkeeping in captur…
Wanli-Jiang Oct 29, 2026
4c4a409
[TRTLLM-16460][feat] GDN cached replay: let the model's replay kernel…
Wanli-Jiang Oct 29, 2026
cb3985d
[TRTLLM-16460][perf] Qwen3.8-Flash-Next NVFP4 target: GB300 Pareto op…
Wanli-Jiang Oct 30, 2026
1edb516
[TRTLLM-16460][test] Qwen3.8-Flash-Next GB300 perf sanity on the targ…
Wanli-Jiang Oct 30, 2026
e3129fc
[None][chore] Merge PR #20937 (Qwen3.8-Flash-Next NVFP4 target GB300 …
Wanli-Jiang Oct 30, 2026
4182d0b
[None][test] modeling_v2 qwen4_exp unified target: verify qsa_expand_…
Wanli-Jiang Oct 30, 2026
238bb67
[None][feat] modeling_v2 qwen4_exp unified: rms_norm_gated_token_majo…
Wanli-Jiang Oct 30, 2026
f2bbd35
[None][test] modeling_v2 qwen4_exp unified: certify rms_norm_gated_to…
Wanli-Jiang Oct 30, 2026
7eb8848
[None][docs] modeling_v2 qwen4_exp unified: rms_norm_gated_token_majo…
Wanli-Jiang Oct 30, 2026
c99e08c
[None][test] modeling_v2 qwen4 unified: cublas_mm__r1 at the target's…
Wanli-Jiang Oct 30, 2026
ceb635f
[None][test] modeling_v2 qwen4_exp unified: verify ngram_hash at 128-…
Wanli-Jiang Oct 30, 2026
8361e2d
[None][feat] modeling_v2: several families may route one architecture
Wanli-Jiang Oct 30, 2026
e2f4591
[None][feat] modeling_v2: route Qwen3.8-Flash-Next-NVFP4 at tp4, tep4…
Wanli-Jiang Oct 30, 2026
621d301
[None][feat] modeling_v2 qwen4_exp unified target: per-rank KV cache …
Wanli-Jiang Oct 30, 2026
f75b44f
[None][test] modeling_v2 qwen4_exp unified: qsa_paged_sparse_gqa_nvfp…
Wanli-Jiang Oct 30, 2026
809ad52
[None][test] modeling_v2 qwen4_exp unified: certify qsa_paged_sparse_…
Wanli-Jiang Oct 30, 2026
e4b7704
[None][test] modeling_v2 qwen4_exp unified target: verify fused_qk_no…
Wanli-Jiang Oct 30, 2026
f9dd89b
[None][feat] modeling_v2 qwen4_exp unified: ngram_token_history__r14 …
Wanli-Jiang Oct 30, 2026
0d76055
[None][test] modeling_v2 qwen4_exp unified: certify ngram_token_histo…
Wanli-Jiang Oct 30, 2026
9ffb5e4
[None][test] modeling_v2 qwen4 unified: allreduce__r5 certifies the p…
Wanli-Jiang Oct 30, 2026
5b23f73
[None][docs] modeling_v2 qwen4 unified: allreduce__r5 states the one-…
Wanli-Jiang Oct 30, 2026
b422b80
[None][feat] modeling_v2 qwen4_exp unified: qwen4_exp_hc_inject_norm_…
Wanli-Jiang Oct 30, 2026
11f2773
[None][test] modeling_v2 qwen4_exp unified: certify qwen4_exp_hc_inje…
Wanli-Jiang Oct 30, 2026
01d99aa
[None][test] modeling_v2 qwen4_exp unified: qwen4_exp_hc_lowrank_act …
Wanli-Jiang Oct 30, 2026
6b49710
[None][test] modeling_v2 qwen4_exp unified: verify qwen4_exp_hc_lowra…
Wanli-Jiang Oct 30, 2026
5382e83
[None][feat] modeling_v2 qwen4_exp unified: gdn_decode_gated_norm_pdl…
Wanli-Jiang Oct 30, 2026
598b2cd
[None][test] modeling_v2 qwen4_exp unified: certify gdn_decode_gated_…
Wanli-Jiang Oct 30, 2026
d308fe9
[None][feat] modeling_v2 qwen4_exp unified: fp4_block_scale_moe_runne…
Wanli-Jiang Oct 30, 2026
7bcf910
[None][test] modeling_v2 qwen4_exp unified: certify fp4_block_scale_m…
Wanli-Jiang Oct 30, 2026
98d3683
[None][feat] modeling_v2 qwen4_exp unified: qwen4_exp_hc_up_gate_mean…
Wanli-Jiang Oct 30, 2026
c9ed193
[None][test] modeling_v2 qwen4_exp unified: certify qwen4_exp_hc_up_g…
Wanli-Jiang Oct 30, 2026
5c81d6c
[None][feat] modeling_v2 qwen4_exp unified: ple_ngram_embed__r15 vari…
Wanli-Jiang Oct 30, 2026
a78cece
[None][test] modeling_v2 qwen4_exp unified: certify ple_ngram_embed__…
Wanli-Jiang Oct 30, 2026
ac6f445
[None][test] modeling_v2 qwen4_exp unified: thop_attention__r2 varian…
Wanli-Jiang Oct 30, 2026
1056644
[None][test] modeling_v2 qwen4_exp unified: certify thop_attention__r…
Wanli-Jiang Oct 30, 2026
97d0863
[None][doc] modeling_v2 qwen4_exp unified: thop_attention__r2 names i…
Wanli-Jiang Oct 30, 2026
779388f
[None][test] modeling_v2 qwen4_exp unified: thop_attention__r2 decode…
Wanli-Jiang Oct 30, 2026
d8cf396
[None][feat] modeling_v2 qwen4_exp unified: qwen4_exp_post_inject__r1…
Wanli-Jiang Oct 30, 2026
a4330e9
[None][test] modeling_v2 qwen4_exp unified: certify qwen4_exp_post_in…
Wanli-Jiang Oct 30, 2026
c103071
[None][test] modeling_v2 qwen4_exp unified: fused_sigmoid_mul_inplace…
Wanli-Jiang Oct 30, 2026
d20d82e
[None][test] modeling_v2 qwen4_exp unified: certify fused_sigmoid_mul…
Wanli-Jiang Oct 30, 2026
b9c8b27
[None][test] modeling_v2 qwen4_exp unified: fused_sigmoid_gate_mul_ad…
Wanli-Jiang Oct 30, 2026
50d719d
[None][test] modeling_v2 qwen4_exp unified: verify fused_sigmoid_gate…
Wanli-Jiang Oct 30, 2026
375e8f7
[None][feat] modeling_v2 qwen4_exp unified target: per-rank weight table
Wanli-Jiang Oct 30, 2026
65fb75e
[None][test] modeling_v2 qwen4_exp unified target: per-rank weight sh…
Wanli-Jiang Oct 30, 2026
0b35181
[None][feat] modeling_v2 qwen4_exp unified: cu_seqlens_from_seq_lens_…
Wanli-Jiang Oct 30, 2026
3814ab3
[None][test] modeling_v2 qwen4_exp unified: certify cu_seqlens_from_s…
Wanli-Jiang Oct 30, 2026
16ee053
[None][feat] modeling_v2 qwen4_exp unified: qsa_topk_select__r23 vari…
Wanli-Jiang Oct 30, 2026
7ea4f83
[None][test] modeling_v2 qwen4_exp unified: certify qsa_topk_select__…
Wanli-Jiang Oct 30, 2026
245cbc1
[None][feat] modeling_v2 qwen4_exp unified: silu_and_mul_rows__r35 va…
Wanli-Jiang Oct 30, 2026
d53df24
[None][test] modeling_v2 qwen4_exp unified: certify silu_and_mul_rows…
Wanli-Jiang Oct 30, 2026
2a1bdc8
[None][feat] modeling_v2 qwen4_exp unified: renorm_moe_routing_op__r3…
Wanli-Jiang Oct 30, 2026
64e680f
[None][test] modeling_v2 qwen4_exp unified: certify renorm_moe_routin…
Wanli-Jiang Oct 30, 2026
71ee4f5
[None][test] modeling_v2 qwen4_exp unified: flashinfer_gemma_rmsnorm_…
Wanli-Jiang Oct 30, 2026
5e7f92c
[None][test] modeling_v2 qwen4_exp unified: certify flashinfer_gemma_…
Wanli-Jiang Oct 30, 2026
aaeb75c
[None][test] modeling_v2 qwen4_exp unified: qsa_topk_expand_decode lo…
Wanli-Jiang Oct 30, 2026
42fb4d3
[None][test] modeling_v2 qwen4_exp unified: verify qsa_topk_expand_de…
Wanli-Jiang Oct 30, 2026
6fb6451
[None][test] modeling_v2 qwen4_exp unified: qsa_paged_index_store loc…
Wanli-Jiang Oct 30, 2026
8f18890
[None][test] modeling_v2 qwen4_exp unified: certify qsa_paged_index_s…
Wanli-Jiang Oct 30, 2026
9505172
[None][test] modeling_v2 qwen4_exp unified: qsa_prefill_compress loca…
Wanli-Jiang Oct 30, 2026
ad26fdd
[None][test] modeling_v2 qwen4_exp unified: certify qsa_prefill_compr…
Wanli-Jiang Oct 30, 2026
8f04256
[None][feat] modeling_v2 qwen4_exp unified: qsa_paged_index_scores__r…
Wanli-Jiang Oct 30, 2026
6b3584b
[None][test] modeling_v2 qwen4_exp unified: certify qsa_paged_index_s…
Wanli-Jiang Oct 30, 2026
19cffe8
[None][feat] modeling_v2 qwen4_exp unified: gdn_prefill_conv_post__r2…
Wanli-Jiang Oct 30, 2026
e249196
[None][test] modeling_v2 qwen4_exp unified: certify gdn_prefill_conv_…
Wanli-Jiang Oct 30, 2026
d5b9f46
[None][test] modeling_v2 qwen4_exp unified: causal_conv1d_update loca…
Wanli-Jiang Oct 30, 2026
3e7e90d
[None][test] modeling_v2 qwen4_exp unified: certify causal_conv1d_upd…
Wanli-Jiang Oct 30, 2026
4d622cb
[None][test] modeling_v2 qwen4_exp unified: allgather__r6 variant at …
Wanli-Jiang Oct 30, 2026
7dab094
[None][test] modeling_v2 qwen4_exp unified: qsa_paged_sparse_gqa loca…
Wanli-Jiang Oct 30, 2026
2c81e18
[None][test] modeling_v2 qwen4_exp unified: certify qsa_paged_sparse_…
Wanli-Jiang Oct 30, 2026
5fbe9d1
[None][feat] modeling_v2 qwen4_exp unified: qsa_paged_kv_store__r25 v…
Wanli-Jiang Oct 30, 2026
de72cf5
[None][test] modeling_v2 qwen4_exp unified: certify qsa_paged_kv_stor…
Wanli-Jiang Oct 30, 2026
bed6020
[None][feat] modeling_v2 qwen4_exp unified: flashinfer_chunk_gated_de…
Wanli-Jiang Oct 30, 2026
37b2cff
[None][test] modeling_v2 qwen4_exp unified: certify flashinfer_chunk_…
Wanli-Jiang Oct 30, 2026
caae392
[None][test] modeling_v2 qwen4_exp unified: flashinfer_chunk_gated_de…
Wanli-Jiang Oct 30, 2026
f6d261c
[None][test] modeling_v2 qwen4_exp unified: reducescatter local varia…
Wanli-Jiang Oct 30, 2026
e129b3e
[None][test] modeling_v2 qwen4_exp unified: certify reducescatter r7 …
Wanli-Jiang Oct 30, 2026
947e347
[None][test] modeling_v2 qwen4_exp unified: qsa_paged_kv_store_nvfp4 …
Wanli-Jiang Oct 30, 2026
db71693
[None][test] modeling_v2 qwen4_exp unified: certify qsa_paged_kv_stor…
Wanli-Jiang Oct 30, 2026
868e39c
[None][feat] modeling_v2 qwen4_exp unified: ple_gate_conv_inject_norm…
Wanli-Jiang Oct 30, 2026
960ca74
[None][test] modeling_v2 qwen4_exp unified: certify ple_gate_conv_inj…
Wanli-Jiang Oct 30, 2026
ab2b2d3
[None][feat] modeling_v2 qwen4_exp unified: flashinfer_top_k_ragged_t…
Wanli-Jiang Oct 30, 2026
086a404
[None][feat] modeling_v2 qwen4_exp unified: gdn_decode_rows_gated_nor…
Wanli-Jiang Oct 30, 2026
26dc4fa
[None][test] modeling_v2 qwen4_exp unified: certify gdn_decode_rows_g…
Wanli-Jiang Oct 30, 2026
db4f66b
[None][test] modeling_v2 qwen4_exp unified: fp8_quantize_1x128 local …
Wanli-Jiang Oct 30, 2026
a5b6772
[None][test] modeling_v2 qwen4_exp unified: certify fp8_quantize_1x12…
Wanli-Jiang Oct 30, 2026
65fb7bc
[None][test] modeling_v2 qwen4_exp unified: qsa_paged_sparse_gqa_nvfp…
Wanli-Jiang Oct 30, 2026
f316145
[None][test] modeling_v2 qwen4_exp unified: certify qsa_paged_sparse_…
Wanli-Jiang Oct 30, 2026
4361a10
[None][test] modeling_v2 qwen4_exp unified: qsa_paged_sparse_gqa_nvfp…
Wanli-Jiang Oct 30, 2026
b4fb623
[None][feat] modeling_v2 qwen4_exp unified: qsa_rollback_planes__r47 …
Wanli-Jiang Oct 30, 2026
a9879bf
[None][test] modeling_v2 qwen4_exp unified: certify qsa_rollback_plan…
Wanli-Jiang Oct 30, 2026
ef7cd28
[None][test] modeling_v2 qwen4_exp unified: qsa_rollback_planes__r47 …
Wanli-Jiang Oct 30, 2026
1d04b8e
[None][feat] modeling_v2 qwen4_exp unified: qwen4_exp_gated_residual_…
Wanli-Jiang Oct 30, 2026
0984ebf
[None][test] modeling_v2 qwen4_exp unified: certify qwen4_exp_gated_r…
Wanli-Jiang Oct 30, 2026
e8b6224
[None][test] modeling_v2 qwen4_exp unified: fp8_block_scale_moe_runne…
Wanli-Jiang Oct 30, 2026
fc012a9
[None][test] modeling_v2 qwen4_exp unified: certify fp8_block_scale_m…
Wanli-Jiang Oct 30, 2026
e62080c
[None][test] modeling_v2 qwen4_exp unified: qsa_mtp_reuse_topk local …
Wanli-Jiang Oct 30, 2026
db212d7
[None][test] modeling_v2 qwen4_exp unified: certify qsa_mtp_reuse_top…
Wanli-Jiang Oct 30, 2026
de7d60f
[None][feat] modeling_v2 qwen4_exp unified: flashinfer_silu_and_mul__…
Wanli-Jiang Oct 30, 2026
2b88b4b
[None][test] modeling_v2 qwen4_exp unified: certify flashinfer_silu_a…
Wanli-Jiang Oct 30, 2026
3b36389
[None][test] modeling_v2 qwen4_exp unified: causal_conv1d_triton_upda…
Wanli-Jiang Oct 30, 2026
de6a529
[None][test] modeling_v2 qwen4_exp unified: certify causal_conv1d_tri…
Wanli-Jiang Oct 30, 2026
79454aa
[None][test] modeling_v2 qwen4 unified: cublas_mm__mtp variant certif…
Wanli-Jiang Oct 30, 2026
f17086b
[None][test] modeling_v2 qwen4_exp unified: fused_qk_norm_rope__mtp v…
Wanli-Jiang Oct 30, 2026
794437c
[None][test] modeling_v2 qwen4_exp unified: record fused_qk_norm_rope…
Wanli-Jiang Oct 30, 2026
c9ac767
[None][test] modeling_v2 qwen4_exp unified: fused_sigmoid_mul_inplace…
Wanli-Jiang Oct 30, 2026
16916da
[None][test] modeling_v2 qwen4_exp unified: certify fused_sigmoid_mul…
Wanli-Jiang Oct 30, 2026
e8f603b
[None][test] modeling_v2 qwen4_exp unified: fused_recurrent_gated_del…
Wanli-Jiang Oct 30, 2026
425f98f
[None][test] modeling_v2 qwen4_exp unified: certify fused_recurrent_g…
Wanli-Jiang Oct 30, 2026
9589752
[None][test] modeling_v2 qwen4_exp unified: certify qsa_paged_sparse_…
Wanli-Jiang Oct 30, 2026
cfc6a22
[None][feat] modeling_v2 qwen4_exp unified: spec_rollback_commit__r48…
Wanli-Jiang Oct 30, 2026
5f970bd
[None][test] modeling_v2 qwen4_exp unified: certify spec_rollback_com…
Wanli-Jiang Oct 30, 2026
67eb6e1
[None][test] modeling_v2 qwen4_exp unified: patch_embed_conv3d local …
Wanli-Jiang Oct 30, 2026
5695d27
[None][perf] modeling_v2 qwen4_exp unified: certify patch_embed_conv3…
Wanli-Jiang Oct 30, 2026
bd6224f
[None][test] modeling_v2 qwen4_exp unified: layer_norm__r51 variant, …
Wanli-Jiang Oct 30, 2026
5530a7b
[None][test] modeling_v2 qwen4_exp unified: certify layer_norm__r51 a…
Wanli-Jiang Oct 30, 2026
8c9d3f4
[None][test] modeling_v2 qwen4_exp unified: gelu_tanh local variant r…
Wanli-Jiang Oct 30, 2026
7f552e9
[None][test] modeling_v2 qwen4_exp unified: certify gelu_tanh__r53 at…
Wanli-Jiang Oct 30, 2026
22568d8
[None][fix] modeling_v2 qwen4_exp unified: gdn_prefill_conv_post__r27…
Wanli-Jiang Oct 30, 2026
f8e2755
[None][test] modeling_v2 qwen4_exp unified: gelu_erf local variant r5…
Wanli-Jiang Oct 30, 2026
be39951
[None][test] modeling_v2 qwen4_exp unified: certify gelu_erf__r54 at …
Wanli-Jiang Oct 30, 2026
df82f48
[None][test] modeling_v2 qwen4 unified: cublas_mm__vision variant cer…
Wanli-Jiang Oct 30, 2026
b08e641
[None][feat] modeling_v2 qwen4_exp unified: the tep4 core forward, po…
Wanli-Jiang Oct 30, 2026
6f81038
[None][test] modeling_v2 qwen4_exp unified: the tep4 core's per-rank …
Wanli-Jiang Oct 30, 2026
a9c5310
[None][fix] modeling_v2 qwen4_exp unified: hand the NVFP4 runner its …
Wanli-Jiang Oct 30, 2026
c848cf9
[None][fix] modeling_v2 qwen4_exp unified: sparse GQA reads its queri…
Wanli-Jiang Oct 30, 2026
213b5aa
[None][chore] modeling_v2 qwen4_exp unified: core lint and docstring …
Wanli-Jiang Oct 30, 2026
c3d45b4
[None][feat] modeling_v2 qwen4_exp unified: log the per-rank pool siz…
Wanli-Jiang Oct 30, 2026
5e419e1
[None][fix] modeling_v2 qwen4_exp unified: report the bound pool size…
Wanli-Jiang Oct 30, 2026
fec2256
[None][feat] modeling_v2 qwen4_exp unified: vision_rope_2d_packed_qk_…
Wanli-Jiang Oct 30, 2026
f185bb9
[None][feat] modeling_v2 qwen4_exp unified: triton_pos_embed_interpol…
Wanli-Jiang Oct 30, 2026
607ff73
[None][test] modeling_v2 qwen4_exp unified: certify triton_pos_embed_…
Wanli-Jiang Oct 30, 2026
1fdc284
[None][doc] modeling_v2 qwen4_exp unified: triton_pos_embed_interpola…
Wanli-Jiang Oct 30, 2026
30f878b
[None][test] modeling_v2 qwen4_exp unified: gsm8k at tep4, tp4 and de…
Wanli-Jiang Oct 30, 2026
c3474ca
[None][feat] modeling_v2 qwen4_exp unified: dep4, the attention-DP Mo…
Wanli-Jiang Oct 30, 2026
22766ac
[None][fix] modeling_v2 qwen4_exp unified: route and quantize the rou…
Wanli-Jiang Oct 30, 2026
16f5975
[None][feat] modeling_v2 qwen4_exp unified: tp4, every routed expert …
Wanli-Jiang Oct 30, 2026
1683960
[None][test] modeling_v2 qwen4_exp unified: reducescatter r7 at dep4/…
Wanli-Jiang Oct 30, 2026
efd6fc0
[None][test] modeling_v2 qwen4_exp unified: allgather__r6 cells at th…
Wanli-Jiang Oct 30, 2026
c4e4256
[None][feat] modeling_v2 qwen4_exp unified: route dep2 (attention DP,…
Wanli-Jiang Oct 30, 2026
3cab0d4
[None][test] modeling_v2 qwen4_exp unified: dep2's per-rank layout, p…
Wanli-Jiang Oct 30, 2026
fbbf1cc
[None][test] modeling_v2 qwen4_exp unified: disaggregated GSM8K, dep2…
Wanli-Jiang Oct 30, 2026
70d1782
[None][test] modeling_v2 qwen4_exp unified disagg: let each worker sp…
Wanli-Jiang Oct 30, 2026
ea058d0
[None][chore] modeling_v2 qwen4_exp unified disagg: the workers' envi…
Wanli-Jiang Oct 30, 2026
599f689
[None][test] modeling_v2 qwen4_exp unified disagg: skip off sm_103 by…
Wanli-Jiang Oct 30, 2026
da29258
[None][feat] modeling_v2 qwen4_exp unified: one-model MTP-Eagle at tep4
Wanli-Jiang Oct 30, 2026
fa6cf8b
[None][test] modeling_v2 qwen4_exp unified: SpeculativeRollback again…
Wanli-Jiang Oct 30, 2026
5fa81fd
[None][feat] modeling_v2 qwen4_exp unified: the draft layer's shared …
Wanli-Jiang Oct 30, 2026
26e5680
[None][fix] modeling_v2 qwen4_exp unified: decline MTP and the breaka…
Wanli-Jiang Oct 30, 2026
9109318
[None][feat] modeling_v2 qwen4_exp unified: the vision tower, replica…
Wanli-Jiang Oct 30, 2026
fdb6206
[None][doc] modeling_v2 qwen4_exp unified: the module docstring no lo…
Wanli-Jiang Oct 30, 2026
4ff55d7
[None][feat] modeling_v2 qwen4_exp unified: MTP at tp4, the draft lay…
Wanli-Jiang Oct 30, 2026
cf34824
[None][feat] modeling_v2 qwen4_exp unified: MTP at dep4, the draft Mo…
Wanli-Jiang Oct 31, 2026
3bd7edd
[None][chore] modeling_v2 catalog: activation/gelu_erf, promoted from…
Wanli-Jiang Oct 31, 2026
53000c9
[None][chore] modeling_v2 catalog: activation/gelu_tanh, promoted fro…
Wanli-Jiang Oct 31, 2026
ed0ea51
[None][chore] modeling_v2 catalog: activation/silu_and_mul_rows, prom…
Wanli-Jiang Oct 31, 2026
b12d5b1
[None][chore] modeling_v2 catalog: attention/flashinfer_top_k_ragged_…
Wanli-Jiang Oct 31, 2026
a5b6747
[None][chore] modeling_v2 catalog: attention/qsa_expand_block_indices…
Wanli-Jiang Oct 31, 2026
ee3103b
[None][chore] modeling_v2 catalog: attention/qsa_topk_expand_decode, …
Wanli-Jiang Oct 31, 2026
392da2c
[None][chore] modeling_v2 catalog: attention/qsa_mtp_reuse_topk, prom…
Wanli-Jiang Oct 31, 2026
f4e2ba2
[None][chore] modeling_v2 catalog: attention/qsa_paged_index_scores, …
Wanli-Jiang Oct 31, 2026
168e58e
[None][chore] modeling_v2 catalog: attention/qsa_paged_index_store, p…
Wanli-Jiang Oct 31, 2026
0bd64b5
[None][chore] modeling_v2 catalog: attention/qsa_paged_kv_store, prom…
Wanli-Jiang Oct 31, 2026
3176df0
[None][chore] modeling_v2 catalog: attention/qsa_paged_kv_store_nvfp4…
Wanli-Jiang Oct 31, 2026
48d2de4
[None][chore] modeling_v2 catalog: attention/qsa_paged_sparse_gqa, pr…
Wanli-Jiang Oct 31, 2026
95a03f8
[None][chore] modeling_v2 catalog: attention/qsa_paged_sparse_gqa_nvf…
Wanli-Jiang Oct 31, 2026
3eda8e2
[None][chore] modeling_v2 catalog: attention/qsa_paged_sparse_gqa_nvf…
Wanli-Jiang Oct 31, 2026
a666134
[None][chore] modeling_v2 catalog: attention/qsa_prefill_compress, pr…
Wanli-Jiang Oct 31, 2026
0f7b5ac
[None][chore] modeling_v2 catalog: attention/qsa_rollback_planes, pro…
Wanli-Jiang Oct 31, 2026
78c5f52
[None][chore] modeling_v2 catalog: attention/spec_rollback_commit, pr…
Wanli-Jiang Oct 31, 2026
e99889d
[None][chore] modeling_v2 catalog: attention/qsa_topk_select, promote…
Wanli-Jiang Oct 31, 2026
a453ef2
[None][chore] modeling_v2 catalog: attention/vision_rope_2d_packed_qk…
Wanli-Jiang Oct 31, 2026
dda0283
[None][chore] modeling_v2 catalog: embedding/ngram_hash, promoted fro…
Wanli-Jiang Oct 31, 2026
79e725a
[None][chore] modeling_v2 catalog: hc/qwen4_exp_gated_residual, promo…
Wanli-Jiang Oct 31, 2026
5471c40
[None][chore] modeling_v2 catalog: hc/qwen4_exp_hc_inject_norm, promo…
Wanli-Jiang Oct 31, 2026
c1b00ca
[None][chore] modeling_v2 catalog: hc/qwen4_exp_hc_lowrank_act, promo…
Wanli-Jiang Oct 31, 2026
f050f42
[None][chore] modeling_v2 catalog: hc/qwen4_exp_hc_up_gate_mean, prom…
Wanli-Jiang Oct 31, 2026
2ec5b12
[None][chore] modeling_v2 catalog: hc/qwen4_exp_post_inject, promoted…
Wanli-Jiang Oct 31, 2026
8352e37
[None][chore] modeling_v2 catalog: moe/fp8_block_scale_moe_runner, pr…
Wanli-Jiang Oct 31, 2026
ea1c445
[None][chore] modeling_v2 catalog: moe/fused_sigmoid_gate_mul_add, pr…
Wanli-Jiang Oct 31, 2026
dcd9a4b
[None][chore] modeling_v2 catalog: moe/renorm_moe_routing_op, promote…
Wanli-Jiang Oct 31, 2026
3519e97
[None][chore] modeling_v2 catalog: norm/flashinfer_gemma_rmsnorm, pro…
Wanli-Jiang Oct 31, 2026
41f39df
[None][chore] modeling_v2 catalog: norm/layer_norm, promoted from the…
Wanli-Jiang Oct 31, 2026
dfdb5dd
[None][chore] modeling_v2 catalog: norm/rms_norm_gated_token_major, p…
Wanli-Jiang Oct 31, 2026
0b5bc83
[None][chore] modeling_v2 catalog: ple/ngram_token_history, promoted …
Wanli-Jiang Oct 31, 2026
5e886c4
[None][chore] modeling_v2 catalog: ple/ple_ngram_embed, promoted from…
Wanli-Jiang Oct 31, 2026
53e9aea
[None][chore] modeling_v2 catalog: ple/ple_gate_conv_inject_norm, pro…
Wanli-Jiang Oct 31, 2026
877702a
[None][chore] modeling_v2 catalog: quantization/fp8_quantize_1x128, p…
Wanli-Jiang Oct 31, 2026
caf0529
[None][chore] modeling_v2 catalog: ssm/causal_conv1d_triton_update, p…
Wanli-Jiang Oct 31, 2026
cfc6c52
[None][chore] modeling_v2 catalog: ssm/causal_conv1d_update, promoted…
Wanli-Jiang Oct 31, 2026
5fffd11
[None][chore] modeling_v2 catalog: ssm/cu_seqlens_from_seq_lens, prom…
Wanli-Jiang Oct 31, 2026
fc7a3df
[None][chore] modeling_v2 catalog: ssm/flashinfer_chunk_gated_delta_r…
Wanli-Jiang Oct 31, 2026
91bd6aa
[None][chore] modeling_v2 catalog: ssm/gdn_decode_gated_norm_pdl, pro…
Wanli-Jiang Oct 31, 2026
7e0cb72
[None][chore] modeling_v2 catalog: ssm/gdn_decode_rows_gated_norm, pr…
Wanli-Jiang Oct 31, 2026
fccaede
[None][chore] modeling_v2 catalog: ssm/gdn_prefill_conv_post, promote…
Wanli-Jiang Oct 31, 2026
d4d0c23
[None][chore] modeling_v2 catalog: vision/patch_embed_conv3d, promote…
Wanli-Jiang Oct 31, 2026
cc28c7c
[None][chore] modeling_v2 catalog: vision/triton_pos_embed_interpolat…
Wanli-Jiang Oct 31, 2026
675e36c
[None][chore] modeling_v2 catalog: ssm/fused_recurrent_gated_delta_ru…
Wanli-Jiang Oct 31, 2026
f3253b2
[None][chore] modeling_v2 catalog: activation/flashinfer_silu_and_mul…
Wanli-Jiang Oct 31, 2026
4113ce1
[None][chore] modeling_v2 catalog: attention/thop_attention, the qwen…
Wanli-Jiang Oct 31, 2026
e5c3d4e
[None][chore] modeling_v2 catalog: moe/fp4_block_scale_moe_runner, th…
Wanli-Jiang Oct 31, 2026
c9c4abd
[None][fix] modeling_v2 catalog: tests that import a promoted module …
Wanli-Jiang Oct 31, 2026
15329a3
[None][doc] modeling_v2 catalog: the promoted qwen4_exp entries and t…
Wanli-Jiang Oct 31, 2026
c9583fb
[None][chore] modeling_v2 catalog: activation/fused_sigmoid_mul_inpla…
Wanli-Jiang Oct 31, 2026
285ef7e
[None][chore] modeling_v2 catalog: attention/fused_qk_norm_rope, the …
Wanli-Jiang Oct 31, 2026
3f62f9f
[None][chore] modeling_v2 catalog: gemm/cublas_mm, the qwen4_exp vari…
Wanli-Jiang Oct 31, 2026
6cf41ac
[None][chore] modeling_v2 catalog: comm/allgather, the qwen4_exp vari…
Wanli-Jiang Oct 31, 2026
8cf1f43
[None][chore] modeling_v2 catalog: comm/allreduce, the qwen4_exp vari…
Wanli-Jiang Oct 31, 2026
4b6bdf0
[None][chore] modeling_v2 catalog: comm/reducescatter, the qwen4_exp …
Wanli-Jiang Oct 31, 2026
423fb22
[None][chore] modeling_v2 qwen4_exp: drop the op packages the promoti…
Wanli-Jiang Oct 31, 2026
4bad1ad
[None][chore] modeling_v2 catalog: the promoted qwen4_exp entries wri…
Wanli-Jiang Oct 31, 2026
725c551
[None][test] modeling_v2 catalog: the merged entries' tests check tha…
Wanli-Jiang Oct 31, 2026
0edbaf0
[None][perf] modeling_v2 qsa_topk_expand_decode: a wide-table kernel …
Wanli-Jiang Oct 31, 2026
0c3c81f
[None][perf] modeling_v2 qwen4_exp unified: decode HC, GDN verify and…
Wanli-Jiang Oct 31, 2026
410abc7
[None][perf] modeling_v2 qwen4_exp unified: MoE front end fused, pref…
Wanli-Jiang Nov 1, 2026
80f149b
[None][perf] modeling_v2 qwen4_exp unified: sparse decode attention p…
Wanli-Jiang Nov 1, 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
71 changes: 57 additions & 14 deletions tensorrt_llm/_torch/_experimental/modeling_v2/_router_index.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@
reason in words. Reading that one file tells you where any configuration
lands.

One architecture may be routed by several families, each claiming its own
deployments of it. Their routes are tried in the order they registered and the
first that does not raise ``NoTarget`` decides, so no two may claim the same
deployment: each family's ``route`` declines what another one claims.

Tuning knobs -- ``max_batch_size``, ``max_num_tokens``, CUDA graph settings --
are deliberately not routing inputs. They do not change which code runs, so a
target claims a configuration regardless of them; ``require`` promises that the
Expand All @@ -42,34 +47,42 @@

import enum
import os
from typing import TYPE_CHECKING, Callable, Dict, Optional, Tuple
from typing import TYPE_CHECKING, Callable, Dict, Optional, Sequence, Tuple

from tensorrt_llm.logger import logger

if TYPE_CHECKING:
from tensorrt_llm._torch.model_config import ModelConfig
from tensorrt_llm.llmapi.llm_args import TorchLlmArgs

# architectures[0] -> the ``route`` that decides where it lands, filled by ``@routes``.
_ROUTES: Dict[str, Callable[..., type]] = {}
# architectures[0] -> the ``route``s that decide where it lands, in the order they are
# tried, filled by ``@routes``.
_ROUTES: Dict[str, Tuple[Callable[..., type], ...]] = {}


def routes(*architectures: str):
"""Declare that the decorated ``route`` decides where these ``architectures[0]`` values land."""
"""Declare that the decorated ``route`` decides where these ``architectures[0]`` values land.

A second family may route an architecture another family already routes; its
``route`` is tried after the earlier ones (registration follows the imports in
``models/__init__.py``). One routing module registering twice is a mistake.
"""

def register(route):
for arch in architectures:
assert arch not in _ROUTES, (
f"{arch} routed by both {_ROUTES[arch].__module__} and {route.__module__}"
registered = _ROUTES.get(arch, ())
assert all(other.__module__ != route.__module__ for other in registered), (
f"{arch} routed twice by {route.__module__}"
)
_ROUTES[arch] = route
_ROUTES[arch] = (*registered, route)
return route

return register


def registered_routes() -> Dict[str, Callable[..., type]]:
"""architectures[0] -> ``route``, for every family ``models/__init__.py`` imports."""
def registered_routes() -> Dict[str, Tuple[Callable[..., type], ...]]:
"""architectures[0] -> its ``route``s in the order they are tried, for every family
``models/__init__.py`` imports."""
from . import models # noqa: F401

return _ROUTES
Expand Down Expand Up @@ -175,13 +188,43 @@ def engine_kv_cache_quant_algo(config: "ModelConfig", llm_args: "TorchLlmArgs"):
return {"fp8": QuantAlgo.FP8, "nvfp4": QuantAlgo.NVFP4}.get(dtype, dtype)


def _family(route: Callable[..., type]) -> str:
"""The family a ``route`` belongs to: ``<family>`` of ``models.<family>.routing``,
else the route's module."""
module = route.__module__
return module.rsplit(".", 2)[-2] if module.endswith(".routing") else module


def _first_claim(
candidates: Sequence[Callable[..., type]],
config: "ModelConfig",
llm_args: "TorchLlmArgs",
compute_capability: Tuple[int, int],
) -> type:
"""The target of the first ``route`` that claims this deployment.

When every one declines, the ``NoTarget`` raised carries each one's reason; with
several routes each reason is prefixed by its family.
"""
declined = []
for route in candidates:
try:
return route(config, llm_args, compute_capability)
except NoTarget as why:
declined.append((route, why))
if len(declined) == 1:
raise declined[0][1]
raise NoTarget("; ".join(f"{_family(route)}: {why}" for route, why in declined))


def modeling_v2_resolve(config: "ModelConfig", llm_args: "TorchLlmArgs") -> Optional[type]:
"""Decide which modeling_v2 target, if any, this deployment builds.

Returns the target class, or None for the built-in implementation:
when ``llm_args.modeling_v2`` is ``off``, when no ``route`` is registered
for the architecture, or when that ``route`` raises ``NoTarget``.
In ``require`` every one of those but ``off`` raises ``ValueError`` instead.
for the architecture, or when every ``route`` registered for it raises
``NoTarget``. In ``require`` every one of those but ``off`` raises
``ValueError`` instead.
"""
mode = ModelingV2Mode.of(llm_args)
if mode is ModelingV2Mode.OFF:
Expand All @@ -193,11 +236,11 @@ def modeling_v2_resolve(config: "ModelConfig", llm_args: "TorchLlmArgs") -> Opti
arch = pretrained_config.architectures[0]

try:
route = registered_routes().get(arch)
if route is None:
candidates = registered_routes().get(arch, ())
if not candidates:
known = ", ".join(sorted(registered_routes())) or "(none)"
raise NoTarget(f"no route for this architecture; routed architectures: {known}")
return route(config, llm_args, _device_compute_capability())
return _first_claim(candidates, config, llm_args, _device_compute_capability())
except NoTarget as why:
if mode is ModelingV2Mode.REQUIRE:
raise ValueError(f"modeling_v2='require', but no target fits {arch!r}: {why}") from None
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
"""Gated SiLU activation via the flashinfer silu_and_mul kernel."""
"""Gated SiLU activation via the flashinfer silu_and_mul kernel.

Tier 1: the entry wraps `torch.ops.trtllm.flashinfer_silu_and_mul`. The qwen4_exp
shared-expert width (2 x 640) was merged in from the unified target's variant r44.
"""

from __future__ import annotations

Expand Down Expand Up @@ -44,6 +48,30 @@ class FlashinferSiluAndMul(OpWrapper):

fp16 and fp32 are accepted by the op. No shipped target uses them here, so
they are not cells.

Source: `trtllm::flashinfer_silu_and_mul` is a Python `torch.library`
custom op (`_torch/custom_ops/flashinfer_custom_ops.py`) calling
`flashinfer.activation.silu_and_mul(x, enable_pdl=get_env_enable_pdl())`;
PDL follows `TRTLLM_ENABLE_PDL` (default on) and changes scheduling, not
results. FlashInfer JIT-compiles the kernel on the first call in a process
(`flashinfer.jit.gen_act_and_mul_module("silu")`): this installation has no
AOT artifact for it, and on GB300 the build ran for the device's own
architecture, `-gencode=arch=compute_103a,code=sm_103a`
(`FLASHINFER_CUDA_ARCH_LIST` unset).

Numerics: the kernel's SiLU is `g / (1 + __expf(-g))` in fp32, times `up`,
rounded once to the input dtype. Measured against `reference` at width 1280
(40 draws per row count, randn at scale 1 and 4): bitwise at 1 and 128 rows;
1 of 26.2M elements at 1024 rows and 4 of 209.7M at 8192 rows differ, each by
one bf16 step (relative L2 at most 6.6e-12). Torch's bf16 default band holds
that and refuses swapped halves and GELU-tanh (the test's negative control).
Gates at or above 20 give `g * up` exactly; at -100 `__expf` overflows and
the output is a signed zero, as the reference's denormal rounds to in bf16.

The qwen4_exp shared-expert cells (width 1280, rows 1, 128, 1024, 8192; the
tp1 target's trunk and MTP shared expert) and their CUDA-graph replay at 1,
128 and 1024 rows were driven on sm_103 only; width 1280 is unmeasured on
sm_100.
"""

def __call__(self, x: torch.Tensor) -> torch.Tensor:
Expand Down
Loading