Repository navigation
Description
Current state: NPU Workbench 软件控制试点已跑通:独立检查、真实 profile、六类错误控制、A/A、参考 AB/BA、最终 validation 和身份重验全部完成;范围接受仍待记录。
Decision needed: 由 @Dong1017 记录对本轮 NPU 子集及交付标准的接受;真实 Agent/skill 收益与正式 NPU 隔离另行验收。
Next action: 复审公开样本、保留决定与 P2 修复;后续推进明确的下一项 NPU 任务或独立隔离设计。
接入验证:让 RSI 能按实际结果决定保留什么
本轮运行链:执行前冻结 → NPU baseline 检查/profile → 既有 fused reference → 错误控制 → 同码 A/A → Workbench AB/BA → 最终检查和保留决定。主 Agent 组织了预定参考控制演练,工具给出独立结果;未新增跨轮次自动搜索或强制 Agent 行为的控制器。
NPU 流程与接口 · 实测解释与决定 · 800 样本、错误控制与身份 · 四项总览。
当前交付快照 a91b913e7a71ba2d8460ea3b8f2b8964de7dafe1;真实 NPU 与软件 CI 被测源码 6308268fc6d1fbf90e9ab97b5da8af79152f39ea。后续为文档/证据整理,运行代码没有改变。Parent #252,Draft PR #338。
| 验证 | 本轮实际结果 |
|---|---|
| 正确性 | baseline / fused 各 375 项断言通过 |
| profiling | 每个选定输入由 6 个计算 kernel 变为 1 个 RmsNorm;真实设备 trace 与独立计时分开 |
| 错误控制 | 六类被拒绝;额外预检后重放也被拒绝,无 metric |
| A/A | 4 对 AB/BA,两个 shape 中位数差均小于 0.4%;原始 Workbench FAIL 是未达到收益门槛,最终正确性通过 |
| 参考比较 | 4 对 AB/BA,同步 eager 调用延迟分别降低 34.802% / 30.603%;原始 Workbench PASS |
| 证据完整性 | 800 样本全保留,actual environment 与冻结 identity 全程一致,两个 final validation 都通过 |
| 运行收尾 | 主资格和额外重放控制退出 0,单卡预约结束并释放 |
本轮决定是在该设备/runtime/float32/workload 范围内保留融合参考实现。没有统计显著性、跨机、模型/服务或技能收益外推。torch_npu.npu_rms_norm 来自已有实现,不是本轮新发明的 kernel。
同一 source CI:Python 3.10 / 3.11 各 3649 passed、20 skipped、284 subtests passed;安装包检查通过。正式 CPU artifact controls 54 passed / 0 skipped,含新增真实 cwd-shadow 拒绝控制;托管环境没有 NPU,不能用它代替远端设备证据。
- NPU 真实检查/profile/比较、错误与 no-op 控制、结果与保留决定。
- canonical-resource P2 的代码修复和 Linux 回归;原 reviewer 复审未完成。
- 正式 SkillEval NPU 产物隔离;已有 CPU sandbox 明确拒绝 NPU。
- 真实受控 Agent 两臂、skill/search 收益、provider generation、skill_eval_improve。
- 更多任务形式、设备/模型/服务验收和维护者范围接受。
题库外用户目标仍可走已有通用 Workbench,题库不是白名单。通用 validation 的后验顺序、本任务的预检与逐次输出校验分别保留;没有把 plan 预览说成全局 campaign 冻结。
维护者范围接受与项目验收仍待记录;实施与发布来自用户明确委托。Accountable implementer: @Bounty-hunter;acting contributor: Codex;parent scope / acceptance owner: @Dong1017。Issue 保持 open,PR 保持 Draft;不声明 merge、项目关闭或服务 campaign PASS。原生子项关系此前受权限限制,继续通过父索引和引用跟踪。
Earlier CPU evidence
The previous CPU delivery and evidence remain preserved at their original revisions. They are historical/software controls, not this NPU pilot's qualification. Current scope and review-fix status are stated above.
Activity
Bounty-hunter commentedon Nov 3, 2026
补充验证预登记:共享任务能否支持实际工程判断
关联 #252、#337、PR #338。现有交付已验证接口和两个消费者的运行通路;本次进一步检查一项现实错误与一个固定优化假设,公开保留原版对原版的对照。
固定输入与条件
d0ce9d785e1bead9124eed1cf3f6e9f2e0cf05db;不修改运行时、oracle 或任务定义。rmsnorm-cpu,六个现有公开 CPU float32 工作负载、axis=1、原有容差和 epsilon。x*x中间数组、保留 epsilon 的候选。(4,17,9,7)、float32 正态分布乘以 4;使用相同独立 oracle/容差。不按测试结果更换输入。min_improvement_pct=0;沿用每 case 2 warmups、5 samples。两次比较串行执行,不并行运行本地测试。功能通过条件和不满足时的处理
正确实现通过两条路径;错误实现被完整任务和 SkillEval 拒绝且没有可用性能指标;任务/grader/runtime 与实际输入一致;两次比较完整保留所有逐 case 样本与源码检查;profile 无性能 verdict。任何不满足项保留失败并修正实现或明确限制,不能用改阈值让它通过。
普通输入冒烟是否漏检、优化候选是否更快均是待观测结果,不是功能通过条件。原版对原版如获得描述性 PASS,原样记录并解释为本次噪声/协议分辨能力的限制。不会从一次 PASS 推导实际收益。
已有 cProfile 的总时长约毫秒量级;能观察调用路径,不能确认内存带宽/分配瓶颈。einsum 是源码检查提出的待检验假设。宿主机不是专用性能隔离环境。本补证不建立统计显著性、服务/GPU/NPU 收益或 agent/skill/search 收益,不改变 #252 范围或关闭状态。
执行前冻结附录
05fdde5a55f7420569fa85168c39b7873e6a4ed207d05940de5622ab9933b51e317285d0534f9935d06e1fc488ef35c56a76ab7cba2c2423e5a73ba09799ebc76d7670a62203676de519e893ca5abfaa1d1de6fca94b2b9e136c30382f8959cd{ "unchanged": { "task_id": "rmsnorm-cpu", "task_sha256": "903359c46cbbd4059325c2807532449d12beb3eec9931471c84510ba035b1677", "grader_sha256": "e12a40fd37d402668a48f5adacbada6ce864e6aadfa882862f35f767e838b4b0", "candidate_sha256": "c7bc1a3f3ec2e2396a0b2788d1f7b21c059341a7853effaf6f7131c81da292aa", "runtime_sha256": "2141480b7ee5ecc2ccc6bd0032db5c6cd6816403a8f2e790abb187e41b1ab844" }, "einsum": { "task_id": "rmsnorm-cpu", "task_sha256": "903359c46cbbd4059325c2807532449d12beb3eec9931471c84510ba035b1677", "grader_sha256": "e12a40fd37d402668a48f5adacbada6ce864e6aadfa882862f35f767e838b4b0", "candidate_sha256": "8f29ea405865f4493775ca809e37c0dd7f054dbb2b203e6290975b2e9e41b471", "runtime_sha256": "2141480b7ee5ecc2ccc6bd0032db5c6cd6816403a8f2e790abb187e41b1ab844" }, "no-eps": { "task_id": "rmsnorm-cpu", "task_sha256": "903359c46cbbd4059325c2807532449d12beb3eec9931471c84510ba035b1677", "grader_sha256": "e12a40fd37d402668a48f5adacbada6ce864e6aadfa882862f35f767e838b4b0", "candidate_sha256": "9b78a97381b4e5775af022934ea504f6eb6269915adcfb5ffc580fc68693f046", "runtime_sha256": "2141480b7ee5ecc2ccc6bd0032db5c6cd6816403a8f2e790abb187e41b1ab844" } }Bounty-hunter commentedon Nov 3, 2026
补充对照已按上方预登记执行一次,结果随 PR #338 的提交
c06b72555d4643df133c59fe7cead5a91e7b86f5保留。对照方案、结果和复现命令 · 原始汇总及全部样本
Issue 正文已保留计时稳定性未完成项。运行时、oracle 和任务定义未修改;不宣称 agent/skill/search 收益或 GPU/NPU/服务收益。原始数据一致性已独立核对,本地 Ruff 与 diff 检查通过;新提交 CI 单独记录。
[-]task: validate shared engineering tasks through Workbench and offline SkillEval[/-][+]task: connect shared tasks to RSI and verify their use[/+][-]task: connect shared tasks to RSI and verify their use[/-][+]task: integrate shared tasks into RSI and validate the optimization flow[/+]Bounty-hunter commentedon Nov 4, 2026
NPU 试点:执行前固定的验证计划
用户已明确将当前试点改为 NPU 跑通。本轮从
rmsnorm-npuaffine RMSNorm 开始,替代“CPU 试点优先”的实施顺序;已有 CPU 结果只作为历史软件控制。四子项仍按选题、契约、题包、接入分工,PR #338 保持 Draft。待测源码:
6308268fc6d1fbf90e9ab97b5da8af79152f39ea。任务与实现见 rmsnorm-npu,流程与边界。P2 canonical-loader 修复已在00c41b24纳入,等待新提交的 Linux 控制及复审;不改写原 reviewer 的 CHANGES_REQUESTED。已确认与待执行
已在有效单卡预约下完成 API 探测:Ascend 910B1、Python 3.12.13、torch 2.10.0+cpu、torch_npu 2.10.0.post4;融合输出设备为 NPU,float32 数值探测正确,已有真实 RmsNorm device trace。最后调用探测脚本中不存在的
key_averages方法导致该次脚本退出 1,故不能将它记为完整试点通过;正式 adapter 直接解析真实 hardware trace,不使用该方法。更早的容器用户名初始化失败同样保留,不计入性能数据。下面才是完整资格实验,当前尚未执行,结果另行追加。
冻结范围和门槛
compute(x, weight, *, eps);非全 1 权重和独立 scalar double/math.fsum oracle。[1,4096]、prefill[64,4096]为计时 workload,另有 zeros/large/tiny 正确性边界。每计时 case 10 次预热、25 次变化输入采样;输入、权重、oracle 和拷贝在计时外。复现入口(应由已有资源调度器包裹,路径使用本地环境值):
冻结计划、裁判、源码、逐次样本、profile、Workbench report 和错误控制均保留。该实验是预先选定的作者控制;不声称 Agent 自主发现新 kernel、真实 skill 收益或服务端到端收益。正式 SkillEval NPU 产物隔离仍未建立,CPU sandbox 不替代它。维护者范围接受与项目验收另行记录。
[-]task: integrate shared tasks into RSI and validate the optimization flow[/-][+]task: run and validate the NPU optimization workflow[/+]