---
id: pr-sglang-7772
repo: sgl-project/sglang
pr: 7772
title: '[1/n]: add cutlass W4A8 moe kernel for hopper architecture'
author: yangsijia-celina
date: '2025-07-05'
url: https://github.com/sgl-project/sglang/pull/7772
source_category: upstream-code
architectures:
- sm100
- sm90
tags:
- gemm
- moe
- tma
techniques: []
hardware_features:
- tma
kernel_types:
- gemm
- moe
languages:
- cuda-cpp
- python
captured_at: '2026-04-27'
status: merged
merge_sha: da3890e82a97e9b1f970133c0fef6341a8bbf791
inclusion_reason: kernel file changes
changed_paths:
- sgl-kernel/CMakeLists.txt
- sgl-kernel/csrc/common_extension.cc
- sgl-kernel/csrc/cutlass_extensions/detail/collective/mixed_input_utils.hpp
- sgl-kernel/csrc/cutlass_extensions/gemm/collective/builders/sm90_gmma_builder_mixed_input.inl
- sgl-kernel/csrc/cutlass_extensions/gemm/collective/collective_builder_mixed_input.hpp
- sgl-kernel/csrc/cutlass_extensions/gemm/collective/collective_mma_array_mixed_input.hpp
- sgl-kernel/csrc/cutlass_extensions/gemm/collective/sm90_mma_array_tma_gmma_rs_warpspecialized_mixed_input_.hpp
- sgl-kernel/csrc/moe/cutlass_moe/w4a8/scaled_mm_entry.cu
- sgl-kernel/csrc/moe/cutlass_moe/w4a8/w4a8_get_group_starts.cuh
- sgl-kernel/csrc/moe/cutlass_moe/w4a8/w4a8_grouped_mm_c3x.cu
- sgl-kernel/csrc/moe/cutlass_moe/w4a8/w4a8_grouped_mm_c3x.cuh
- sgl-kernel/csrc/moe/cutlass_moe/w4a8/w4a8_moe_data.cu
- sgl-kernel/include/sgl_kernel_ops.h
- sgl-kernel/python/sgl_kernel/__init__.py
- sgl-kernel/python/sgl_kernel/cutlass_moe.py
- sgl-kernel/tests/test_cutlass_w4a8_moe_mm.py
head_ref_oid: d5109aa1524c4af560521ad058fa761dfa9d85d3
artifact_dir: evidence/pull-bundles/sglang/gh-7772
---
# [1/n]: add cutlass W4A8 moe kernel for hopper architecture

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

## Changed Paths

- `sgl-kernel/CMakeLists.txt`
- `sgl-kernel/csrc/common_extension.cc`
- `sgl-kernel/csrc/cutlass_extensions/detail/collective/mixed_input_utils.hpp`
- `sgl-kernel/csrc/cutlass_extensions/gemm/collective/builders/sm90_gmma_builder_mixed_input.inl`
- `sgl-kernel/csrc/cutlass_extensions/gemm/collective/collective_builder_mixed_input.hpp`
- `sgl-kernel/csrc/cutlass_extensions/gemm/collective/collective_mma_array_mixed_input.hpp`
- `sgl-kernel/csrc/cutlass_extensions/gemm/collective/sm90_mma_array_tma_gmma_rs_warpspecialized_mixed_input_.hpp`
- `sgl-kernel/csrc/moe/cutlass_moe/w4a8/scaled_mm_entry.cu`
- `sgl-kernel/csrc/moe/cutlass_moe/w4a8/w4a8_get_group_starts.cuh`
- `sgl-kernel/csrc/moe/cutlass_moe/w4a8/w4a8_grouped_mm_c3x.cu`
- `sgl-kernel/csrc/moe/cutlass_moe/w4a8/w4a8_grouped_mm_c3x.cuh`
- `sgl-kernel/csrc/moe/cutlass_moe/w4a8/w4a8_moe_data.cu`
- `sgl-kernel/include/sgl_kernel_ops.h`
- `sgl-kernel/python/sgl_kernel/__init__.py`
- `sgl-kernel/python/sgl_kernel/cutlass_moe.py`
- `sgl-kernel/tests/test_cutlass_w4a8_moe_mm.py`

## Evidence Bundle

`evidence/pull-bundles/sglang/gh-7772`
