| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: 迁移 Ascend C 样例至 ASC 前端 Co-authored-by: xiao_hhh<guohui37@huawei.com> # message auto-generated for no-merge-commit merge: !5323 merge fix_ascendc_cmake into master fix: 迁移 Ascend C 样例至 ASC 前端 Created-by: xiao_hhh Commit-by: xiao_hhh Merged-by: cann-robot Description: # Pull Request ## 描述 将 40 个实际编译 Ascend C Kernel 的 Runtime example 从 legacy --cce-aicore-lang 构建链迁移到 ASC CMake 前端,统一使用 find_package(ASC)、ASC language 和显式 NPU 架构映射。 同时保留样例原有执行行为,复用公共 Kernel 源文件,补齐 FatBin 安装规则,并保留 D2D 同步拷贝场景所需的显式流同步。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. CANN 9.1.0、Ascend 910B3、Driver 25.5.0:40/40 Kernel target 编译通过,59/59 Device ELF 包含 ParamSummary,35/35 可执行单机样例通过。 2. CANN 9.2.0-beta.2、Ascend 910B3、Driver 25.5.0:40/40 Kernel target 编译通过,59/59 Device ELF 包含 ParamSummary;安装版可构建的 34 个单机样例全部通过,0_launch_kernel 的 simple/placeholder 模式均通过。 3. 使用当前源码 Runtime 补测 9.2-beta.2 安装包尚未提供的接口:binary_enumerate_functions、binary_get_function_count、launch_blocking 均编译并真机运行通过,ldd -r 无未定义符号。 4. pre-commit run --files <本次74个文件>、clang-format、OAT 和 git diff --check 均通过。 说明:跨服务器物理内存共享样例需要双机环境,未执行运行验证;9.2-beta.2 环境未安装匹配的 910B OPS 包,因此两个依赖 aclnnAdd 的 model 样例仅完成 ASC Kernel 与元数据验证,不将混用 9.1 OPS 的结果计为 9.2 通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已确认本次变更无需更新接口文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 仅包含 74 个本次 ASC 前端迁移及 pre-commit 修复涉及的 example/ 文件,不包含本地构建产物、验证日志或其他工作区文件。 See merge request: cann/runtime!5323 | 22 天前 | |
feat: 新增组件内存排查样例(#1200) Co-authored-by: 2403_89963296<2540257541@qq.com> # message auto-generated for no-merge-commit merge: !5750 merge feat/component-memory-triage-20261021 into master feat: 新增组件内存排查样例(#1200) Created-by: 2403_89963296 Commit-by: 2403_89963296 Merged-by: cann-robot Description: # Pull Request ## 描述 排查组件内存占用时,需要根据当前占用与历史峰值确定优先检查的组件。本 PR 新增 19_component_memory_triage,使用 aclrtGetMemUsageInfo 获取单 Device 组件快照,校验统计数据,并按可配置的每组件阈值输出 CURRENT_PRESSURE、HISTORICAL_PEAK 或 WITHIN_BUDGET。 查询数组填满时扩容重查;达到样例保护上限仍填满则失败,避免把截断结果当作完整报告。默认阈值为当前 64 MiB、峰值 128 MiB。新增源码、运行入口、双语说明及直接父主题导航,共 7 个文件。组件统计不用于推算剩余可分配内存或精确业务分配增量。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue Closes #1200 https://gitcode.com/cann/runtime/issues/1200 Issue 负责人:Yanxijiu(2403_89963296)。合并后关闭关联 Issue。 ## 如何测试 1. 在受支持的 A3 Ascend910_9362、CANN 9.3.0 环境,设置 ASCEND_INSTALL_PATH 为实际 CANN 安装目录,进入样例目录执行: bash bash run.sh bash run.sh 1 128 bash run.sh 64 1 三次构建运行均成功,分别得到 WITHIN_BUDGET、CURRENT_PRESSURE、HISTORICAL_PEAK。实测组件当前占用为 29458432 Byte、峰值为 29470720 Byte;已核对组件排序、当前占用不大于峰值及各判断与返回统计一致。实际运行结果会随环境变化。 2. 验证参数 0、-1、1x、溢出 MiB、非法第二阈值和多余参数均被拒绝;bash run.sh 0 将程序失败传播为非零退出码;缺失 ASCEND_INSTALL_PATH 时脚本失败。失败运行未输出成功标记。 3. 对本任务全部 7 个文件执行仓库 Pre-commit(clang-format、OAT),使用 PRE_COMMIT_FROM_REF=HEAD 确保实际扫描显式文件清单。格式化后检查差异并复跑,退出码为 0 且文件无改写。git diff --check、bash -n、API 清单/双语文档/链接检查通过;每个 C/C++ 函数不超过 50 个非空非注释行。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - API 支持范围为 A2/A3,A2 尚未实机验证;A5(Ascend 950PR/Ascend 950DT)不支持本接口。 - 基于上游 master 创建独立分支,仅包含本样例和直接父主题导航;上游未提供 develop 分支。 - 远端 CodeCheck 未验证:已查询本 PR 流水线记录,当前 total_count=0,暂无 CodeCheck_precommit、CodeCheck_style Job 或 openLiBing 报告。后续需在本 PR 流水线页面复查上述 Job 及 openLiBing 最终报告;本地检查不替代远端结果。 See merge request: cann/runtime!5750 | 11 天前 | |
fix: reject unequal sample output lengths before comparison Co-authored-by: Ethan_Zou<tianjun.zou@foxmail.com> # message auto-generated for no-merge-commit merge: !5385 merge docs/runtime-sample-output-length-check-20261003 into master fix: reject unequal sample output lengths before comparison Created-by: Ethan_Zou Commit-by: Ethan_Zou Merged-by: cann-robot Description: # Pull Request ## 描述 两份verify_result.py直接把float16文件送入np.isclose,未检查元素数量。output=[1]、golden=[1,1,1]及反向场景会经NumPy广播得到全True并输出SUCCESS,实际输出长度错误被掩盖;双空文件还会除0。相同校验模板的两个样例合并修复。 比较前要求两文件元素数量相等且非空,非法长度返回False;两份样例共用example/common/verify_float16.py,并用符号链接保留各样例脚本入口,消除重复文件。正常等长容差判据保持原实现。新增真实二进制文件的Host回归。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新(源码行为与Host回归;无独立用户文档修改) ## 关联的Issue Fixes #1053 ## 如何测试 同一Host回归在干净基线6失败4通过,修复后10通过;两份真实CLI另有6项正确结果/错误长度/错误数值退出码检查通过。仓库适用pre-commit hooks与diff --check通过。无NPU,未执行设备样例。 仅执行Host语法、C声明或源代码合同检查;无NPU,未执行设备API、模型加载或性能测试。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测(上述Host验证) - [x] 我已更新相关源码说明和Host回归用例 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经阅读贡献指南,并遵守相关提交规范 ## 其他信息 基于 494adaff232b823869f292d1b8100ecaf05948a1,PR只有一个提交;提交后评论 /compile。 ## AI 参与 使用 OpenAI Codex(GPT-6 系列)审查代码与文档,在 Host 侧复现、核对已有报告并准备修复。提交者账号为 Ethan_Zou。 See merge request: cann/runtime!5385 | 21 天前 | |
fix: reject unequal sample output lengths before comparison Co-authored-by: Ethan_Zou<tianjun.zou@foxmail.com> # message auto-generated for no-merge-commit merge: !5385 merge docs/runtime-sample-output-length-check-20261003 into master fix: reject unequal sample output lengths before comparison Created-by: Ethan_Zou Commit-by: Ethan_Zou Merged-by: cann-robot Description: # Pull Request ## 描述 两份verify_result.py直接把float16文件送入np.isclose,未检查元素数量。output=[1]、golden=[1,1,1]及反向场景会经NumPy广播得到全True并输出SUCCESS,实际输出长度错误被掩盖;双空文件还会除0。相同校验模板的两个样例合并修复。 比较前要求两文件元素数量相等且非空,非法长度返回False;两份样例共用example/common/verify_float16.py,并用符号链接保留各样例脚本入口,消除重复文件。正常等长容差判据保持原实现。新增真实二进制文件的Host回归。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新(源码行为与Host回归;无独立用户文档修改) ## 关联的Issue Fixes #1053 ## 如何测试 同一Host回归在干净基线6失败4通过,修复后10通过;两份真实CLI另有6项正确结果/错误长度/错误数值退出码检查通过。仓库适用pre-commit hooks与diff --check通过。无NPU,未执行设备样例。 仅执行Host语法、C声明或源代码合同检查;无NPU,未执行设备API、模型加载或性能测试。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测(上述Host验证) - [x] 我已更新相关源码说明和Host回归用例 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经阅读贡献指南,并遵守相关提交规范 ## 其他信息 基于 494adaff232b823869f292d1b8100ecaf05948a1,PR只有一个提交;提交后评论 /compile。 ## AI 参与 使用 OpenAI Codex(GPT-6 系列)审查代码与文档,在 Host 侧复现、核对已有报告并准备修复。提交者账号为 Ethan_Zou。 See merge request: cann/runtime!5385 | 21 天前 | |
【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 | 2 个月前 | |
fix: 0_acl_log目录下面应该也要有个run.sh,要可以单独运行 (#996) Co-authored-by: zhangjie<zhangjie230@huawei.com> # message auto-generated for no-merge-commit merge: !5267 merge fix-issue-996 into master fix: 0_acl_log目录下面应该也要有个run.sh,要可以单独运行 (#996) Created-by: newstarzj Commit-by: zhangjie Merged-by: cann-robot Description: ## 描述 - 修复摘要: 0_acl_log目录下面应该也要有个run.sh,要可以单独运行,可以参考adump下的0_adump_args实现 - 变更文件: - example/5_performance/log/0_acl_log/run.sh - example/5_performance/log/run.sh ### Diff 摘要 text example/5_performance/log/0_acl_log/run.sh | 35 +++++++++++++++++++++++++++++++++ example/5_performance/log/run.sh | 18 ++++----------- 2 files changed, 39 insertions(+), 14 deletions(-) ## 变更类型 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## 关联的Issue https://gitcode.com/cann/runtime/issues/996 ## 如何测试 - 测试结论: PASS - 检测到代码变更文件 2 个: example/5_performance/log/0_acl_log/run.sh, example/5_performance/log/run.sh - 测试日志包含通过信号 - 测试日志覆盖计划测试项 4 条 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 ## 风险和遗留问题 - (none) See merge request: cann/runtime!5267 | 1 个月前 | |
fix: 迁移 Ascend C 样例至 ASC 前端 Co-authored-by: xiao_hhh<guohui37@huawei.com> # message auto-generated for no-merge-commit merge: !5323 merge fix_ascendc_cmake into master fix: 迁移 Ascend C 样例至 ASC 前端 Created-by: xiao_hhh Commit-by: xiao_hhh Merged-by: cann-robot Description: # Pull Request ## 描述 将 40 个实际编译 Ascend C Kernel 的 Runtime example 从 legacy --cce-aicore-lang 构建链迁移到 ASC CMake 前端,统一使用 find_package(ASC)、ASC language 和显式 NPU 架构映射。 同时保留样例原有执行行为,复用公共 Kernel 源文件,补齐 FatBin 安装规则,并保留 D2D 同步拷贝场景所需的显式流同步。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. CANN 9.1.0、Ascend 910B3、Driver 25.5.0:40/40 Kernel target 编译通过,59/59 Device ELF 包含 ParamSummary,35/35 可执行单机样例通过。 2. CANN 9.2.0-beta.2、Ascend 910B3、Driver 25.5.0:40/40 Kernel target 编译通过,59/59 Device ELF 包含 ParamSummary;安装版可构建的 34 个单机样例全部通过,0_launch_kernel 的 simple/placeholder 模式均通过。 3. 使用当前源码 Runtime 补测 9.2-beta.2 安装包尚未提供的接口:binary_enumerate_functions、binary_get_function_count、launch_blocking 均编译并真机运行通过,ldd -r 无未定义符号。 4. pre-commit run --files <本次74个文件>、clang-format、OAT 和 git diff --check 均通过。 说明:跨服务器物理内存共享样例需要双机环境,未执行运行验证;9.2-beta.2 环境未安装匹配的 910B OPS 包,因此两个依赖 aclnnAdd 的 model 样例仅完成 ASC Kernel 与元数据验证,不将混用 9.1 OPS 的结果计为 9.2 通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已确认本次变更无需更新接口文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 仅包含 74 个本次 ASC 前端迁移及 pre-commit 修复涉及的 example/ 文件,不包含本地构建产物、验证日志或其他工作区文件。 See merge request: cann/runtime!5323 | 22 天前 | |
fix: reject unequal sample output lengths before comparison Co-authored-by: Ethan_Zou<tianjun.zou@foxmail.com> # message auto-generated for no-merge-commit merge: !5385 merge docs/runtime-sample-output-length-check-20261003 into master fix: reject unequal sample output lengths before comparison Created-by: Ethan_Zou Commit-by: Ethan_Zou Merged-by: cann-robot Description: # Pull Request ## 描述 两份verify_result.py直接把float16文件送入np.isclose,未检查元素数量。output=[1]、golden=[1,1,1]及反向场景会经NumPy广播得到全True并输出SUCCESS,实际输出长度错误被掩盖;双空文件还会除0。相同校验模板的两个样例合并修复。 比较前要求两文件元素数量相等且非空,非法长度返回False;两份样例共用example/common/verify_float16.py,并用符号链接保留各样例脚本入口,消除重复文件。正常等长容差判据保持原实现。新增真实二进制文件的Host回归。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新(源码行为与Host回归;无独立用户文档修改) ## 关联的Issue Fixes #1053 ## 如何测试 同一Host回归在干净基线6失败4通过,修复后10通过;两份真实CLI另有6项正确结果/错误长度/错误数值退出码检查通过。仓库适用pre-commit hooks与diff --check通过。无NPU,未执行设备样例。 仅执行Host语法、C声明或源代码合同检查;无NPU,未执行设备API、模型加载或性能测试。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测(上述Host验证) - [x] 我已更新相关源码说明和Host回归用例 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经阅读贡献指南,并遵守相关提交规范 ## 其他信息 基于 494adaff232b823869f292d1b8100ecaf05948a1,PR只有一个提交;提交后评论 /compile。 ## AI 参与 使用 OpenAI Codex(GPT-6 系列)审查代码与文档,在 Host 侧复现、核对已有报告并准备修复。提交者账号为 Ethan_Zou。 See merge request: cann/runtime!5385 | 21 天前 | |
fix: 迁移 Ascend C 样例至 ASC 前端 Co-authored-by: xiao_hhh<guohui37@huawei.com> # message auto-generated for no-merge-commit merge: !5323 merge fix_ascendc_cmake into master fix: 迁移 Ascend C 样例至 ASC 前端 Created-by: xiao_hhh Commit-by: xiao_hhh Merged-by: cann-robot Description: # Pull Request ## 描述 将 40 个实际编译 Ascend C Kernel 的 Runtime example 从 legacy --cce-aicore-lang 构建链迁移到 ASC CMake 前端,统一使用 find_package(ASC)、ASC language 和显式 NPU 架构映射。 同时保留样例原有执行行为,复用公共 Kernel 源文件,补齐 FatBin 安装规则,并保留 D2D 同步拷贝场景所需的显式流同步。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. CANN 9.1.0、Ascend 910B3、Driver 25.5.0:40/40 Kernel target 编译通过,59/59 Device ELF 包含 ParamSummary,35/35 可执行单机样例通过。 2. CANN 9.2.0-beta.2、Ascend 910B3、Driver 25.5.0:40/40 Kernel target 编译通过,59/59 Device ELF 包含 ParamSummary;安装版可构建的 34 个单机样例全部通过,0_launch_kernel 的 simple/placeholder 模式均通过。 3. 使用当前源码 Runtime 补测 9.2-beta.2 安装包尚未提供的接口:binary_enumerate_functions、binary_get_function_count、launch_blocking 均编译并真机运行通过,ldd -r 无未定义符号。 4. pre-commit run --files <本次74个文件>、clang-format、OAT 和 git diff --check 均通过。 说明:跨服务器物理内存共享样例需要双机环境,未执行运行验证;9.2-beta.2 环境未安装匹配的 910B OPS 包,因此两个依赖 aclnnAdd 的 model 样例仅完成 ASC Kernel 与元数据验证,不将混用 9.1 OPS 的结果计为 9.2 通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已确认本次变更无需更新接口文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 仅包含 74 个本次 ASC 前端迁移及 pre-commit 修复涉及的 example/ 文件,不包含本地构建产物、验证日志或其他工作区文件。 See merge request: cann/runtime!5323 | 22 天前 | |
【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 | 2 个月前 | |
Initial commit | 10 个月前 | |
【PR】: 一级目录下的中英文README文件中增加跳转 Co-authored-by: ycm0028<yechengmei@huawei.com> # message auto-generated for no-merge-commit merge: !5242 merge master into master 【PR】: 一级目录下的中英文README文件中增加跳转 Created-by: ycm0028 Commit-by: ycm0028 Merged-by: cann-robot Description: # Pull Request ## 描述 一级目录下的中英文README文件中增加跳转 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 人工检查修改后的md文件 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5242 | 1 个月前 | |
【PR】: 一级目录下的中英文README文件中增加跳转 Co-authored-by: ycm0028<yechengmei@huawei.com> # message auto-generated for no-merge-commit merge: !5242 merge master into master 【PR】: 一级目录下的中英文README文件中增加跳转 Created-by: ycm0028 Commit-by: ycm0028 Merged-by: cann-robot Description: # Pull Request ## 描述 一级目录下的中英文README文件中增加跳转 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 人工检查修改后的md文件 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5242 | 1 个月前 | |
【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 | 2 个月前 | |
fix: 修复set_sample_env.sh中SOC_VERSION正则匹配不支持含连字符形态 Co-authored-by: good_luck_to_me<qiaoruimin@huawei.com> # message auto-generated for no-merge-commit merge: !4018 merge fix/sample-env-soc-version-regex into master fix: 修复set_sample_env.sh中SOC_VERSION正则匹配不支持含连字符形态 Created-by: good_luck_to_me Commit-by: good_luck_to_me Merged-by: cann-robot Description: ## 描述 修复 example/set_sample_env.sh 中 SOC_VERSION 正则匹配不支持含连字符形态的问题。 aclrtGetSocName() 返回的多 die 形态(如 Ascend910B4-1、Ascend910C4-1)含连字符 -,而脚本中两处正则 ^[A-Za-z0-9_]+$ 字符类不含 -,导致: - awk 提取 SOC_VERSION 失败,变量为空 - _set_soc_is_valid 校验不通过 - 脚本报错退出,所有样例无法获取 SOC_VERSION 环境变量 ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue ## 如何测试 1. 在 Ascend910B4-1 等 NPU 环境上执行 source example/set_sample_env.sh 2. 验证 SOC_VERSION 正确导出为 Ascend910B4-1 3. 模拟 helper 输出各形态字符串,验证正则匹配: - Ascend910B4-1 / Ascend910C4-1(含连字符)✅ 匹配 - Ascend910B3 / Ascend310P3(无连字符)✅ 兼容 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 改动仅涉及 example/set_sample_env.sh 两处正则字符类,在 [A-Za-z0-9_] 基础上加入 -(置于末尾避免被解释为范围符)。 See merge request: cann/runtime!4018 | 3 个月前 | |
【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 | 2 个月前 |
样例使用指导
简体中文 | English
example目录下提供了一系列Runtime接口样例,包括Device管理、Stream管理、Event管理、内存管理、Kernel执行等,供开发者参考,帮助开发者快速入门,进而掌握Runtime关键特性。
目录总览
- 0_quickstart:快速入门样例,以
aclnnAdd向量加法为入口,展示 初始化配置、Device/Stream 创建、Tensor 与 DataBuffer 管理、workspace 分配、算子执行、同步等待和资源释放流程。 - 1_basic_features:基础特性样例,包含设备管理(包括单线程、多线程)、 内存管理(包括内存复制、进程间内存共享、虚拟内存管理等)、Stream管理(包括单流任务下发、多流任务下发等)等样例。
- 2_advanced_features:高级特性样例,包括算子Kernel加载与执行、ACL Graph、Reduce和随机数生成的内置系统任务执行、Host侧回调函数下发等样例。
- 3_memory_advanced:高级内存管理样例,包括自定义内存分配器、Host内存注册、统一寻址、Stream内存操作、Stream有序内存分配等样例。
- 4_reliability:可靠性样例,包括溢出检测、错误恢复等样例。
- 5_performance:性能分析与精度调试样例。
- 6_scenarios:场景化样例,面向训练流水线、多设备推理和容错执行等典型场景。
产品支持表说明
各样例 README 中的产品支持表仅列出当前样例已完成验证或已明确声明支持情况的产品。Ascend 950PR/Ascend 950DT 为新增产品,部分历史样例尚未完成该产品验证;未在表格中列出的产品不代表不支持。若某产品明确不支持,样例 README 会在表格中以 × 标识,并根据需要补充说明。
环境准备
编译运行样例前,需获取固件、驱动及CANN软件包并安装,详细步骤请参见《CANN软件安装指南》。
若对本仓src目录下的源码有定制,那么在安装CANN软件之后,还需编译源码并部署到环境上,具体操作请参见README。
运行样例
1.下载样例代码并上传至安装CANN软件的环境,切换到样例目录。
# 此处以基础内存样例为例
cd ${git_clone_path}/example/1_basic_features/memory/0_h2h_memory_copy
2.设置环境变量。
# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
source ${install_root}/cann/set_env.sh
export ASCEND_INSTALL_PATH=${install_root}/cann
3.执行以下命令运行样例。
# 请注意部分用例的运行命令不同,具体以各用例目录下的README.md中的编译运行命令为准
bash run.sh
样例代码说明
所有样例演示了CANN Runtime API 的典型使用方式。
- 样例代码用于学习和接口理解。
- 为了突出核心流程,部分示例会简化工程化处理。
- 用于生产环境前,请补充完整的错误处理、资源管理和边界检查。
Device 复位接口使用约定
单机单进程样例通常使用 aclrtResetDeviceForce 清理当前样例占用的 Device 资源;单机多进程 IPC 样例使用 aclrtResetDevice 释放当前进程的 Device 资源,避免强制复位影响同机其他进程。