---
id: pr-vllm-40273
repo: vllm-project/vllm
pr: 40273
title: Fix MoE backend selection for LoRA (unquantized MoE)
author: danisereb
date: '2026-04-19'
url: https://github.com/vllm-project/vllm/pull/40273
source_category: upstream-code
architectures:
- sm100
tags:
- FlashInfer
- MoE kernel
- benchmark_test
- cutlass
- fused moe
- gemm_quant
- moe_routing
techniques:
- fine-grained-quantization
- kernel-fusion
hardware_features: []
kernel_types:
- gemm
- moe
languages:
- cuda-cpp
- cute-dsl
- triton
captured_at: '2026-05-16'
status: merged
merge_sha: d1135a508705cc899946eae2d0cb63b7d9e94bfe
inclusion_reason: Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.
changed_paths:
- tests/kernels/moe/test_unquantized_backend_selection.py
- vllm/model_executor/layers/fused_moe/oracle/unquantized.py
artifact_dir: evidence/pull-bundles/vllm/gh-40273
head_ref_oid: 8012f929edfb844d7d67c9d6ddf3a870f8a2aed4
---
# Fix MoE backend selection for LoRA (unquantized MoE)

- Repository: `vllm-project/vllm`
- PR: [40273](https://github.com/vllm-project/vllm/pull/40273)
- 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

- `tests/kernels/moe/test_unquantized_backend_selection.py`
- `vllm/model_executor/layers/fused_moe/oracle/unquantized.py`

## Evidence Bundle

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