dylan
ddcfbad431
feat: pybind wrapper for CUTLASS batched GEMM → MoE decode path
Based on verified result (issue #68):
CUTLASS Cu10 TensorOp batched: 2.462ms (8 experts, 1 launch)
vs 8× torch.matmul: 4.6ms (8 launches)
vs Python F.linear loop: 10.36ms
New files:
ex_engine/xllm_kernels/cuda/bindings/corex_batched_gemm_bind.cpp
pybind11 wrapper: batched_gemm_fp16() + moe_decode_fused()
ex_engine/xllm_kernels/cuda/corex_batched_gemm_kernel.cu
CUTLASS GemmBatched<half> kernel (from cat_files/batched_gemm.cu)
qwen3_6_scripts/build_corex_batched_gemm.sh
Build script for BI-V100 (ivcore10)
Modified:
qwen3_6_scripts/qwen3_5.py
import corex_batched_gemm + _USE_COREX_BATCHED_GEMM flag
Tier 1.5 in MoE decode: after corex_direct_routed, before corex_gather
Build on device: bash qwen3_6_scripts/build_corex_batched_gemm.sh
Output: prebuilt/corex-3.2.3-ivcore10/corex_batched_gemm.so
2026-08-15 11:54:26 +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-15 11:54:26 +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:47:37 +00:00
2026-08-15 05:41:03 +00:00
2026-08-15 05:31:33 +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-15 06:15:17 +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:59:51 +00:00
2026-08-15 05:27:43 +00:00
2026-08-14 12:03:52 +00:00
2026-08-14 11:40:13 +00:00
2026-08-14 12:07:00 +00:00
2026-08-15 05:08:11 +00:00
2026-08-14 17:23:41 +00:00
2026-08-15 05:17:13 +00:00
2026-08-14 17:02:55 +00:00
2026-08-14 01:06:49 +00:00
2026-08-15 11:54:26 +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