---
id: pr-vllm-16850
repo: vllm-project/vllm
pr: 16850
title: '[Kernel] some optimizations for dense marlin and moe marlin'
author: jinzhen-lin
date: '2025-05-05'
url: https://github.com/vllm-project/vllm/pull/16850
source_category: upstream-code
architectures:
- sm100
tags:
- fp8
- gemm
- kernel-fusion
- moe
- quantization
techniques:
- kernel-fusion
hardware_features:
- fp8
kernel_types:
- gemm
- moe
- quantization
languages:
- cuda-cpp
captured_at: '2026-04-27'
status: merged
merge_sha: 1d0c9d6b2d74e6884c6c63f4856ac0a2cddd0508
inclusion_reason: kernel file changes
changed_paths:
- CMakeLists.txt
- csrc/moe/marlin_moe_wna16/.gitignore
- csrc/moe/marlin_moe_wna16/generate_kernels.py
- csrc/moe/marlin_moe_wna16/kernel.h
- csrc/moe/marlin_moe_wna16/marlin_template.h
- csrc/moe/marlin_moe_wna16/ops.cu
- csrc/quantization/gptq_marlin/.gitignore
- csrc/quantization/gptq_marlin/dequant.h
- csrc/quantization/gptq_marlin/generate_kernels.py
- csrc/quantization/gptq_marlin/gptq_marlin.cu
- csrc/quantization/gptq_marlin/kernel.h
- csrc/quantization/gptq_marlin/marlin_template.h
- csrc/torch_bindings.cpp
- tests/kernels/moe/test_moe.py
- tests/kernels/quantization/test_awq_marlin.py
- tests/kernels/quantization/test_marlin_gemm.py
- vllm/_custom_ops.py
- vllm/model_executor/layers/fused_moe/fused_marlin_moe.py
- vllm/model_executor/layers/quantization/awq_marlin.py
- vllm/model_executor/layers/quantization/compressed_tensors/schemes/compressed_tensors_w8a16_fp8.py
- vllm/model_executor/layers/quantization/fp8.py
- vllm/model_executor/layers/quantization/gptq_marlin.py
- vllm/model_executor/layers/quantization/kernels/mixed_precision/marlin.py
- vllm/model_executor/layers/quantization/utils/marlin_utils.py
- vllm/model_executor/layers/quantization/utils/marlin_utils_fp8.py
- vllm/scalar_type.py
head_ref_oid: 7dd8299cc080703965537e2f63b18c63e3a03c0e
artifact_dir: evidence/pull-bundles/vllm/gh-16850
---
# [Kernel] some optimizations for dense marlin and moe marlin

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

## Changed Paths

- `CMakeLists.txt`
- `csrc/moe/marlin_moe_wna16/.gitignore`
- `csrc/moe/marlin_moe_wna16/generate_kernels.py`
- `csrc/moe/marlin_moe_wna16/kernel.h`
- `csrc/moe/marlin_moe_wna16/marlin_template.h`
- `csrc/moe/marlin_moe_wna16/ops.cu`
- `csrc/quantization/gptq_marlin/.gitignore`
- `csrc/quantization/gptq_marlin/dequant.h`
- `csrc/quantization/gptq_marlin/generate_kernels.py`
- `csrc/quantization/gptq_marlin/gptq_marlin.cu`
- `csrc/quantization/gptq_marlin/kernel.h`
- `csrc/quantization/gptq_marlin/marlin_template.h`
- `csrc/torch_bindings.cpp`
- `tests/kernels/moe/test_moe.py`
- `tests/kernels/quantization/test_awq_marlin.py`
- `tests/kernels/quantization/test_marlin_gemm.py`
- `vllm/_custom_ops.py`
- `vllm/model_executor/layers/fused_moe/fused_marlin_moe.py`
- `vllm/model_executor/layers/quantization/awq_marlin.py`
- `vllm/model_executor/layers/quantization/compressed_tensors/schemes/compressed_tensors_w8a16_fp8.py`
- `vllm/model_executor/layers/quantization/fp8.py`
- `vllm/model_executor/layers/quantization/gptq_marlin.py`
- `vllm/model_executor/layers/quantization/kernels/mixed_precision/marlin.py`
- `vllm/model_executor/layers/quantization/utils/marlin_utils.py`
- `vllm/model_executor/layers/quantization/utils/marlin_utils_fp8.py`
- `vllm/scalar_type.py`

## Evidence Bundle

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