EngineX
7839982707
feat(EX): wire xllm CUB topk_softmax kernel into MoE routing
Upstream: xllm/kernels/cuda/moe/moe_topk_softmax_kernels.cuh (Apache 2.0)
Adapted: CHECK→TORCH_CHECK, include path fix, cuda/functional guard, pybind11
Call chain now:
qwen3_5.py:_pure_pytorch_experts()
→ _ex_moe_topk_softmax (fused CUB kernel, 1 launch)
→ fallback: torch.softmax + torch.topk (3 launches)
Files:
ex_engine/csrc/moe/moe_topk_softmax_kernels.cuh — xllm kernel (adapted)
ex_engine/csrc/moe/device_utils.cuh — xllm device utils
ex_engine/csrc/moe/moe_topk_softmax_ext.cu — pybind11 wrapper
ex_engine/python/moe_topk.py — JIT loader (same pattern as flash_qla_sm70)
qwen3_5.py — import + use in _pure_pytorch_experts()
patch_ops.sh — deploy kernel sources for JIT
2026-08-10 03:10:58 +00:00
..
2026-08-10 01:08:38 +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-07 08:56:50 +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 03:10: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 03:10:58 +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 00:15:06 +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