# PR #36308 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[AMD][CI] Limit HiCache MGSM eval concurrency on ROCm
- 合并时间：2026-08-28 16:06
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/36308

---

# 执行摘要

- 一句话：限制 ROCm 上 HiCache MGSM 评估并发
- 推荐动作：值得快速浏览，作为针对特定硬件环境的测试参数调整示例。关注点：使用条件属性覆盖默认值，保持非 HIP 行为不变，最小化改动。无需深入精读。

# 功能与动机

ROCm 7.2.4 MI300 的 CI 任务 `stage-b-test-1-gpu-small-amd-rocm720 (4)` 中，`TestHiCacheMLA.test_mgsm_en` 重试后得分分别为 0.564 和 0.612，低于 0.8 的阈值。PR 说明指出，MGSM 英文包含 250 个示例，而 `MGSMEnMixin` 默认使用 1024 个客户端线程，导致整个评估并发提交，失败任务达到 250 个运行中请求。这是一个 HiCache 准确率集成测试而非最大并发压力测试，因此本 PR 旨在限制 AMD 测试负载，而不降低准确率要求。

# 实现拆解

1. **修改测试类配置**：在 `test/registered/hicache/test_hicache_variants.py` 的 `TestHiCacheMLA` 类中，新增条件属性定义：当 `_is_hip` 为真时，设置 `mgsm_en_num_threads = 32`；非 HIP 环境不定义该属性，从而继承 `MGSMEnMixin` 的默认值（1024）。
2. **保持准确率逻辑不变**：未修改 `mgsm_en_score_threshold`（仍为 0.8），也未调整其他测试逻辑，仅通过降低并发线程数来减少同时运行的请求数，从而避免因并发过高导致的准确率下降。
3. **验证**：在受影响的 ROCm 7.2.4 MI300 part 4 任务中验证通过，得分 0.872（阈值 0.8），最大 decode 批次从 250 降至 32，完整测试文件耗时 1961 秒，低于 2400 秒超时。

关键文件：
- `test/registered/hicache/test_hicache_variants.py`（模块 测试配置；类别 test；类型 test-coverage）: 唯一的变更文件，在 TestHiCacheMLA 类中为 HIP 环境添加 mgsm_en_num_threads=32，以限制并发线程数，解决 ROCm 测试准确率不达标问题。

关键符号：未识别

## 关键源码片段

### `test/registered/hicache/test_hicache_variants.py`

唯一的变更文件，在 TestHiCacheMLA 类中为 HIP 环境添加 mgsm_en_num_threads=32，以限制并发线程数，解决 ROCm 测试准确率不达标问题。

```python
class TestHiCacheMLA(HiCacheBaseServer, MMLUMixin, MGSMEnMixin):
    """HiCache with MLA model tests"""

    model_name = DEFAULT_MLA_MODEL_NAME_FOR_TEST
    hicache_args = [
        "--trust-remote-code",
        "--enable-hierarchical-cache",
    ] + (["--hicache-size", 200] if _is_hip else ["--hicache-ratio", 2])
    mmlu_score_threshold = 0.54
    mmlu_num_examples = 256
    mmlu_num_threads = 32
    mgsm_en_score_threshold = 0.8
    # 仅 HIP 环境限制 MGSM 评估的客户端线程数，降低并发压力，
    # 避免因并发过高导致准确率下降。非 HIP 环境继承默认值。
    if _is_hip:
        mgsm_en_num_threads = 32

```

# 评论区精华

无 review 评论。审核人 HaiShaw 直接批准（APPROVED）。

- 暂无高价值评论线程

# 风险与影响

- 风险：风险较低。改动仅限测试文件，不涉及生产代码。主要风险是降低并发可能影响测试对高并发场景的覆盖，但该测试定位为准确率集成测试而非压力测试。此外，如果 ROCm 环境（如 MI300）的并发限制值 32 在其他模型或配置下不适用，可能导致测试通过但未覆盖真实负载，但影响有限。
- 影响：影响范围限于 CI 测试：ROCm 上的 HiCache MLA 测试并发度降低，可能减少偶发失败，提高 CI 稳定性。对生产代码无影响。对团队而言，减少了 ROCm CI 的 flaky 失败，节省排查时间。
- 风险标记：仅测试变更，风险低

# 关联脉络

- PR #35931 [HiCache] Reject load-back specs that claim nodes pinned by an in-flight load-back: 同为 HiCache 相关稳定性修复，针对调度器崩溃，与本 PR 同在 HiCache 测试域。
- PR #36227 [HiCache] Retry L3 storage prefetch after a missed attempt: 同为 HiCache 相关优化，调整调度器预取逻辑，可能影响测试行为。
- PR #36705 [HiCache] Stop populating host-pool mmaps twice (-13% allocation time): 同为 HiCache 性能修复，涉及内存分配器，可能与并发测试相关。