d00daa62f6f4efd0455cfd06f98de711ad18a579
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.
project_6
Description
Languages
C++
41.8%
Cuda
31.6%
Python
22.2%
C
2.1%
CMake
1.1%
Other
1.1%