# 单卡 R9700 二次开发 SGLang：MXFP4 原生内核

> 单卡 R9700 32G 二次开发 SGLang，Qwen3.8 27B 从 AWQ 改造成 MXFP4 原生内核：PP 2000 / TG 90 t/s，上下文 229K。买的是用上 RDNA4 的 FP4 硬件。

![R9700 二次开发 SGLang 流程示意](/assets/articles/lcz/r9700-sglang/hero.jpg)

> 单卡 R9700 32G 二次开发 SGLang，Qwen3.8 27B 从 AWQ 改造成 MXFP4 原生内核：PP 2000 / TG 90 t/s，上下文 229K。

## 背景

看到有大佬在开发双 R9700 高并发方案，加上 SGLang 的缓存树优势，决定自己上手改造一个**单卡**版本——大多数人买不起两张卡，也没有能插两张卡的机器。

## 环境

| 项目 | 规格 |
| --- | --- |
| GPU | R9700 32G（gfx1201） |
| 系统 | ROCm 7.2.4 |
| 引擎 | SGLang v0.5.20 + 72 个编号补丁 |
| 模型 | Qwen3.8-27B 混合 GDN（AWQ 原始权重） |

## 核心改造：AWQ → MXFP4

把 Qwen3.8-27B 从 AWQ（INT4 checkpoint）改造成 **MXFP4 原生内核**。一句话总结：这条路买的是"用上 RDNA4 的 FP4 硬件"和"少读权重"，**不是省显存**——MXFP4 权重其实略大于 AWQ（4.25 vs 4.125 bit/param）。

## 实测数据

| 指标 | 数值 |
| --- | --- |
| Prefill | 1913 t/s |
| Decode | 91.3 t/s |
| 上下文 | 229,376（KV 池 232,926 tokens） |
| 视觉能力 | 保留 |
| 相对最初可用状态（PP 1379、ctx 90K） | PP +39%、上下文 +154% |
| 相对 MXFP4 上线前 | TG +21% |

## 关键启动参数

```bash
MODEL=/data/models/qwen38-awq QUANT=awq MEMF=0.94 \
CTX=229376 MAMBA=3 CHUNK=2048 MAX_RUN=1
```

## 一句话

单卡 R9700 + 二次开发 SGLang，是目前 RDNA4 平台上 27B 模型 prefill 最快的方案之一。代价是 72 个补丁的维护成本和 ROCm 的折腾成本。


---
来源：https://laobanclaw.top/articles/r9700-sglang-mxfp4-2000pps/（AI 军火库）
