| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【PR】: feat:remove all exclude Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !4195 merge master_precommit into master 【PR】: feat:remove all exclude Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 pre-commit example scripts docs,并把这些目录pre-commit排除项给去掉 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 pre-commit readme docs无新增文件 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4195 | 1 个月前 | |
【PR】: runtime安装权限规范统一 Co-authored-by: q00889097<qinhan10@huawei.com> # message auto-generated for no-merge-commit merge: !4353 merge master into master 【PR】: runtime安装权限规范统一 Created-by: qinhan123 Commit-by: q00889097 Merged-by: cann-robot Description: # Pull Request ## 描述 统一runtime安装文件及目录权限,这些权限统一由cmake控制,删除安装脚本的修改权限操作 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 根据改动后的权限出包安装验证,是否符合预期:所有目录均为750,可执行程序为750,python/shell脚本为750, share/info/包名/script目录下安装卸载脚本等统一为740,其他文件为640,符号链接为777 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4353 | 18 天前 | |
refactor: generate arch5162 unsupported ACL entry stubs Co-authored-by: zhangpengpeng8<zhangpengpeng8@hisilicon.com> # message auto-generated for no-merge-commit merge: !946 merge local_dev into master refactor: generate arch5162 unsupported ACL entry stubs Created-by: zhangpengpeng8 Commit-by: zhangpengpeng8 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 arch5162 增加 ACL 入口侧自动打桩能力,仅影响 arch5162 独立 libruntime.so: 1. 以 acl_rt_wrapper.h 中 5 组 X-Macro 为唯一签名来源,生成器解析全部 403 个 ACL C++ 包装入口,避免手工复制函数声明和参数。新增 X-Macro 接口对 arch5162 默认不支持。 2. 使用 arch5162_unsupported_acl_api.def 管理 309 个不支持入口;接口能力范围来自 [PR4491](https://gitcode.com/cann/runtime/merge_requests/4491),其中 294 个返回 ACL_ERROR_RT_FEATURE_NOT_SUPPORT、5 个返回空指针、10 个返回零值。aclrtNonBlockingLaunchBegin、aclrtNonBlockingLaunchEnd 已按默认策略纳入强桩。 3. 生成的 aclXxxImpl 强桩编入 arch5162 libruntime.so;同一产品下真实 ACL Impl provider 使用弱符号和独立函数段,强桩覆盖后由 --gc-sections 回收未使用的真实实现。 4. PR4491 的 baseline 明确支持 92 个 ACL API:91 个是 X-Macro 生成入口,aclAppLog 是生成目录外的可变参数手写入口。未取得产品支持结论的新接口不能因为进入 X-Macro 而自动成为 arch5162 真实实现。 5. X-Macro 的 403 个入口拆分为:91 个支持入口、309 个强桩入口,以及 aclmdlInitDump、aclmdlSetDump、aclmdlFinalizeDump 3 个待确认 Dump 入口。91 个支持入口和 3 个待确认入口共保留 94 个弱真实 provider,不能将 94 全部统计为“支持入口”。该机制通过 arch5162 目标属性启用,不改变其他产品的符号属性和构建流程。 6. 生成器只生成产品强桩和 provider 报告。测试侧提交固定的 C++ X-Macro 测试套,直接展开同一份产品清单;每个清单接口同时验证 aclXxxImpl 与公开 aclXxx 的返回策略,不再由 Python 生成测试源码。 7. ACL_API_REAL_PROVIDER_COUNT 固定当前 94 个弱真实 provider。新增 X-Macro 接口若未同步加入不支持清单,生成阶段会直接失败;ACLRT 接口开发 Skill 已加入同一同步要求。 非 ACL_ERROR_RT_FEATURE_NOT_SUPPORT 的 15 个接口如下: - NULLPTR 返回 nullptr:aclCreateDataBuffer、aclGetDataBufferAddr、aclrtAllocatorCreateDesc、aclrtCreateBinary、aclrtCreateGroupInfo。 - ZERO 返回 0:aclDataTypeSize、aclFloat16ToFloat、aclFloatToFloat16、aclGetDataBufferSize、aclGetDataBufferSizeV2、aclrtGetDeviceIdFromExceptionInfo、aclrtGetErrorCodeFromExceptionInfo、aclrtGetStreamIdFromExceptionInfo、aclrtGetTaskIdFromExceptionInfo、aclrtGetThreadIdFromExceptionInfo。 [PR4630](https://gitcode.com/cann/runtime/merge_requests/4630) 给出了 ACL 入口桩边界、能力范围推导、返回策略、弱真实 provider 和验证方法的完整设计分析。 调用路径保持为 libacl_rt.so 公开 ACL 入口调用 libruntime.so 中同名 aclXxxImpl。因此不支持能力在 ACL 路由入口直接结束,不再进入共享的 rtXxx 路径,也不会因为底层 Runtime API 被支持接口复用而误伤支持能力。 本 PR 仅包含实现、构建脚本、测试及 .claude/skills/aclrt-interface-development/SKILL.md 修改;不修改其他 Markdown 文件或产品文档。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 使用 PRODUCT=ascend5162a 配置并构建 runtime、acl_rt、acl_rt_impl 和 runtime_utest_arch5162,全部通过。 2. ACL 桩生成器单测 9/9、既有 Runtime 桩生成器单测 9/9 通过。 3. 固定 ACL 双入口测试 309/309 通过;rebase 最新 master 后,runtime_utest_arch5162 全量 1364/1364 通过。 4. 普通 ascendcl_utest 全量 1191/1191 通过,确认 arch5162 弱实现配置没有泄漏到普通 ACL UT 目标。 5. ELF 校验确认不支持入口 aclrtDeviceL2CacheFlushImpl 为强桩,支持入口 aclrtSetDeviceImpl 保留弱真实实现;ldd -r libacl_rt.so 未发现未解析符号。动态加载 libacl_rt.so 调用 aclrtDeviceL2CacheFlush(nullptr) 返回预期的 207000。 6. 功能引入时与 55c796246 使用相同配置对比:去符号后的 arch5162 libruntime.so 从 5,680,728 字节降至 5,193,304 字节,减少 487,424 字节,约 8.58%。当前版本进一步将两个新增 NonBlocking 入口纳入强桩,不扩大 arch5162 支持范围。 7. 对本次修改文件执行 pre-commit run --files ... 通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 本次变更不修改产品文档;Markdown 变更仅限 .claude/skills/aclrt-interface-development/SKILL.md - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 PR 采用三个可独立验证的提交:第一步引入空清单生成框架;第二步填充 arch5162 清单并启用强桩覆盖;第三步落实新增 ACL 接口默认不支持的生成门禁和 ACLRT 接口开发约束。出现问题时可按提交粒度回退。 已 rebase 至 origin/master@fa7dd7df2ddfd6b75c7ad6168b6f2dc99d1fe492,当前 head 为 22faac59e9a11a5307fdeda3aaa2810ad60739eb。最终 head 的 GitCode [线上 CI](https://gitcode.com/CANN/runtime/actions/runs/9b475d874cd1463aa183fc7001da08cc) 已通过(COMPLETED,无失败任务)。 See merge request: cann/runtime!946 | 4 天前 | |
feat: 版本号头文件生成切换工程generate_cann_version_header函数 Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !2660 merge 20260606-switch-generate-cann-version-header into master feat: 版本号头文件生成切换工程generate_cann_version_header函数 Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: # Pull Request ## 描述 版本号头文件生成切换工程generate_cann_version_header函数。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.对比修改前后runtime包二进制。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!2660 | 3 个月前 | |
fix: set_env.sh 兼容 set -u (nounset) 模式 Co-authored-by: leland17<lileliao@foxmail.com> # message auto-generated for no-merge-commit merge: !4563 merge fix/set-env-nounset-compatibility into master fix: set_env.sh 兼容 set -u (nounset) 模式 Created-by: leland17 Commit-by: leland17 Merged-by: cann-robot Description: ## 问题 当调用方 shell 开启了 set -u(nounset)模式时,source set_env.sh 会报错退出: set_env.sh: line 31: CMAKE_PREFIX_PATH: unbound variable Closes #894 ## 根因 append_env、prepend_env、remove_env 三个辅助函数中使用 eval echo "\${${name}}" 引用环境变量,在 nounset 模式下对未定义变量的引用会触发 unbound variable 错误。 ## 修复 将 \${${name}} 改为 \${${name}:-},使未定义变量安全地回退为空字符串。 ## 验证 | 场景 | 修复前 | 修复后 | |------|--------|--------| | set -u + 变量未定义 | 报错退出 | 正常退出 (exit 0) | | set -u + 变量已定义 | prepend 正常 | prepend 正常 | | 无 set -u + 变量已定义 | prepend 正常 | prepend 正常 | See merge request: cann/runtime!4563 | 21 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 18 天前 | ||
| 4 天前 | ||
| 3 个月前 | ||
| 21 天前 |