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 |
|
project6-dev
|
d025b08a95
|
upstream(xllm): sync to jd-opensource/xllm latest + revert serving_chat.py
搬运 jd-opensource/xllm 最新代码到 upstream_ref/xllm_latest/:
- core/kernels/ilu/ 10 files (ixformer.h API 不变)
- core/layers/ilu/ 4 files (fused_moe.cpp config 访问从 FLAGS→singleton)
- core/layers/npu_torch/ 14 files (qwen3_gated_delta_net_base.cpp 576→1164行,
新增 repeat_tensor_heads, checkpoint_stride, spec_verify 等 GDN 功能)
- models/llm/ 5 files (qwen3_5.h 模型注册重构, 新增 qwen3_5_mtp_base.h)
- models/vlm/ 1 file (qwen3_5.h 218→440行)
serving_chat.py: 还原到 8030a11b 原版,删掉 6dcf3590 的语法错误 min(8192,
(缺右括号导致 py_compile 失败)
|
2026-08-12 04:22:34 +00:00 |
|
project6-dev
|
87a19d2d00
|
feat(CRITICAL): 从 GitHub 扫描搬运 ixformer SDK + xllm 完整 GDN/MoE 代码
来源:
1. Chranos/ixformer (GitHub) → ixformer_sdk/ (230 files, 70K lines)
- inference/functions/vllm.py: vllm_moe_topk_softmax 完整实现 (2033 lines)
- inference/functions/moe.py: MoE ops 完整实现 (1380 lines)
- contrib/vllm_flash_attn/: FA2 Python 接口 (1018 lines)
- contrib/tgi/fused_moe.py: TGI fused MoE (429 lines)
- csrc/include/ixformer/: C++ kernel headers + cmake
2. Deep-Spark/xllm (GitHub) → upstream_ref/xllm_latest/ (+15 files)
- npu_torch/qwen3_5_decoder_layer_impl.cpp/.h
- npu_torch/qwen3_5_gated_delta_net.cpp/.h
- npu_torch/qwen3_next_*.cpp/.h (6 files)
- npu_torch/attention.cpp/.h + fused_moe.cpp/.h + CMakeLists.txt
- models/llm/qwen3_5.h + qwen3_5_mtp.h + qwen3_next.h
- models/vlm/qwen3_5.h
调用链完整性:
ixformer_sdk/inference/functions/vllm.py
→ ops.infer.moe_topk_softmax() (C++ 层)
→ 这就是 base 镜像 libixformer.so 里的实现
upstream_ref/xllm_latest/core/layers/ilu/fused_moe.cpp
→ ixformer::infer::topk_softmax() (直接 C++ 调用)
→ ixformer::infer::group_gemm() → 完整 7-step MoE pipeline
|
2026-08-11 02:32:06 +00:00 |
|