Repository navigation
Conversation
HBG HostArgs 入口绕过 program-mode 的 KernelArgs 初始化,原来只让 AICore 看到 DFX 开关,AICPU 没有设置记录区和 rotation table,开启 CSA 采集时因此触发 AIV 507015。通过 callable 注册传递 context 持有的 KernelArgs 地址,由 leader 在每次 replay 前读取当前窗口开关并发布 AICPU 采集配置,同时覆盖窗口关闭后的禁用状态。 注册版本更新为 2,保持 Host 与 Device 对地址及生命周期的约定一致。 不改 CSA/HCA 计算、调度算法和 graph packet 校验逻辑。 验证:a2a3 onboard 的 HBG Host/AICPU 编译通过;旧版本单卡联合 采集已复现 AIV 507015。修复后在 A3、CANN 9.2、128K/B4 上完成 CSA→HCA 三步联合采集,共六次 launch;每次 CSA 712 条、HCA 414 条 核内记录与依赖图一致,launch boundary 完整。graph/eager 的 12 项 输出及 cache/state 零容差比较通过,浮点 max_abs=0、整数差异为 0。 A5 真机、整模型 token/DSpark 和 16 卡不在本次验证范围。 同时补齐多次 replay 的 launch boundary,防止 CSA/HCA 重复 task ID 被泳道转换器混在一起。HBG 在 Host 建图时按 callable 输出依赖图, 不再分配不会产出记录的 Device dep_gen 缓冲;测试脚本分别保存两种 root 的依赖映射。相关 graph packet/slot/restore 的 55 项 CPU 用例通过。 Signed-off-by: nalinaly <nalinaly@163.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
问题与修改
HBG kernel-mode 的 HostArgs 入口绕过 program-mode 的 KernelArgs 初始化。打开泳道采集后,AICore 已开始记录,但 AICPU 没有获得记录区、rotation table 和当前窗口开关;在 A3 单卡 CSA→HCA 联合采集里,CSA 第二次调用出现 AIV 507015。关闭 DFX 的相同路径能够运行。
本 PR 补齐 HBG 的采集链路:
deps_callable_<id>.json;多 root 的 trace 可以分别匹配 CSA/HCA 依赖图。启用 Host dep_gen 时,A2/A3 不再分配无产出的 Device dep_gen 缓冲。不修改 CSA/HCA 算术、调度策略或 graph packet 校验。本 PR 是采集正确性修复,不将它计作性能优化。
验证
PyTorch/CANN 解析器仍报告 ACL→NPU flow 关联失败;NPU span、三个 step 和泳道 task 记录完整,本 PR 不声称修复该连线问题。
兼容性
HbgCallableRegistration 从 88 字节增加到 96 字节,版本从 1 更新到 2,Host 与 Device 必须使用配套构建。调用方如固定 Simpler revision / ABI pin,需同步更新后使用。
此 PR 只包含采集修复一个提交,以
feat/kernel-mode-integration-test为基线;不包含已合入的 PTO-ISA pin 更新。提交前检查:改动 C++ 文件通过 clang-format 21.1.0;headers、English-only、retired names、kernel wire isolation 及
git diff --check通过。