Prhub

#22108 Fix Python 3.11 f-string lint error in deepgemm Blackwell benchmark

原始 PR 作者 BBuf 合并时间 2026-04-04 21:15 文件变更 1 提交数 1 评论 1 代码增减 +2 / -2

执行摘要

修复 DeepSeek V3 基准测试脚本中 Python 3.11 不兼容的 f-string 语法错误。

根据PR body描述,该修复是为了解决由PR #17707引入的Python 3.11不兼容f-string语法问题,该问题导致pre-commit钩子(如check-ast和debug-statements)在CPython 3.11下失败。这是一个热修复分支,旨在快速恢复CI的稳定性,不影响当前工作分支。

该PR变更简单直接,无需精读。但可关注review中提到的plot_name冲突问题,如果团队运行相关基准测试,建议后续PR中修复以避免数据覆盖。

讨论亮点

review中仅有一条来自gemini-code-assist[bot]的评论,指出两个函数(get_benchmark_plot_friendly和get_benchmark)使用了相同的plot_name,可能导致输出文件(CSV/PNG)在顺序运行时相互覆盖。建议添加后缀(如"-friendly")以区分。但该评论未被采纳或进一步讨论,PR直接合并。

实现拆解

仅修改了一个文件:benchmark/kernels/deepseek/benchmark_deepgemm_dsv3_router_gemm_blackwell.py。具体改动是将两处f-string中的嵌套双引号改为转义单引号,例如从f"...tp-{"-".join(...)}..."改为f"...tp-{\'-\'.join(...)}...",以符合Python 3.11的语法要求。

文件 模块 状态 重要度
benchmark/kernels/deepseek/benchmark_deepgemm_dsv3_router_gemm_blackwell.py benchmark/deepseek modified 3.0

关键符号

get_benchmark_plot_friendly get_benchmark

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

plot_name 冲突可能导致输出文件覆盖 正确性

gemini-code-assist[bot] 指出 get_benchmark_plot_friendly 和 get_benchmark 函数使用相同的 plot_name,在顺序运行时可能导致 CSV/PNG 文件相互覆盖。

结论:未采纳建议,PR 直接合并,问题未解决。 · 待处理

风险与影响

风险极低。变更仅涉及语法修复,不改变逻辑或功能。潜在风险包括:

  1. 如果其他文件存在类似语法问题,可能未被覆盖;
  2. review中提到的plot_name冲突可能导致基准测试结果覆盖,但这不是本PR的修复范围,且影响限于本地测试文件管理。

影响范围小。仅影响DeepSeek V3在Blackwell GPU上的基准测试脚本。修复后,pre-commit检查在Python 3.11环境下将不再失败,提升CI流程的稳定性。对用户和系统无直接影响。

潜在数据覆盖风险

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论