| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Add presmoke runner and validation reports Co-authored-by: xun_zhuge<zhugexun@hisilicon.com> # message auto-generated for no-merge-commit merge: !2900 merge presmoke_opt into master Add presmoke runner and validation reports Created-by: xun_zhuge Commit-by: xun_zhuge Merged-by: cann-robot Description: ## 描述 本 PR 将 presmoke 看护入口收敛到 scripts/run_presmoke.sh,用于统一 910B/950 全量看护和单 case 调试,同时保留旧脚本调用方依赖的成功/失败输出约定。 主要变更: - scripts/run_presmoke.sh 作为统一入口,默认不带参数时仍按 910B NPU 模式执行。 - 成功时输出 execute samples success,失败时输出 execute samples failed 并返回非 0。 - 支持固定调度顺序,尽量降低 NPU 队列空闲时间。 - 全量运行前清理 CANN opp/vendors 下已安装自定义算子包,避免历史安装污染。 - 保留自定义算子依赖顺序:custom_op_static_lib、parallel_ops_package、custom_op 以及依赖 custom op 的 aclnn/aclop/onnx/tiling_sink 等 case 按依赖顺序执行。 - 报告统一输出到 presmoke_reports/,包含最终汇总、case timing、失败列表和 stage 日志。 - npu-smi info 仅作为元信息采集,增加短超时保护,避免收尾阶段卡住。 - CPU 模式改为显式 opt-in,可通过 MODES=cpu 或 MODE=cpu 启用。 ## 关联的Issue 无。 ## 测试 本地检查: bash bash -n scripts/run_presmoke.sh PYTHONPATH=scripts python3 -m unittest discover -s scripts/presmoke/tests -v git diff --check 910B 全量 NPU 看护验证: bash ARCH=dav-2201 MODES=npu PRIMARY_CARD=7 RETRY_CARDS="1 2 3 4 5 6" bash scripts/run_presmoke.sh 结果: - planned:170 - pass/fail/skip:168/0/2 - elapsed:667s - NPU busy/idle:665.697s / 0.893s - NPU utilization:99.9% - effective status:PASS 950 全量 NPU 看护验证: bash ARCH=dav-3510 MODES=npu PRIMARY_CARD=0 bash scripts/run_presmoke.sh 结果: - planned:249 - pass/fail/skip:244/3/2 - elapsed:1758s - NPU busy/idle:1757.458s / 0.812s - NPU utilization:接近 100% - effective status:FAIL 950 剩余 3 个失败均为 build 阶段编译失败,不是 NPU run timeout: - 03_simt_api/02_features/00_framework/00_pytorch/torch_library_roll - 03_simt_api/02_features/01_api_features/00_memory_access/insert_hash_table - 03_simt_api/03_best_practices/00_memory_optimizations/cache_hint 典型错误: - double precision operation is not allowed in aicore function - no matching function for call to 'max'/'min' ## 文档更新 更新 scripts/presmoke/README.md,补充: - 默认运行方式。 - 910B/950 看护参数示例。 - 单 case 调试方式。 - CPU 模式说明。 - 报告目录和日志说明。 - 运行全量时不要中途覆盖工作目录,避免污染 build/run 分阶段产物。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [x] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [x] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!2900 | 2 个月前 |