Prhub

#6942 [hardware, perf] fix: update AMD GPU FLOPS values

原始 PR 作者 Vivicai1005 合并时间 2026-07-06 20:47 文件变更 1 提交数 1 评论 0 代码增减 +3 / -1

执行摘要

更新 AMD GPU FLOPS 数据表格

AMD 官方 BF16/FP16 稠密峰值在 MI300X 上公布约为 1307 TFLOPS,此前使用的 1336e12 有偏差;MI350X 和 MI355X 未被收录,导致在这些 GPU 上运行训练时 MFU 无法正确计算(get_device_flops() 返回 inf,MFU 显示为 0)。详见 PR body。

该 PR 为一次简单的硬件参数修正,改动小且正确性明确,值得快速合并。开发者若涉及 AMD GPU 的性能评测或 MFU 监控,应关注此变更以确保数据准确性。

讨论亮点

无 review 讨论。PR 被 wuxibin89 直接批准,仅有一条来自 gemini-code-assist[bot] 的自动评论,无实际反馈。

实现拆解

仅修改 verl/utils/flops_counter.py 中的 _DEVICE_FLOPS 字典:

  1. "MI300X": 1336e12 修正为 "MI300X": 1307e12
  2. 新增 "MI350X": 2300e12
  3. 新增 "MI355X": 2500e12
    无其他文件变更,未涉及配置、测试或文档更新。
文件 模块 状态 重要度
verl/utils/flops_counter.py 工具模块 modified 5.07

关键源码片段

verl/utils/flops_counter.py core-logic

唯一变更文件,修正了 MI300X 峰值 FLOPS 并新增 MI350X/MI355X 条目,直接影响 AMD GPU 上 MFU 计算的正确性。

# verl/utils/flops_counter.py_DEVICE_FLOPS = {
    "CPU": 448e9,
    "GB200": 2.5e15,
    "B200": 2.25e15,
    # MI300X: 修正为 AMD 官方 BF16/FP16 稠密峰值 ~1307 TFLOPS
    "MI300X": 1307e12,
    # 新增 MI350X 和 MI355X ( 官方 BF16 稠密峰值 )
    "MI350X": 2300e12, # 2.3 PFLOPS
    "MI355X": 2500e12, # 2.5 PFLOPS
    "H100": 989e12,
    "H800": 989e12,
    "H200": 989e12,
    "A100": 312e12,
    "A800": 312e12,
    "L40S": 362.05e12,
    "L40": 181.05e12,
    "A40": 149.7e12,
    "L20": 119.5e12,
    "H20": 148e12,
    "910B": 354e12,
    "A2G3": 354e12,
    "Ascend950DT": 432e12,
    "Ascend910": 354e12,
    "RTX 3070 Ti": 21.75e12,
}

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险极低。仅修改静态 FLOPS 常量字典,修正值和新增条目均来自 AMD 官方公布数据。可能存在的风险:若官方数据后续更新或不同精度下峰值不同,需同步更新;但当前变更已注明使用 BF16/FP16 稠密峰值,标注清楚即可。

影响范围小,仅影响 AMD MI300X、MI350X、MI355X GPU 上的 MFU 计算。修正后 MI300X 用户会看到 MFU 从 0(或错误值)变为更准确的值;新增的 MI350X 和 MI355X 用户可正常计算 MFU。对 NVIDIA、Ascend 等其他硬件无影响。

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论