---
id: pr-sglang-19652
repo: sgl-project/sglang
pr: 19652
title: '[Feature] NVFP4 Marlin fallback for non-Blackwell GPUs (SM75+)'
author: Godmook
date: '2026-04-03'
url: https://github.com/sgl-project/sglang/pull/19652
source_category: upstream-code
architectures:
- sm100
tags:
- fp4
- gemm
- kernel-fusion
- moe
- nvfp4
- quantization
techniques:
- kernel-fusion
hardware_features:
- fp4
- nvfp4
kernel_types:
- gemm
- moe
- quantization
languages:
- cuda-cpp
- python
- triton
captured_at: '2026-04-27'
status: merged
merge_sha: 991f3aa5b3e7ecea5f525d57cda564722b4a6f27
inclusion_reason: kernel file changes
changed_paths:
- docs/references/environment_variables.md
- python/sglang/jit_kernel/csrc/gemm/marlin/marlin_template.h
- python/sglang/jit_kernel/csrc/gemm/marlin_moe/marlin_template.h
- python/sglang/jit_kernel/csrc/gemm/marlin_moe/moe_wna16_marlin.cuh
- python/sglang/jit_kernel/moe_wna16_marlin.py
- python/sglang/srt/environ.py
- python/sglang/srt/layers/moe/fused_moe_triton/fused_marlin_moe.py
- python/sglang/srt/layers/moe/moe_runner/marlin.py
- python/sglang/srt/layers/quantization/compressed_tensors/schemes/compressed_tensors_w4a4_nvfp4.py
- python/sglang/srt/layers/quantization/compressed_tensors/schemes/compressed_tensors_w4a4_nvfp4_moe.py
- python/sglang/srt/layers/quantization/marlin_utils_fp4.py
- python/sglang/srt/layers/quantization/modelopt_quant.py
- python/sglang/srt/model_loader/weight_utils.py
- sgl-kernel/csrc/gemm/marlin/marlin_template.h
- test/registered/quant/test_nvfp4_marlin_fallback.py
- test/registered/unit/model_loader/test_modelopt_loader.py
head_ref_oid: 169907860a80c4a7e899835e3c7793d43119cba8
artifact_dir: evidence/pull-bundles/sglang/gh-19652
---
# [Feature] NVFP4 Marlin fallback for non-Blackwell GPUs (SM75+)

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

## Changed Paths

- `docs/references/environment_variables.md`
- `python/sglang/jit_kernel/csrc/gemm/marlin/marlin_template.h`
- `python/sglang/jit_kernel/csrc/gemm/marlin_moe/marlin_template.h`
- `python/sglang/jit_kernel/csrc/gemm/marlin_moe/moe_wna16_marlin.cuh`
- `python/sglang/jit_kernel/moe_wna16_marlin.py`
- `python/sglang/srt/environ.py`
- `python/sglang/srt/layers/moe/fused_moe_triton/fused_marlin_moe.py`
- `python/sglang/srt/layers/moe/moe_runner/marlin.py`
- `python/sglang/srt/layers/quantization/compressed_tensors/schemes/compressed_tensors_w4a4_nvfp4.py`
- `python/sglang/srt/layers/quantization/compressed_tensors/schemes/compressed_tensors_w4a4_nvfp4_moe.py`
- `python/sglang/srt/layers/quantization/marlin_utils_fp4.py`
- `python/sglang/srt/layers/quantization/modelopt_quant.py`
- `python/sglang/srt/model_loader/weight_utils.py`
- `sgl-kernel/csrc/gemm/marlin/marlin_template.h`
- `test/registered/quant/test_nvfp4_marlin_fallback.py`
- `test/registered/unit/model_loader/test_modelopt_loader.py`

## Evidence Bundle

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