---
id: pr-vllm-31528
repo: vllm-project/vllm
pr: 31528
title: '[FIX] Add NO_MUL activation support for modular kernel path'
author: danielafrimi
date: '2026-01-12'
url: https://github.com/vllm-project/vllm/pull/31528
source_category: upstream-code
architectures:
- sm100
tags:
- gemm
- kernel-fusion
- moe
techniques:
- kernel-fusion
hardware_features: []
kernel_types:
- gemm
- moe
languages:
- cute-dsl
- triton
captured_at: '2026-04-27'
status: merged
merge_sha: 3f72639d36a15b348c3dfee211daa3da8140736f
inclusion_reason: kernel file changes
changed_paths:
- tests/kernels/moe/test_triton_moe_no_act_mul.py
- vllm/model_executor/layers/fused_moe/batched_deep_gemm_moe.py
- vllm/model_executor/layers/fused_moe/cutlass_moe.py
- vllm/model_executor/layers/fused_moe/deep_gemm_moe.py
- vllm/model_executor/layers/fused_moe/fallback.py
- vllm/model_executor/layers/fused_moe/flashinfer_cutedsl_moe.py
- vllm/model_executor/layers/fused_moe/flashinfer_cutlass_moe.py
- vllm/model_executor/layers/fused_moe/fused_batched_moe.py
- vllm/model_executor/layers/fused_moe/fused_marlin_moe.py
- vllm/model_executor/layers/fused_moe/fused_moe.py
- vllm/model_executor/layers/fused_moe/gpt_oss_triton_kernels_moe.py
- vllm/model_executor/layers/fused_moe/modular_kernel.py
- vllm/model_executor/layers/fused_moe/rocm_aiter_fused_moe.py
- vllm/model_executor/layers/fused_moe/triton_cutlass_moe.py
- vllm/model_executor/layers/fused_moe/triton_deep_gemm_moe.py
- vllm/model_executor/layers/fused_moe/trtllm_moe.py
- vllm/model_executor/layers/fused_moe/utils.py
head_ref_oid: e5c5630309777db6828f380eb43441a2804b46ba
artifact_dir: evidence/pull-bundles/vllm/gh-31528
---
# [FIX] Add NO_MUL activation support for modular kernel path

- Repository: `vllm-project/vllm`
- PR: [31528](https://github.com/vllm-project/vllm/pull/31528)
- Decision: `kernel file changes`
- Reason: kernel file changes

## Changed Paths

- `tests/kernels/moe/test_triton_moe_no_act_mul.py`
- `vllm/model_executor/layers/fused_moe/batched_deep_gemm_moe.py`
- `vllm/model_executor/layers/fused_moe/cutlass_moe.py`
- `vllm/model_executor/layers/fused_moe/deep_gemm_moe.py`
- `vllm/model_executor/layers/fused_moe/fallback.py`
- `vllm/model_executor/layers/fused_moe/flashinfer_cutedsl_moe.py`
- `vllm/model_executor/layers/fused_moe/flashinfer_cutlass_moe.py`
- `vllm/model_executor/layers/fused_moe/fused_batched_moe.py`
- `vllm/model_executor/layers/fused_moe/fused_marlin_moe.py`
- `vllm/model_executor/layers/fused_moe/fused_moe.py`
- `vllm/model_executor/layers/fused_moe/gpt_oss_triton_kernels_moe.py`
- `vllm/model_executor/layers/fused_moe/modular_kernel.py`
- `vllm/model_executor/layers/fused_moe/rocm_aiter_fused_moe.py`
- `vllm/model_executor/layers/fused_moe/triton_cutlass_moe.py`
- `vllm/model_executor/layers/fused_moe/triton_deep_gemm_moe.py`
- `vllm/model_executor/layers/fused_moe/trtllm_moe.py`
- `vllm/model_executor/layers/fused_moe/utils.py`

## Evidence Bundle

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