已合并
[fix]修复 dump core-id 参数在没有timelineDetail时不拦截的问题 #250
wanghaopeng创建于 14 天前
[fix]修复 dump core-id 参数在没有timelineDetail时不拦截的问题 #250
已合并
wanghaopeng创建于 14 天前
wanghaopeng
wanghaopeng成员
14 天前

1. 修改描述

在 ArgChecker 参数初始化阶段增加依赖与冲突校验,使无效组合在应用启动前失败。
按产品区分参数支持范围:--dump:仅支持 A2/A3。
--core-id:支持 A2/A3/A5。
对 A5 的 range 重放增加专属指标冲突拦截,同时不改变 A2/A3 的既有行为。
同步英文资料中的产品支持范围。

  • 修改内容:

增加 --dump 和 --core-id 对 TimelineDetail 的依赖校验:
上板模式使用 --dump=on 时,必须配置 --aic-metrics=TimelineDetail。
上板模式使用非空 --core-id 时,必须配置 --aic-metrics=TimelineDetail。
保持先检查芯片支持范围,再检查指标依赖。

明确产品支持范围:
--dump 仅支持 A2/A3,不支持 A5。
--core-id 支持 A2/A3/A5。
simulator 模式原有行为保持不变。

增加 A5 range 重放冲突校验:
A5 使用 --replay-mode=range 时,禁止同时配置 Source、PcSampling、Roofline、PipeTimeline 和 InstrTimeline。
保留 range 与 TimelineDetail、Source、MemoryDetail 的公共冲突校验。
A2/A3 的 Roofline + range 行为保持不变。

同步英文资料:
明确 A5 不支持 --dump。
明确 A5 支持 --core-id。

补充回归测试:
覆盖 A5 dump 不支持场景。
覆盖 A5 core-id 缺少 TimelineDetail 失败、配置 TimelineDetail 成功场景。
覆盖 A5 range 与各冲突指标组合失败场景。
覆盖 A2/A3 Roofline + range 兼容场景。


2. 功能验证


3. 代码检视

  • 要求:
    • 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。
    • committer评估是否需要在sig会议进行代码检视。
    • 参与检视的committer人员名单与检视时间。
    • 大于 1000 行代码原则上不允许合入,需进行备案。
  • 检视committer人员名单与检视时间:

4. 资料修改自检

  • 资料修改:

likedislike
Pull Request已成功合入, 合并人@ascend-robot
(感谢 wanghaopeng 的贡献)
atomgit-bot
atomgit-bot
14 天前 评论:

变更摘要

此 PR 修复了 --dump--core-id 参数在 device 模式下未校验 --aic-metrics=TimelineDetail 依赖关系的问题。修改集中在 ArgChecker::CheckDumpArgChecker::CheckCoreId 两个方法中:在芯片支持校验之后,新增对 config.argAicMetrics.isDeviceToSimulator 的判断,当该字段为 false(即未指定 TimelineDetail)时,直接拦截并返回明确的错误提示;同时将 ASCEND950_SERIES 补充到 --dump 的芯片支持列表中。

主要改动

  • CheckDump 新增 TimelineDetail 依赖校验:在 device 模式下,芯片支持校验通过后,增加对 config.argAicMetrics.isDeviceToSimulator 的检查,若为 false 则返回错误 "--dump requires --aic-metrics=TimelineDetail.",阻止无 TimelineDetail 时使用 --dump
  • CheckCoreId 新增 TimelineDetail 依赖校验:与 CheckDump 一致,在 device 模式下增加对 isDeviceToSimulator 的检查,若未启用则返回 "--core-id requires --aic-metrics=TimelineDetail.",确保 --core-id 仅在指定 TimelineDetail 时可用。
  • CheckDump 扩展芯片支持范围:在 device 模式的芯片白名单中新增 ChipProductType::ASCEND950_SERIES,使 ASCEND950 系列芯片也能使用 --dump 功能。
likedislike
atomgit-bot
atomgit-bot
14 天前 评论:

代码审查

✅ 未发现问题

likedislike
xzm123成员
14 天前 评论:

🤖 AIDD 文档质量检测报告

PR #250 的文档检测已全部完成。

📊 任务统计:共 5 个任务(✅ 0 完成 / ❌ 0 失败 / ⊘ 5 取消)
🐛 问题统计:共 0 个问题(致命 0 / 严重 0 / 一般 0 / 提示 0)

🔗 查看完整报告点击进入平台报告
🔗 查看 PR 检测问题点击查看问题列表

评论由 AIDD 自动生成,多次推送会增量更新本评论。

likedislike
ascend-robotascend-robot成员
14 天前 添加了label:ascend-cla/yes
ascend-robot
ascend-robot成员
14 天前 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here
You can get sig-info at here


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
repo-Ascend/msopprof yan_yw, zzzsss1234 (2/2) yan_yw (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

RainbowWhp, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
此处折叠了68条消息 查看更多
yyw成员
13 天前 评论:

/lgtm
/approve

likedislike
ascend-robotascend-robot成员
13 天前 添加了label:approved
流栎
流栎成员
13 天前 评论:

/lgtm

likedislike
ascend-robotascend-robot成员
13 天前 添加了label:lgtm
ascend-robotascend-robot成员
13 天前 合入了pull request