| chore(docker): 评测镜像默认升到 CANN 9.1.0, 并让报告的 docker 字段属实 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !270 merge chore/cann-9.1.0 into master chore(docker): 评测镜像默认升到 CANN 9.1.0, 并让报告的 docker 字段属实 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: ### PR功能描述 / 为什么需要这个合入**: 镜像的默认 CANN 版本一直停在 9.0.1,而 CI 流水线的评测 pod 和 q7 都已经在跑 9.1.0 —— 也就是说"评测镜像"和"实际跑 ST 的地方"不是同一个 CANN。 !239(标题带 9.1.0)做的是"**让** 9.1.0 可用":删掉 docker/eval 里硬编码的版本与 ops URL,改成从 base 继承 + 可推导,并核实了四个 .run 都在。默认值本身没在那次的改动范围内,ARG CANN_VERSION=9.0.1 从 718a75d 建立起就没动过。 docker/dev 的情况更直接:它的默认基础镜像 ascendhub/cann:9.0.0-910b-ubuntu22.04-py3.12 **已经从 AscendHub 下架**(2026-08-17 docker manifest inspect 核实:no such manifest),按默认值已经建不出镜像了。 ### 该PR关联的issue 无关联 issue。 ### 希望检视人员了解: **torch_npu 必须跟着一起动,不动才是脱表。** 查[官方配套表](https://gitcode.com/Ascend/pytorch/blob/master/COMPATIBILITY.md)后发现:torch_npu 2.10 这条线**只配 CANN 9.1.0**(2.10.0.post4 ↔ torch 2.10.0 ↔ CANN 9.1.0),表里**没有 9.0.1 这一行**,而此前钉的 2.10.0.post2 在任何 CANN 版本下都不在表内。所以本 PR 是把这个组合**第一次**放进官方配套表,不是让它离开。docker/base/Dockerfile 顶部那句注释也一并更正了 —— 它原本写着 "torch_npu 2.10.0.post2 ↔ CANN 9.0.x",没有依据。 **报告里的 docker 字段此前在说谎。** _detect_docker() 硬编码返回 "cake-ci / CANN 9.0.0"(源码里自己标着 TODO)。镜像换代、CANN 升到 9.1.0 之后这行字仍原样出现在每一份报告里 —— 一份真实产出的报告同时写着 environment.cann = 9.1.0 和 Docker = cake-ci / CANN 9.0.0,读的人无从判断哪个可信。现在改为三级取值:镜像注入的 CANN_BENCH_IMAGE(docker/eval/build.sh 把自己的 tag 传进去)→ 容器内但未注入时返回 "container" → 不在容器里返回 None。CANN 版本一律取实际探测值,与 environment.cann 同源,不会再自相矛盾。该字段此前**没有任何测试**,这次补了 6 个。 **docker/dev 的 -devel 提成了 ARG 而不是写死。** AscendHub 的 tag 多了一段 variant 后缀,带编译工具链的是 -devel;评测要编译提交,必须用它。核实过的取值(docker manifest inspect,2026-08-17):CANN_VERSION 9.0.1 / 9.1.0 存在,9.0.0 已下架,9.2.0 未发布;DEVICE 910 / 910b / 950 / a3 / 310p 存在,**910c 不存在**(旧注释写错了);9.1.0 的 910b 与 950 的 -devel 均为 arm64 + amd64 双架构。README 里加了一句提醒:上游 tag 会下架,换版本前先 manifest inspect —— 这次就是没人查,默认值悄悄失效了。 **根 uv.lock 顺带补上了 build。** 它列在根 pyproject.toml 的依赖里,但旧 lock 中没有,已经陈旧;这次重锁时被带出来了。 **已知的、本 PR 没有处理的:** docker/base/uv.lock 与 docker/eval/uv.lock 之间 filelock 和 fsspec 两个包版本不一致(3.29.7/3.32.0、2026.6.0/2026.7.0)。这个漂移**在改动前就存在**,重锁前后完全一致,故未在本 PR 中处理。 ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [x] 文档更新 / Documentation - [ ] 测试相关 / Test - [x] 其它 / Other(依赖版本与镜像基线提升) ## 测试信息 / Testing **UT** —— 1172 passed(mac / CPU-only)。新增 tests/ut/test_setup_info.py 6 个用例覆盖 docker 字段的三条取值路径;**退回改动前 6 个全部失败**(3 fail + 3 error)。另有 6 个 auto_pipeline 进程树用例在 mac 上先前就失败,与本改动无关。 **实机(q7 / 910B2 / aarch64)** —— 用本分支的 lock 重建 docker/base 镜像成功,容器内实测: CANN_VERSION (ENV) = 9.1.0 torch = 2.10.0+cpu torch_npu = 2.10.0.post4 NPU 可用 = True | 卡数 1 H2D/D2H = [0.0, 2.0, 4.0, 6.0] 反作弊姿态保持:docker/base 仍是 toolkit-only(无 ops → 无 libopapi),容器内 torch.matmul 在 NPU 上**失败**,即内置算子仍不可达。(实测报错为 SetPrecisionMode:...LazyInitAclops NPU function error;与 docker/eval 文档记录的 561103 症状不同,本 PR 未深究该差异,只确认姿态未被升级破坏。) 改后的 docker 字段实机实测: 裸镜像(未注入) docker = container / CANN 9.1.0 注入 tag 后 docker = cann-bench-eval:1.0.0-ascend910b-aarch64-opsnone / CANN 9.1.0 **未做的:** docker/eval 镜像本身没有在本分支上重建过(9.1.0 的 eval 层此前由 !239 验证过,本 PR 只改默认值);docker/dev 未重建(其 torch/torch_npu 由 AscendHub 基础镜像自带,本仓库不钉,故无 lock 改动)。 - [x] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [x] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [x] 代码符合规范 / Code follows style guide - [x] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [x] 无硬编码敏感信息 / No secrets hardcoded - [x] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!270 | 27 天前 |
| chore(docker): 评测镜像默认升到 CANN 9.1.0, 并让报告的 docker 字段属实 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !270 merge chore/cann-9.1.0 into master chore(docker): 评测镜像默认升到 CANN 9.1.0, 并让报告的 docker 字段属实 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: ### PR功能描述 / 为什么需要这个合入**: 镜像的默认 CANN 版本一直停在 9.0.1,而 CI 流水线的评测 pod 和 q7 都已经在跑 9.1.0 —— 也就是说"评测镜像"和"实际跑 ST 的地方"不是同一个 CANN。 !239(标题带 9.1.0)做的是"**让** 9.1.0 可用":删掉 docker/eval 里硬编码的版本与 ops URL,改成从 base 继承 + 可推导,并核实了四个 .run 都在。默认值本身没在那次的改动范围内,ARG CANN_VERSION=9.0.1 从 718a75d 建立起就没动过。 docker/dev 的情况更直接:它的默认基础镜像 ascendhub/cann:9.0.0-910b-ubuntu22.04-py3.12 **已经从 AscendHub 下架**(2026-08-17 docker manifest inspect 核实:no such manifest),按默认值已经建不出镜像了。 ### 该PR关联的issue 无关联 issue。 ### 希望检视人员了解: **torch_npu 必须跟着一起动,不动才是脱表。** 查[官方配套表](https://gitcode.com/Ascend/pytorch/blob/master/COMPATIBILITY.md)后发现:torch_npu 2.10 这条线**只配 CANN 9.1.0**(2.10.0.post4 ↔ torch 2.10.0 ↔ CANN 9.1.0),表里**没有 9.0.1 这一行**,而此前钉的 2.10.0.post2 在任何 CANN 版本下都不在表内。所以本 PR 是把这个组合**第一次**放进官方配套表,不是让它离开。docker/base/Dockerfile 顶部那句注释也一并更正了 —— 它原本写着 "torch_npu 2.10.0.post2 ↔ CANN 9.0.x",没有依据。 **报告里的 docker 字段此前在说谎。** _detect_docker() 硬编码返回 "cake-ci / CANN 9.0.0"(源码里自己标着 TODO)。镜像换代、CANN 升到 9.1.0 之后这行字仍原样出现在每一份报告里 —— 一份真实产出的报告同时写着 environment.cann = 9.1.0 和 Docker = cake-ci / CANN 9.0.0,读的人无从判断哪个可信。现在改为三级取值:镜像注入的 CANN_BENCH_IMAGE(docker/eval/build.sh 把自己的 tag 传进去)→ 容器内但未注入时返回 "container" → 不在容器里返回 None。CANN 版本一律取实际探测值,与 environment.cann 同源,不会再自相矛盾。该字段此前**没有任何测试**,这次补了 6 个。 **docker/dev 的 -devel 提成了 ARG 而不是写死。** AscendHub 的 tag 多了一段 variant 后缀,带编译工具链的是 -devel;评测要编译提交,必须用它。核实过的取值(docker manifest inspect,2026-08-17):CANN_VERSION 9.0.1 / 9.1.0 存在,9.0.0 已下架,9.2.0 未发布;DEVICE 910 / 910b / 950 / a3 / 310p 存在,**910c 不存在**(旧注释写错了);9.1.0 的 910b 与 950 的 -devel 均为 arm64 + amd64 双架构。README 里加了一句提醒:上游 tag 会下架,换版本前先 manifest inspect —— 这次就是没人查,默认值悄悄失效了。 **根 uv.lock 顺带补上了 build。** 它列在根 pyproject.toml 的依赖里,但旧 lock 中没有,已经陈旧;这次重锁时被带出来了。 **已知的、本 PR 没有处理的:** docker/base/uv.lock 与 docker/eval/uv.lock 之间 filelock 和 fsspec 两个包版本不一致(3.29.7/3.32.0、2026.6.0/2026.7.0)。这个漂移**在改动前就存在**,重锁前后完全一致,故未在本 PR 中处理。 ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [x] 文档更新 / Documentation - [ ] 测试相关 / Test - [x] 其它 / Other(依赖版本与镜像基线提升) ## 测试信息 / Testing **UT** —— 1172 passed(mac / CPU-only)。新增 tests/ut/test_setup_info.py 6 个用例覆盖 docker 字段的三条取值路径;**退回改动前 6 个全部失败**(3 fail + 3 error)。另有 6 个 auto_pipeline 进程树用例在 mac 上先前就失败,与本改动无关。 **实机(q7 / 910B2 / aarch64)** —— 用本分支的 lock 重建 docker/base 镜像成功,容器内实测: CANN_VERSION (ENV) = 9.1.0 torch = 2.10.0+cpu torch_npu = 2.10.0.post4 NPU 可用 = True | 卡数 1 H2D/D2H = [0.0, 2.0, 4.0, 6.0] 反作弊姿态保持:docker/base 仍是 toolkit-only(无 ops → 无 libopapi),容器内 torch.matmul 在 NPU 上**失败**,即内置算子仍不可达。(实测报错为 SetPrecisionMode:...LazyInitAclops NPU function error;与 docker/eval 文档记录的 561103 症状不同,本 PR 未深究该差异,只确认姿态未被升级破坏。) 改后的 docker 字段实机实测: 裸镜像(未注入) docker = container / CANN 9.1.0 注入 tag 后 docker = cann-bench-eval:1.0.0-ascend910b-aarch64-opsnone / CANN 9.1.0 **未做的:** docker/eval 镜像本身没有在本分支上重建过(9.1.0 的 eval 层此前由 !239 验证过,本 PR 只改默认值);docker/dev 未重建(其 torch/torch_npu 由 AscendHub 基础镜像自带,本仓库不钉,故无 lock 改动)。 - [x] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [x] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [x] 代码符合规范 / Code follows style guide - [x] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [x] 无硬编码敏感信息 / No secrets hardcoded - [x] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!270 | 27 天前 |
| chore(docker): 评测镜像默认升到 CANN 9.1.0, 并让报告的 docker 字段属实 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !270 merge chore/cann-9.1.0 into master chore(docker): 评测镜像默认升到 CANN 9.1.0, 并让报告的 docker 字段属实 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: ### PR功能描述 / 为什么需要这个合入**: 镜像的默认 CANN 版本一直停在 9.0.1,而 CI 流水线的评测 pod 和 q7 都已经在跑 9.1.0 —— 也就是说"评测镜像"和"实际跑 ST 的地方"不是同一个 CANN。 !239(标题带 9.1.0)做的是"**让** 9.1.0 可用":删掉 docker/eval 里硬编码的版本与 ops URL,改成从 base 继承 + 可推导,并核实了四个 .run 都在。默认值本身没在那次的改动范围内,ARG CANN_VERSION=9.0.1 从 718a75d 建立起就没动过。 docker/dev 的情况更直接:它的默认基础镜像 ascendhub/cann:9.0.0-910b-ubuntu22.04-py3.12 **已经从 AscendHub 下架**(2026-08-17 docker manifest inspect 核实:no such manifest),按默认值已经建不出镜像了。 ### 该PR关联的issue 无关联 issue。 ### 希望检视人员了解: **torch_npu 必须跟着一起动,不动才是脱表。** 查[官方配套表](https://gitcode.com/Ascend/pytorch/blob/master/COMPATIBILITY.md)后发现:torch_npu 2.10 这条线**只配 CANN 9.1.0**(2.10.0.post4 ↔ torch 2.10.0 ↔ CANN 9.1.0),表里**没有 9.0.1 这一行**,而此前钉的 2.10.0.post2 在任何 CANN 版本下都不在表内。所以本 PR 是把这个组合**第一次**放进官方配套表,不是让它离开。docker/base/Dockerfile 顶部那句注释也一并更正了 —— 它原本写着 "torch_npu 2.10.0.post2 ↔ CANN 9.0.x",没有依据。 **报告里的 docker 字段此前在说谎。** _detect_docker() 硬编码返回 "cake-ci / CANN 9.0.0"(源码里自己标着 TODO)。镜像换代、CANN 升到 9.1.0 之后这行字仍原样出现在每一份报告里 —— 一份真实产出的报告同时写着 environment.cann = 9.1.0 和 Docker = cake-ci / CANN 9.0.0,读的人无从判断哪个可信。现在改为三级取值:镜像注入的 CANN_BENCH_IMAGE(docker/eval/build.sh 把自己的 tag 传进去)→ 容器内但未注入时返回 "container" → 不在容器里返回 None。CANN 版本一律取实际探测值,与 environment.cann 同源,不会再自相矛盾。该字段此前**没有任何测试**,这次补了 6 个。 **docker/dev 的 -devel 提成了 ARG 而不是写死。** AscendHub 的 tag 多了一段 variant 后缀,带编译工具链的是 -devel;评测要编译提交,必须用它。核实过的取值(docker manifest inspect,2026-08-17):CANN_VERSION 9.0.1 / 9.1.0 存在,9.0.0 已下架,9.2.0 未发布;DEVICE 910 / 910b / 950 / a3 / 310p 存在,**910c 不存在**(旧注释写错了);9.1.0 的 910b 与 950 的 -devel 均为 arm64 + amd64 双架构。README 里加了一句提醒:上游 tag 会下架,换版本前先 manifest inspect —— 这次就是没人查,默认值悄悄失效了。 **根 uv.lock 顺带补上了 build。** 它列在根 pyproject.toml 的依赖里,但旧 lock 中没有,已经陈旧;这次重锁时被带出来了。 **已知的、本 PR 没有处理的:** docker/base/uv.lock 与 docker/eval/uv.lock 之间 filelock 和 fsspec 两个包版本不一致(3.29.7/3.32.0、2026.6.0/2026.7.0)。这个漂移**在改动前就存在**,重锁前后完全一致,故未在本 PR 中处理。 ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [x] 文档更新 / Documentation - [ ] 测试相关 / Test - [x] 其它 / Other(依赖版本与镜像基线提升) ## 测试信息 / Testing **UT** —— 1172 passed(mac / CPU-only)。新增 tests/ut/test_setup_info.py 6 个用例覆盖 docker 字段的三条取值路径;**退回改动前 6 个全部失败**(3 fail + 3 error)。另有 6 个 auto_pipeline 进程树用例在 mac 上先前就失败,与本改动无关。 **实机(q7 / 910B2 / aarch64)** —— 用本分支的 lock 重建 docker/base 镜像成功,容器内实测: CANN_VERSION (ENV) = 9.1.0 torch = 2.10.0+cpu torch_npu = 2.10.0.post4 NPU 可用 = True | 卡数 1 H2D/D2H = [0.0, 2.0, 4.0, 6.0] 反作弊姿态保持:docker/base 仍是 toolkit-only(无 ops → 无 libopapi),容器内 torch.matmul 在 NPU 上**失败**,即内置算子仍不可达。(实测报错为 SetPrecisionMode:...LazyInitAclops NPU function error;与 docker/eval 文档记录的 561103 症状不同,本 PR 未深究该差异,只确认姿态未被升级破坏。) 改后的 docker 字段实机实测: 裸镜像(未注入) docker = container / CANN 9.1.0 注入 tag 后 docker = cann-bench-eval:1.0.0-ascend910b-aarch64-opsnone / CANN 9.1.0 **未做的:** docker/eval 镜像本身没有在本分支上重建过(9.1.0 的 eval 层此前由 !239 验证过,本 PR 只改默认值);docker/dev 未重建(其 torch/torch_npu 由 AscendHub 基础镜像自带,本仓库不钉,故无 lock 改动)。 - [x] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [x] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [x] 代码符合规范 / Code follows style guide - [x] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [x] 无硬编码敏感信息 / No secrets hardcoded - [x] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!270 | 27 天前 |
| feat(docker): 评测镜像跨架构 + 9.1.0 + 950PR 支持 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !239 merge feat/docker-eval-cross-arch into master feat(docker): 评测镜像跨架构 + 9.1.0 + 950PR 支持 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: <!-- 感谢您的合入申请! --> ### 当前PR是否有AI参与: [x] 否 [ ] 是 __1. AI Agent 平台: __2. AI 模型: __3. Prompt上下文 : ### PR功能描述 / 为什么需要这个合入**: <!-- 本 PR 做了什么,为什么需要 / What does this PR do and why --> 添加评测镜像跨架构 + CANN 9.1.0 + 950PR 支持 ### 该PR关联的issue *(格式为fixes #<issue号>, 或者resolves #<issue号>)*: fixes # ### 希望检视人员了解: ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [ ] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [ ] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [ ] 代码符合规范 / Code follows style guide - [ ] 测试添加并通过 / Tests added and passed - [ ] 文档已更新 / Docs updated if needed - [ ] 无硬编码敏感信息 / No secrets hardcoded - [ ] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!239 | 1 个月前 |
| chore(docker): 评测镜像默认升到 CANN 9.1.0, 并让报告的 docker 字段属实 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !270 merge chore/cann-9.1.0 into master chore(docker): 评测镜像默认升到 CANN 9.1.0, 并让报告的 docker 字段属实 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: ### PR功能描述 / 为什么需要这个合入**: 镜像的默认 CANN 版本一直停在 9.0.1,而 CI 流水线的评测 pod 和 q7 都已经在跑 9.1.0 —— 也就是说"评测镜像"和"实际跑 ST 的地方"不是同一个 CANN。 !239(标题带 9.1.0)做的是"**让** 9.1.0 可用":删掉 docker/eval 里硬编码的版本与 ops URL,改成从 base 继承 + 可推导,并核实了四个 .run 都在。默认值本身没在那次的改动范围内,ARG CANN_VERSION=9.0.1 从 718a75d 建立起就没动过。 docker/dev 的情况更直接:它的默认基础镜像 ascendhub/cann:9.0.0-910b-ubuntu22.04-py3.12 **已经从 AscendHub 下架**(2026-08-17 docker manifest inspect 核实:no such manifest),按默认值已经建不出镜像了。 ### 该PR关联的issue 无关联 issue。 ### 希望检视人员了解: **torch_npu 必须跟着一起动,不动才是脱表。** 查[官方配套表](https://gitcode.com/Ascend/pytorch/blob/master/COMPATIBILITY.md)后发现:torch_npu 2.10 这条线**只配 CANN 9.1.0**(2.10.0.post4 ↔ torch 2.10.0 ↔ CANN 9.1.0),表里**没有 9.0.1 这一行**,而此前钉的 2.10.0.post2 在任何 CANN 版本下都不在表内。所以本 PR 是把这个组合**第一次**放进官方配套表,不是让它离开。docker/base/Dockerfile 顶部那句注释也一并更正了 —— 它原本写着 "torch_npu 2.10.0.post2 ↔ CANN 9.0.x",没有依据。 **报告里的 docker 字段此前在说谎。** _detect_docker() 硬编码返回 "cake-ci / CANN 9.0.0"(源码里自己标着 TODO)。镜像换代、CANN 升到 9.1.0 之后这行字仍原样出现在每一份报告里 —— 一份真实产出的报告同时写着 environment.cann = 9.1.0 和 Docker = cake-ci / CANN 9.0.0,读的人无从判断哪个可信。现在改为三级取值:镜像注入的 CANN_BENCH_IMAGE(docker/eval/build.sh 把自己的 tag 传进去)→ 容器内但未注入时返回 "container" → 不在容器里返回 None。CANN 版本一律取实际探测值,与 environment.cann 同源,不会再自相矛盾。该字段此前**没有任何测试**,这次补了 6 个。 **docker/dev 的 -devel 提成了 ARG 而不是写死。** AscendHub 的 tag 多了一段 variant 后缀,带编译工具链的是 -devel;评测要编译提交,必须用它。核实过的取值(docker manifest inspect,2026-08-17):CANN_VERSION 9.0.1 / 9.1.0 存在,9.0.0 已下架,9.2.0 未发布;DEVICE 910 / 910b / 950 / a3 / 310p 存在,**910c 不存在**(旧注释写错了);9.1.0 的 910b 与 950 的 -devel 均为 arm64 + amd64 双架构。README 里加了一句提醒:上游 tag 会下架,换版本前先 manifest inspect —— 这次就是没人查,默认值悄悄失效了。 **根 uv.lock 顺带补上了 build。** 它列在根 pyproject.toml 的依赖里,但旧 lock 中没有,已经陈旧;这次重锁时被带出来了。 **已知的、本 PR 没有处理的:** docker/base/uv.lock 与 docker/eval/uv.lock 之间 filelock 和 fsspec 两个包版本不一致(3.29.7/3.32.0、2026.6.0/2026.7.0)。这个漂移**在改动前就存在**,重锁前后完全一致,故未在本 PR 中处理。 ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [x] 文档更新 / Documentation - [ ] 测试相关 / Test - [x] 其它 / Other(依赖版本与镜像基线提升) ## 测试信息 / Testing **UT** —— 1172 passed(mac / CPU-only)。新增 tests/ut/test_setup_info.py 6 个用例覆盖 docker 字段的三条取值路径;**退回改动前 6 个全部失败**(3 fail + 3 error)。另有 6 个 auto_pipeline 进程树用例在 mac 上先前就失败,与本改动无关。 **实机(q7 / 910B2 / aarch64)** —— 用本分支的 lock 重建 docker/base 镜像成功,容器内实测: CANN_VERSION (ENV) = 9.1.0 torch = 2.10.0+cpu torch_npu = 2.10.0.post4 NPU 可用 = True | 卡数 1 H2D/D2H = [0.0, 2.0, 4.0, 6.0] 反作弊姿态保持:docker/base 仍是 toolkit-only(无 ops → 无 libopapi),容器内 torch.matmul 在 NPU 上**失败**,即内置算子仍不可达。(实测报错为 SetPrecisionMode:...LazyInitAclops NPU function error;与 docker/eval 文档记录的 561103 症状不同,本 PR 未深究该差异,只确认姿态未被升级破坏。) 改后的 docker 字段实机实测: 裸镜像(未注入) docker = container / CANN 9.1.0 注入 tag 后 docker = cann-bench-eval:1.0.0-ascend910b-aarch64-opsnone / CANN 9.1.0 **未做的:** docker/eval 镜像本身没有在本分支上重建过(9.1.0 的 eval 层此前由 !239 验证过,本 PR 只改默认值);docker/dev 未重建(其 torch/torch_npu 由 AscendHub 基础镜像自带,本仓库不钉,故无 lock 改动)。 - [x] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [x] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [x] 代码符合规范 / Code follows style guide - [x] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [x] 无硬编码敏感信息 / No secrets hardcoded - [x] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!270 | 27 天前 |
| feat(docker): 评测镜像跨架构 + 9.1.0 + 950PR 支持 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !239 merge feat/docker-eval-cross-arch into master feat(docker): 评测镜像跨架构 + 9.1.0 + 950PR 支持 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: <!-- 感谢您的合入申请! --> ### 当前PR是否有AI参与: [x] 否 [ ] 是 __1. AI Agent 平台: __2. AI 模型: __3. Prompt上下文 : ### PR功能描述 / 为什么需要这个合入**: <!-- 本 PR 做了什么,为什么需要 / What does this PR do and why --> 添加评测镜像跨架构 + CANN 9.1.0 + 950PR 支持 ### 该PR关联的issue *(格式为fixes #<issue号>, 或者resolves #<issue号>)*: fixes # ### 希望检视人员了解: ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [ ] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [ ] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [ ] 代码符合规范 / Code follows style guide - [ ] 测试添加并通过 / Tests added and passed - [ ] 文档已更新 / Docs updated if needed - [ ] 无硬编码敏感信息 / No secrets hardcoded - [ ] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!239 | 1 个月前 |
| feat(docker): 评测镜像跨架构 + 9.1.0 + 950PR 支持 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !239 merge feat/docker-eval-cross-arch into master feat(docker): 评测镜像跨架构 + 9.1.0 + 950PR 支持 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: <!-- 感谢您的合入申请! --> ### 当前PR是否有AI参与: [x] 否 [ ] 是 __1. AI Agent 平台: __2. AI 模型: __3. Prompt上下文 : ### PR功能描述 / 为什么需要这个合入**: <!-- 本 PR 做了什么,为什么需要 / What does this PR do and why --> 添加评测镜像跨架构 + CANN 9.1.0 + 950PR 支持 ### 该PR关联的issue *(格式为fixes #<issue号>, 或者resolves #<issue号>)*: fixes # ### 希望检视人员了解: ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [ ] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [ ] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [ ] 代码符合规范 / Code follows style guide - [ ] 测试添加并通过 / Tests added and passed - [ ] 文档已更新 / Docs updated if needed - [ ] 无硬编码敏感信息 / No secrets hardcoded - [ ] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!239 | 1 个月前 |
| chore(docker): 评测镜像默认升到 CANN 9.1.0, 并让报告的 docker 字段属实 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !270 merge chore/cann-9.1.0 into master chore(docker): 评测镜像默认升到 CANN 9.1.0, 并让报告的 docker 字段属实 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: ### PR功能描述 / 为什么需要这个合入**: 镜像的默认 CANN 版本一直停在 9.0.1,而 CI 流水线的评测 pod 和 q7 都已经在跑 9.1.0 —— 也就是说"评测镜像"和"实际跑 ST 的地方"不是同一个 CANN。 !239(标题带 9.1.0)做的是"**让** 9.1.0 可用":删掉 docker/eval 里硬编码的版本与 ops URL,改成从 base 继承 + 可推导,并核实了四个 .run 都在。默认值本身没在那次的改动范围内,ARG CANN_VERSION=9.0.1 从 718a75d 建立起就没动过。 docker/dev 的情况更直接:它的默认基础镜像 ascendhub/cann:9.0.0-910b-ubuntu22.04-py3.12 **已经从 AscendHub 下架**(2026-08-17 docker manifest inspect 核实:no such manifest),按默认值已经建不出镜像了。 ### 该PR关联的issue 无关联 issue。 ### 希望检视人员了解: **torch_npu 必须跟着一起动,不动才是脱表。** 查[官方配套表](https://gitcode.com/Ascend/pytorch/blob/master/COMPATIBILITY.md)后发现:torch_npu 2.10 这条线**只配 CANN 9.1.0**(2.10.0.post4 ↔ torch 2.10.0 ↔ CANN 9.1.0),表里**没有 9.0.1 这一行**,而此前钉的 2.10.0.post2 在任何 CANN 版本下都不在表内。所以本 PR 是把这个组合**第一次**放进官方配套表,不是让它离开。docker/base/Dockerfile 顶部那句注释也一并更正了 —— 它原本写着 "torch_npu 2.10.0.post2 ↔ CANN 9.0.x",没有依据。 **报告里的 docker 字段此前在说谎。** _detect_docker() 硬编码返回 "cake-ci / CANN 9.0.0"(源码里自己标着 TODO)。镜像换代、CANN 升到 9.1.0 之后这行字仍原样出现在每一份报告里 —— 一份真实产出的报告同时写着 environment.cann = 9.1.0 和 Docker = cake-ci / CANN 9.0.0,读的人无从判断哪个可信。现在改为三级取值:镜像注入的 CANN_BENCH_IMAGE(docker/eval/build.sh 把自己的 tag 传进去)→ 容器内但未注入时返回 "container" → 不在容器里返回 None。CANN 版本一律取实际探测值,与 environment.cann 同源,不会再自相矛盾。该字段此前**没有任何测试**,这次补了 6 个。 **docker/dev 的 -devel 提成了 ARG 而不是写死。** AscendHub 的 tag 多了一段 variant 后缀,带编译工具链的是 -devel;评测要编译提交,必须用它。核实过的取值(docker manifest inspect,2026-08-17):CANN_VERSION 9.0.1 / 9.1.0 存在,9.0.0 已下架,9.2.0 未发布;DEVICE 910 / 910b / 950 / a3 / 310p 存在,**910c 不存在**(旧注释写错了);9.1.0 的 910b 与 950 的 -devel 均为 arm64 + amd64 双架构。README 里加了一句提醒:上游 tag 会下架,换版本前先 manifest inspect —— 这次就是没人查,默认值悄悄失效了。 **根 uv.lock 顺带补上了 build。** 它列在根 pyproject.toml 的依赖里,但旧 lock 中没有,已经陈旧;这次重锁时被带出来了。 **已知的、本 PR 没有处理的:** docker/base/uv.lock 与 docker/eval/uv.lock 之间 filelock 和 fsspec 两个包版本不一致(3.29.7/3.32.0、2026.6.0/2026.7.0)。这个漂移**在改动前就存在**,重锁前后完全一致,故未在本 PR 中处理。 ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [x] 文档更新 / Documentation - [ ] 测试相关 / Test - [x] 其它 / Other(依赖版本与镜像基线提升) ## 测试信息 / Testing **UT** —— 1172 passed(mac / CPU-only)。新增 tests/ut/test_setup_info.py 6 个用例覆盖 docker 字段的三条取值路径;**退回改动前 6 个全部失败**(3 fail + 3 error)。另有 6 个 auto_pipeline 进程树用例在 mac 上先前就失败,与本改动无关。 **实机(q7 / 910B2 / aarch64)** —— 用本分支的 lock 重建 docker/base 镜像成功,容器内实测: CANN_VERSION (ENV) = 9.1.0 torch = 2.10.0+cpu torch_npu = 2.10.0.post4 NPU 可用 = True | 卡数 1 H2D/D2H = [0.0, 2.0, 4.0, 6.0] 反作弊姿态保持:docker/base 仍是 toolkit-only(无 ops → 无 libopapi),容器内 torch.matmul 在 NPU 上**失败**,即内置算子仍不可达。(实测报错为 SetPrecisionMode:...LazyInitAclops NPU function error;与 docker/eval 文档记录的 561103 症状不同,本 PR 未深究该差异,只确认姿态未被升级破坏。) 改后的 docker 字段实机实测: 裸镜像(未注入) docker = container / CANN 9.1.0 注入 tag 后 docker = cann-bench-eval:1.0.0-ascend910b-aarch64-opsnone / CANN 9.1.0 **未做的:** docker/eval 镜像本身没有在本分支上重建过(9.1.0 的 eval 层此前由 !239 验证过,本 PR 只改默认值);docker/dev 未重建(其 torch/torch_npu 由 AscendHub 基础镜像自带,本仓库不钉,故无 lock 改动)。 - [x] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [x] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [x] 代码符合规范 / Code follows style guide - [x] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [x] 无硬编码敏感信息 / No secrets hardcoded - [x] 提交信息符合规范 / Commit message follows convention See merge request: cann/cann-bench!270 | 27 天前 |