claude
051b02d3cd
feat: ix_moe_bridge + ix_attn_bridge — dlopen bridges for full ixformer::infer API
Bridge architecture (from xllm/core/kernels/ilu/ixformer.h):
ix_moe_bridge.so (MoE 7-step fused pipeline):
- topk_softmax → moe_compute_token_index_api → moe_expand_input
- moe_w16a16_group_gemm (x2) → silu_and_mul → moe_output_reduce_sum
- fused_moe_forward(): replaces entire Python expert loop
- Fix: group_gemm format NT→TN (match xllm trans_b=true)
ix_attn_bridge.so (attention + linear):
- ixinfer_flash_attn_unpad_with_block_tables (fused prefill)
- xllm_paged_attention (fused paged decode)
- ixformer_linear (matmul + activation)
- residual_rms_norm (fused residual + norm)
Integration:
- ix_fused_moe.py: Python loader (prebuilt .so → JIT → unavailable)
- qwen3_5.py: Tier 0 dispatch in _pure_pytorch_experts()
- patch_ops.sh: deploys ix_fused_moe.py + all prebuilt/*.so
Source: jd-opensource/xllm (fresh clone, all ILU kernels verified SAME)
Sync: upstream_ref/xllm_latest/models/llm/qwen3_next_hybrid_base.h (+32 lines)
Build on real machine:
bash qwen3_6_scripts/build_ix_moe_bridge.sh
bash qwen3_6_scripts/build_ix_attn_bridge.sh
2026-08-14 07:32:31 +00:00
..
2026-08-14 03:51:43 +00:00
2026-08-14 07:10:52 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 01:06:49 +00:00
2026-08-12 03:31:05 +00:00
2026-08-14 01:06:49 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-13 11:37:10 +00:00
2026-08-12 03:31:05 +00:00
2026-08-14 06:56:00 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-13 04:01:59 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-13 03:48:12 +00:00
2026-08-12 11:14:01 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-14 07:32:31 +00:00
2026-08-14 07:00:30 +00:00
2026-08-14 07:32:31 +00:00
2026-08-13 11:35:43 +00:00
2026-08-13 11:35:43 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 01:06:49 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-14 02:05:30 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-13 03:48:12 +00:00
2026-08-12 11:14:01 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-14 06:56:00 +00:00
2026-08-12 11:14:01 +00:00
2026-08-12 03:31:05 +00:00
2026-08-14 07:14:46 +00:00
2026-08-14 07:32:31 +00:00
2026-08-14 07:00:30 +00:00
2026-08-14 07:32:31 +00:00
2026-08-14 07:32:31 +00:00
2026-08-14 01:06:49 +00:00
2026-08-12 11:14:01 +00:00
2026-08-12 11:14:01 +00:00
2026-08-13 07:09:50 +00:00
2026-08-12 03:31:05 +00:00
2026-08-14 02:28:48 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-14 07:32:31 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 01:06:49 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-12 03:31:05 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 05:40:05 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 07:32:31 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 01:06:49 +00:00
2026-08-12 03:31:05 +00:00
2026-08-14 06:56:00 +00:00