---
id: pr-vllm-37503
repo: vllm-project/vllm
pr: 37503
title: '[4/n] Migrate FP4/W4A8 CUTLASS kernels to torch stable ABI'
author: mikaylagawarecki
date: '2026-03-31'
url: https://github.com/vllm-project/vllm/pull/37503
source_category: upstream-code
architectures:
- sm100
tags:
- epilogue-fusion
- fp4
- kernel-fusion
- moe
- nvfp4
- quantization
techniques:
- epilogue-fusion
- kernel-fusion
hardware_features:
- fp4
- nvfp4
kernel_types:
- moe
- quantization
languages:
- cuda-cpp
captured_at: '2026-04-17'
status: merged
merge_sha: 7c080dd3c5b794f31906aff92f4cb829cde4986a
inclusion_reason: kernel file changes
changed_paths:
- CMakeLists.txt
- csrc/cuda_vec_utils.cuh
- csrc/cutlass_extensions/cute_utils.cuh
- csrc/cutlass_extensions/epilogue/broadcast_load_epilogue_array_c3x.hpp
- csrc/cutlass_extensions/epilogue/broadcast_load_epilogue_c3x.hpp
- csrc/cutlass_extensions/torch_utils.hpp
- csrc/libtorch_stable/dispatch_utils.h
- csrc/libtorch_stable/ops.h
- csrc/libtorch_stable/quantization/cutlass_w4a8/get_group_starts.cuh
- csrc/libtorch_stable/quantization/cutlass_w4a8/w4a8_grouped_mm_entry.cu
- csrc/libtorch_stable/quantization/cutlass_w4a8/w4a8_mm_entry.cu
- csrc/libtorch_stable/quantization/cutlass_w4a8/w4a8_utils.cu
- csrc/libtorch_stable/quantization/cutlass_w4a8/w4a8_utils.cuh
- csrc/libtorch_stable/quantization/fp4/activation_nvfp4_quant_fusion_kernels.cu
- csrc/libtorch_stable/quantization/fp4/nvfp4_blockwise_moe_kernel.cu
- csrc/libtorch_stable/quantization/fp4/nvfp4_experts_quant.cu
- csrc/libtorch_stable/quantization/fp4/nvfp4_quant_entry.cu
- csrc/libtorch_stable/quantization/fp4/nvfp4_quant_kernels.cu
- csrc/libtorch_stable/quantization/fp4/nvfp4_scaled_mm_entry.cu
- csrc/libtorch_stable/quantization/fp4/nvfp4_scaled_mm_kernels.cu
- csrc/libtorch_stable/quantization/fp4/nvfp4_scaled_mm_sm120_kernels.cu
- csrc/libtorch_stable/quantization/fp4/nvfp4_utils.cuh
- csrc/libtorch_stable/torch_bindings.cpp
- csrc/libtorch_stable/torch_utils.h
- csrc/ops.h
- csrc/quantization/fp4/nvfp4_quant_entry.cu
- csrc/torch_bindings.cpp
head_ref_oid: a458333a2b53e6806573a24a1f3d13c7a3f793ec
artifact_dir: evidence/pull-bundles/vllm/gh-37503
---
# [4/n] Migrate FP4/W4A8 CUTLASS kernels to torch stable ABI

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

## Changed Paths

- `CMakeLists.txt`
- `csrc/cuda_vec_utils.cuh`
- `csrc/cutlass_extensions/cute_utils.cuh`
- `csrc/cutlass_extensions/epilogue/broadcast_load_epilogue_array_c3x.hpp`
- `csrc/cutlass_extensions/epilogue/broadcast_load_epilogue_c3x.hpp`
- `csrc/cutlass_extensions/torch_utils.hpp`
- `csrc/libtorch_stable/dispatch_utils.h`
- `csrc/libtorch_stable/ops.h`
- `csrc/libtorch_stable/quantization/cutlass_w4a8/get_group_starts.cuh`
- `csrc/libtorch_stable/quantization/cutlass_w4a8/w4a8_grouped_mm_entry.cu`
- `csrc/libtorch_stable/quantization/cutlass_w4a8/w4a8_mm_entry.cu`
- `csrc/libtorch_stable/quantization/cutlass_w4a8/w4a8_utils.cu`
- `csrc/libtorch_stable/quantization/cutlass_w4a8/w4a8_utils.cuh`
- `csrc/libtorch_stable/quantization/fp4/activation_nvfp4_quant_fusion_kernels.cu`
- `csrc/libtorch_stable/quantization/fp4/nvfp4_blockwise_moe_kernel.cu`
- `csrc/libtorch_stable/quantization/fp4/nvfp4_experts_quant.cu`
- `csrc/libtorch_stable/quantization/fp4/nvfp4_quant_entry.cu`
- `csrc/libtorch_stable/quantization/fp4/nvfp4_quant_kernels.cu`
- `csrc/libtorch_stable/quantization/fp4/nvfp4_scaled_mm_entry.cu`
- `csrc/libtorch_stable/quantization/fp4/nvfp4_scaled_mm_kernels.cu`
- `csrc/libtorch_stable/quantization/fp4/nvfp4_scaled_mm_sm120_kernels.cu`
- `csrc/libtorch_stable/quantization/fp4/nvfp4_utils.cuh`
- `csrc/libtorch_stable/torch_bindings.cpp`
- `csrc/libtorch_stable/torch_utils.h`
- `csrc/ops.h`
- `csrc/quantization/fp4/nvfp4_quant_entry.cu`
- `csrc/torch_bindings.cpp`

## Evidence Bundle

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