---
id: pr-vllm-40574
repo: vllm-project/vllm
pr: 40574
title: '[MoE] Move cutlass moe to fused_moe/experts/'
author: Jackmin801
date: '2026-04-24'
url: https://github.com/vllm-project/vllm/pull/40574
source_category: upstream-code
architectures:
- sm100
tags:
- MoE kernel
- benchmark kernel
- benchmark_test
- cutlass
- fused moe
- gemm_quant
- moe_routing
techniques:
- fine-grained-quantization
- kernel-fusion
hardware_features:
- fp4
- fp8
- mxfp4
- nvfp4
kernel_types:
- gemm
- moe
languages:
- cuda-cpp
- cute-dsl
- triton
captured_at: '2026-05-16'
status: merged
merge_sha: 079a4cf399ad548d442fd92bfffbfbe460b66133
inclusion_reason: Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.
changed_paths:
- benchmarks/kernels/benchmark_cutlass_moe_fp8.py
- benchmarks/kernels/benchmark_cutlass_moe_nvfp4.py
- benchmarks/kernels/benchmark_grouped_gemm_cutlass.py
- docs/design/moe_kernel_features.md
- tests/kernels/moe/modular_kernel_tools/mk_objects.py
- tests/kernels/moe/test_cutlass_moe.py
- tests/kernels/moe/test_nvfp4_moe.py
- vllm/model_executor/layers/fused_moe/__init__.py
- vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py
- vllm/model_executor/layers/fused_moe/oracle/fp8.py
- vllm/model_executor/layers/fused_moe/oracle/nvfp4.py
- vllm/model_executor/layers/fused_moe/triton_cutlass_moe.py
- vllm/model_executor/layers/quantization/compressed_tensors/compressed_tensors_moe/compressed_tensors_moe_w4a4_mxfp4.py
- vllm/model_executor/layers/quantization/compressed_tensors/compressed_tensors_moe/compressed_tensors_moe_w4a8_fp8.py
artifact_dir: evidence/pull-bundles/vllm/gh-40574
head_ref_oid: 66b4b96ffa9c51fb898a626a633728a5b69f28da
---
# [MoE] Move cutlass moe to fused_moe/experts/

- Repository: `vllm-project/vllm`
- PR: [40574](https://github.com/vllm-project/vllm/pull/40574)
- Decision: `Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.`
- Reason: Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.

## Changed Paths

- `benchmarks/kernels/benchmark_cutlass_moe_fp8.py`
- `benchmarks/kernels/benchmark_cutlass_moe_nvfp4.py`
- `benchmarks/kernels/benchmark_grouped_gemm_cutlass.py`
- `docs/design/moe_kernel_features.md`
- `tests/kernels/moe/modular_kernel_tools/mk_objects.py`
- `tests/kernels/moe/test_cutlass_moe.py`
- `tests/kernels/moe/test_nvfp4_moe.py`
- `vllm/model_executor/layers/fused_moe/__init__.py`
- `vllm/model_executor/layers/fused_moe/experts/cutlass_moe.py`
- `vllm/model_executor/layers/fused_moe/oracle/fp8.py`
- `vllm/model_executor/layers/fused_moe/oracle/nvfp4.py`
- `vllm/model_executor/layers/fused_moe/triton_cutlass_moe.py`
- `vllm/model_executor/layers/quantization/compressed_tensors/compressed_tensors_moe/compressed_tensors_moe_w4a4_mxfp4.py`
- `vllm/model_executor/layers/quantization/compressed_tensors/compressed_tensors_moe/compressed_tensors_moe_w4a8_fp8.py`

## Evidence Bundle

`evidence/pull-bundles/vllm/gh-40574`
