EX Engine
d00daa62f6
feat(MoE): full ixformer pipeline — topk → gen_idx → expand → group_gemm → silu → combine
Port complete MoE pipeline from upstream xllm/layers/ilu/fused_moe.cpp.
All 6 ixformer::infer functions now exposed via ix_moe_bridge.cpp:
1. topk_softmax — fused routing (was: 3 PyTorch ops)
2. moe_compute_token_index_api — build permutation maps
3. moe_expand_input — gather tokens by expert
4. moe_w16a16_group_gemm — batched expert GEMM (was: Python for-loop)
5. silu_and_mul — fused activation
6. moe_output_reduce_sum — weighted scatter-add
qwen3_5.py dispatch order:
1. Try ix_fused_moe_forward (full C++ pipeline, 7 kernel launches)
2. Try ix_topk_softmax only + PyTorch GEMM
3. Pure PyTorch fallback (torch.softmax + torch.topk + for-loop)
ix_bridge.py exposes both individual ops and fused_moe_forward().
No upstream code copied — only forward-declarations of ixformer C++ API
that the base image SDK already contains.
2026-08-10 03:06:14 +00:00
..
2026-08-10 03:06:14 +00:00
2026-08-10 02:25:23 +00:00
2026-08-10 03:04:50 +00:00
2026-08-10 02:55:58 +00:00