claude
06d7713db6
feat: batched MoE expert GEMM — replaces Python for-loop
...
ixformer probe results:
✗ moe_w16a16_group_gemm NOT in ixformer .so
✗ CUTLASS grouped GEMM needs cuda/std (variadic function error on corex)
✓ ixformer_linear EXISTS (fused matmul)
✓ torch.mm works (uses corex cublas)
Solution: moe_batched_gemm.cu
- C++ loop over experts (eliminates Python overhead)
- torch::mm for GEMM (corex cublas, not F.linear Python)
- Fused silu_and_mul CUDA kernel (not PyTorch ops)
- Weighted scatter-add in C++
- Skips empty experts (no wasted compute)
Integration in qwen3_5.py:
_USE_XLLM_MOE_GEMM dispatches to moe_experts_forward()
Falls back to Python for-loop if not available
Build: bash qwen3_6_scripts/build_xllm_kernels.sh
2026-08-14 11:43:46 +00:00
..
2026-08-14 03:51:43 +00:00
2026-08-14 11:34:23 +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-14 11:43:46 +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 10:11:10 +00:00
2026-08-14 11:40:13 +00:00
2026-08-14 01:06:49 +00:00
2026-08-14 11:43:46 +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 10:11:10 +00:00
2026-08-14 08:21:48 +00:00
2026-08-14 08:01:23 +00:00
2026-08-14 11:23:49 +00:00
2026-08-14 06:56:00 +00:00