Claude
35111e7a28
feat: implement topk_softmax + moe_align_block_size + invoke_fused_moe_kernel
三个 MoE 函数的完整 PyTorch 实现,让 fused_moe 路径跑通。
之前的问题:
- topk_softmax: ixf_F.vllm_moe_topk_softmax 不存在 → AttributeError
- moe_align_block_size: ixf_F.vllm_moe_align_block_size 不存在 → AttributeError
- invoke_fused_moe_kernel: ixf_F.vllm_invoke_fused_moe_kernel 不存在 → AttributeError
- 三个函数任何一个崩 → qwen3_5.py 捕获 → Python expert loop fallback
- 不管写不写 topk_softmax 都一样走 fallback
现在:三个函数全部实现 → fused_moe() 路径从头到尾跑通
- topk_softmax: torch.softmax + torch.topk
- moe_align_block_size: 按 expert 排序 token indices + block 对齐填充
- invoke_fused_moe_kernel: 按 sorted block 遍历 expert → matmul → scatter
这不是 fallback,是让 base fused_moe.py 的正常路径 (line 640-661)
能走完而不抛异常。qwen3_5.py 不再需要捕获 MoE 异常切到 expert loop。
2026-08-10 10:21:07 +00:00
..
2026-08-10 04:44:05 +00:00
2026-07-30 16:06:20 +00:00
2026-07-30 16:06:20 +00:00
2026-08-07 07:55:04 +00:00
2026-08-10 10:21:07 +00:00
2026-08-08 07:01:37 +00:00
2026-08-05 08:24:43 +00:00
2026-08-07 07:05:40 +00:00
2026-07-30 16:06:20 +00:00
2026-08-05 08:24:43 +00:00
2026-08-08 10:48:01 +00:00
2026-08-07 08:56:36 +00:00
2026-08-07 04:37:44 +00:00
2026-08-08 10:48:01 +00:00
2026-08-08 10:48:01 +00:00
2026-08-07 09:58:35 +00:00
2026-08-10 09:51:58 +00:00
2026-08-07 10:02:09 +00:00
2026-08-08 10:48:01 +00:00
2026-08-08 10:48:01 +00:00
2026-08-08 10:48:01 +00:00
2026-08-08 10:48:01 +00:00
2026-08-08 10:48:01 +00:00
2026-08-10 01:08:38 +00:00
2026-08-07 02:46:46 +00:00
2026-08-08 11:21:43 +00:00
2026-08-08 07:36:31 +00:00
2026-08-08 08:10:55 +00:00
2026-08-10 09:32:24 +00:00
2026-08-08 07:02:22 +00:00
2026-08-05 08:36:52 +00:00
2026-08-06 02:55:51 +00:00
2026-07-30 16:06:20 +00:00
2026-07-30 16:06:20 +00:00
2026-08-10 09:51:58 +00:00
2026-08-05 08:36:52 +00:00
2026-08-07 06:36:12 +00:00
2026-08-07 01:54:52 +00:00