# PR #38455 完整报告

- 仓库：`vllm-project/vllm`
- 标题：[ROCm] Add RDNA 3.5/4 device IDs (gfx1150, gfx1151, gfx1201)
- 合并时间：2026-04-10 19:35
- 原文链接：http://prhub.com.cn/vllm-project/vllm/pull/38455

---

# 执行摘要

- 一句话：为 AMD RDNA 3.5/4 GPU 添加设备 ID 映射，解决 APU 设备名称识别问题。
- 推荐动作：这是一个简单的数据更新 PR，不需要深入技术分析。对于 ROCm 平台维护者，值得关注新增的设备 ID 及其架构信息（gfx1150/gfx1151/gfx1201）。对于其他工程师，可以快速浏览以了解 vLLM 如何管理硬件设备映射。

# 功能与动机

PR body 中明确指出，缺少这些设备 ID 条目会导致 `get_device_name()` 函数回退到 `amdsmi["market_name"]` 返回的通用字符串 "AMD Radeon Graphics"，这会使 APU 设备的名称识别失效，进而导致下游基于设备名称的逻辑出现错误行为。作者引用了多个相关 issue（#36615, #37151, #37472, #32180）来说明问题的普遍性。

# 实现拆解

实现非常简单，仅在 `vllm/platforms/rocm.py` 文件的 `_ROCM_DEVICE_ID_NAME_MAP` 字典中添加了三个新条目：
1. `0x150e`: "AMD_Radeon_890M" (gfx1150, Strix Point APU)
2. `0x1586`: "AMD_Radeon_8060S" (gfx1151, Strix Halo APU)
3. `0x7550`: "AMD_Radeon_RX9070XT" (gfx1201, Navi 48 离散显卡 )
同时移除了一个多余的注释行。PR 最初还创建了 `tests/rocm/test_device_id_map.py` 测试文件，但在 review 后被移除。

关键文件：
- `vllm/platforms/rocm.py`（模块 platforms）: 这是唯一被修改的代码文件，包含了 ROCm 平台设备 ID 到名称的映射字典，新增的三个条目直接影响设备识别功能。

关键符号：未识别


# 评论区精华

review 讨论主要集中在是否应该为数据字典更新添加测试。gemini-code-assist[bot] 指出其中一个测试（检查字典键重复）是无效的，因为 Python 字典本身不允许重复键。AndreasKaratzas 和 tjtanaa 都认为测试不必要，tjtanaa 直接要求移除测试文件。作者接受了这个反馈，在第二次提交中移除了测试文件，并引用了历史 PR #28279 和 #27623 作为先例，这两个 PR 都添加了设备 ID 映射条目但没有添加测试。

- 是否应为数据字典更新添加测试 (testing): 作者移除了测试文件，遵循了历史 PR 的先例。

# 风险与影响

- 风险：技术风险极低：
 1. 变更范围极小，仅修改了一个静态字典，没有涉及任何核心逻辑或算法。
 2. 没有性能、安全或兼容性风险，因为这只是设备识别信息的扩展。
 3. 唯一的潜在风险是设备 ID 映射可能不准确（如 PR body 中提到的 RX 9070 非 XT 变体可能共享相同 ID），但这属于数据准确性问题，不会导致系统故障。
- 影响：影响范围有限但重要：
 1. 对用户：使用 RDNA 3.5/4 GPU 的用户将获得正确的设备名称识别，避免因通用名称导致的配置或兼容性问题。
 2. 对系统：仅影响 ROCm 平台的设备识别逻辑，不会改变推理性能或功能行为。
 3. 对团队：遵循了项目对数据字典更新的惯例（不添加测试），保持了代码库的一致性。
- 风险标记：数据准确性依赖外部来源

# 关联脉络

- PR #28279 [ROCm] Add RX7900XTX device ID: 同样在 _ROCM_DEVICE_ID_NAME_MAP 中添加设备 ID 条目，且没有添加测试，被作者引用为先例。
- PR #27623 [ROCm] Add MI308X device ID: 同样在 _ROCM_DEVICE_ID_NAME_MAP 中添加设备 ID 条目，且没有添加测试，被作者引用为先例。
- PR #37189 [ROCm] Add amdsmi WSL2 fallback: PR body 中提到该 PR 涉及 ROCm 设备检测的不同范围，属于同一技术领域。