| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【PR】: docs/zh目录下统一修改产品名称,并将现有中文md文件名和png图片名修改为英文名 Co-authored-by: ycm0028<yechengmei@huawei.com> # message auto-generated for no-merge-commit merge: !5161 merge master into master 【PR】: docs/zh目录下统一修改产品名称,并将现有中文md文件名和png图片名修改为英文名 Created-by: ycm0028 Commit-by: ycm0028 Merged-by: cann-robot Description: # Pull Request ## 描述 docs/zh目录下统一修改产品名称,并将现有中文md文件名和png图片名修改为英文名 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 工具统一替换产品名称以及修改文件名,再人工检查所修改的文件名 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5161 | 9 天前 | |
docs: 对齐 aclmdlRIDebugPrint 链接与显式锚点 (#1035) Co-authored-by: 2403_89963296<2540257541@qq.com> # message auto-generated for no-merge-commit merge: !5357 merge docs/fix-aclmdl-ri-debug-print-anchor into master docs: 对齐 aclmdlRIDebugPrint 链接与显式锚点 (#1035) Created-by: 2403_89963296 Commit-by: 2403_89963296 Merged-by: cann-robot Description: # Pull Request ## 描述 对齐 docs/zh/api_ref/15_model_running_instance_management.md 中三处 aclmdlRIDebugPrint 链接与目标章节的显式锚点。该接口已废弃,章节使用 aclmdlRIDebugPrint_deprecated,而目录和正文引用仍指向 #aclmdlRIDebugPrint。Runtime7 静态扫描因此报告三处锚点不匹配;用户反馈 GitCode 页面点击原链接时可以跳转,因此本 PR 不将其归为已确认的 GitCode 页面跳转故障。本次仅将三处链接目标改为现有显式锚点,提升不同渲染器下的可预测性,接口说明和锚点定义不变。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue Closes #1035 ## 如何测试 1. 核对文档中的目录链接和两处正文引用均指向 <a id="aclmdlRIDebugPrint_deprecated"></a>。 2. 运行 Runtime7 易用性量化评估的 Markdown 链接静态扫描:修复前 TP005 有 3 条 anchor not found;修复后 4451/4451 条链接通过静态校验,失效链接为 0。 3. 执行 git diff --check,无空白格式错误。此文档改动不需要设备或代码编译。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 只包含一个 Markdown 文档的三处链接目标对齐;评估报告未纳入提交。GitCode 页面可跳转的反馈与静态扫描结果同时保留,便于审查口径。 See merge request: cann/runtime!5357 | 21 小时前 | |
【PR】Snapshot 备份/恢复流程重构,内存申请补充备份标记能力 Co-authored-by: weixin_47917346<zhangjunyu23@huawei.com> Co-authored-by: yinhong chen<1329312243@qq.com> # message auto-generated for no-merge-commit merge: !4942 merge master into master 【PR】Snapshot 备份/恢复流程重构,内存申请补充备份标记能力 Created-by: weixin_47917346 Commit-by: weixin_47917346;yinhong chen;zhangjunyu23@huawei.com Merged-by: cann-robot Description: ## 描述 本 PR 重构 Snapshot 备份/恢复流程,新增备份/恢复 flags、版本兼容校验和 Runtime 设备内存备份标签能力。在保持 ACL 对外接口兼容的前提下,当调用方不传 Snapshot args 时继续走原有 Runtime 备份/恢复流程;当调用方传入 args 时,进入新的驱动能力校验与驱动备份/恢复流程。 ### 备份与恢复 1. 贯通 aclrtSnapShotBackupArgs / aclrtSnapShotRestoreArgs 到 Runtime、Decorator、Driver 调用链,并在新流程中支持 backupFlags / restoreFlags 透传。 2. ACL 对外接口保持兼容:aclrtSnapShotProcessBackup / aclrtSnapShotProcessRestore 允许 args 传 nullptr。 - args == nullptr:无兼容性判断概念,直接走原有 Runtime 备份/恢复流程。 - args != nullptr:进入新流程,基于设备是否支持 FEATURE_SVM_PROCESS_DEVICE_MEM_SNAPSHOT 做兼容性判断。 3. RTS 层保留旧无参 rtSnapShotProcessBackup / rtSnapShotProcessRestore 符号和语义,同时新增 rtSnapShotProcessBackupWithArgs / rtSnapShotProcessRestoreWithArgs 承接非空 args,避免破坏旧源码和旧二进制 ABI。 4. ACL 层对非空 args 做参数校验:backupFlags / restoreFlags 仅允许 0U 或 1U,非法值直接返回参数错误,不继续下传 Runtime/Driver。reserved 为冗余保留字段,当前流程不使用。 5. 备份阶段: - args == nullptr:走原有 Runtime 备份流程。 - args != nullptr 且兼容性不通过:直接返回错误,终止备份。 - args != nullptr 且兼容性通过:记录 runtime/driver API 版本,保留 ModelSqTasksBackup / halStreamBackup,跳过 Runtime 侧旧备份逻辑,通过 NpuDriver::ProcessResBackup(args->backupFlags) 交由驱动备份设备内存。 6. 恢复阶段: - args == nullptr:走原有 Runtime 恢复流程。 - args != nullptr 且兼容性不通过:直接返回错误,终止恢复。 - args != nullptr 且兼容性通过:先校验当前恢复版本与备份版本是否一致,版本不一致直接返回错误;版本一致后调用 NpuDriver::ProcessResRestore(args->restoreFlags),并跳过 RestoreModule、OpMemoryRestore、RestoreAiCpuKernelInfo 等旧内存恢复逻辑。 - 新恢复流程仍保留 stream/event/notify 资源重建、参数池刷新、ModelRestore、ACL graph 恢复、自定义 AICPU so reload、AICPU DFX 等必要恢复流程,halStreamRestore 不跳过。 ### 内存备份标签 1. 新增 DevMemAllocWithBackupFlag 接口,在 Runtime 内部申请设备内存时同步传入 Snapshot 备份标签;接口默认使用 SNAPSHOT_REQUIRED_BACKUP,仅 optional/no_backup 场景显式传参。底层通过 FlagAddBackupBit 将 SNAPSHOT_REQUIRED_BACKUP / SNAPSHOT_OPTIONAL_BACKUP 转换为驱动侧 MEM_SNAPSHOT_REQUIRED / MEM_SNAPSHOT_OPTIONAL 标志位。 2. 标签仅在 args != nullptr 且兼容性通过的新驱动流程中参与备份/恢复范围判断;当 args == nullptr 走旧 Runtime 流程时,标签不参与旧流程判断。 3. 标签划分原则: - SNAPSHOT_REQUIRED_BACKUP:新驱动流程中无论 backupFlags / restoreFlags 为 0U 还是 1U,都必须由驱动备份/恢复的 Runtime 内部设备内存。 - SNAPSHOT_OPTIONAL_BACKUP:新驱动流程中仅当 backupFlags / restoreFlags 为 1U 时由驱动备份/恢复的内存,适用于非必须备份,或恢复阶段可重新构建/重新下发的 Runtime 辅助内存。 - SNAPSHOT_NO_BACKUP:新驱动流程中也不需要驱动备份/恢复的内存,适用于恢复过程中的临时设备 buffer,用完即释放,不参与 Snapshot 备份恢复。 4. 对新驱动流程中需要保持内容一致的 Runtime 内存,在申请处补充 required 标签;对临时恢复 buffer,例如自定义 AICPU so reload 使用的 AllocAndCopyHbmBuf,标记为 no_backup。 5. 对无法直接通过分配接口传入标签、但新驱动流程中应按 required 处理的既有设备内存,在内部实现中通过 NpuDriver::MemAdvise(..., ADVISE_SNAPSHOT_REQUIRED, ...) 补充 required 标记,不改 ACL/RT 对外接口。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 如何测试 按本次变更影响范围做定向验证:Snapshot 备份/恢复接口新增 args 参数,同时保持 args == nullptr 的旧接口兼容行为;Runtime 内部设备内存申请切换为 DevMemAllocWithBackupFlag,并通过 DevMemAllocConfig 承载原有申请配置。对应同步适配已有 UT 中的 mock、stub 和测试 helper,并针对 Snapshot 备份标签策略新增定向 UT,验证空 args 旧流程、非空 args 兼容性判断、backupFlags / restoreFlags 传递以及驱动侧 flags 转换逻辑。修改后的 Runtime 相关 UT 已跑通。 | 接口或场景 | UT 覆盖结果 | 结果 | | --- | --- | --- | | ACL Snapshot 参数转发与参数校验 | acl_runtime_unittest.cpp:覆盖 aclrtSnapShotProcessBackup/Restore 成功、失败、args == nullptr 兼容旧流程、backupFlags / restoreFlags 参数转发,以及非法 flags 拦截且不下传 RTS | PASSED | | Runtime Snapshot API 路由 | rt_utest_api_snapshot_route.cc、rt_utest_runtime.cc、rt_utest_stub.cc:覆盖 Snapshot lock / backup / restore / unlock 路由及错误码映射 | PASSED | | 910B Snapshot 备份恢复流程 | rt_utest_snapshot.cc、rt_utest_api_impl.cc、rt_utest_api_impl_spec.cc:覆盖 Snapshot backup/restore 参数传入、兼容性判断、版本校验、restore 主流程及 batch load 相关路径 | PASSED | | Snapshot 标签兼容性分支(本次新增 UT) | rt_utest_snapshot.cc:覆盖 args == nullptr 时走旧 Runtime 备份/恢复流程;args != nullptr 且兼容性通过时透传 backupFlags / restoreFlags;args != nullptr 且兼容性不通过时返回错误并终止流程 | PASSED | | NpuDriver 备份恢复 flags 转换(本次新增 UT) | rt_utest_npu_driver.cc:覆盖 ProcessResBackup/Restore 中 1U 和 0U 到驱动 reserve flag 的转换 | PASSED | | Runtime 内部设备内存申请切换 | rt_utest_program.cc、rt_utest_aicpu_timeout.cc、rt_utest_arg_loader_nocopy.cc:原 mock DevMemAlloc 的用例已适配为 DevMemAllocWithBackupFlag,覆盖 module/program、AICPU timeout、ArgLoader 申请路径 | PASSED | | DevMemAllocConfig 参数适配 | rt_utest_npu_driver.cc、rt_utest_api_soma.cc、rt_utest_api.cc:覆盖 HugePage/Managed/SOMA 等路径中 readOnly、isNewApi 等配置迁移到 DevMemAllocConfig 后的行为 | PASSED | | 既有 UT helper 签名适配 | rt_utest_memory_transfer_driver.hpp:MemoryTransferTestDriver 按新 DevMemAlloc 签名适配,并从 DevMemAllocConfig 读取原 starsTillingFlag 语义 | PASSED | | UT stub 编译适配 | hal_ts copy.h、los_atomic copy.h、los_typedef copy.h、slog_stub.cc:同步适配本次接口变化导致的 UT stub 编译问题 | PASSED | See merge request: cann/runtime!4942 | 2 天前 | |
【PR】: docs/zh目录下统一修改产品名称,并将现有中文md文件名和png图片名修改为英文名 Co-authored-by: ycm0028<yechengmei@huawei.com> # message auto-generated for no-merge-commit merge: !5161 merge master into master 【PR】: docs/zh目录下统一修改产品名称,并将现有中文md文件名和png图片名修改为英文名 Created-by: ycm0028 Commit-by: ycm0028 Merged-by: cann-robot Description: # Pull Request ## 描述 docs/zh目录下统一修改产品名称,并将现有中文md文件名和png图片名修改为英文名 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 工具统一替换产品名称以及修改文件名,再人工检查所修改的文件名 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5161 | 9 天前 | |
docs: 补充异常算子Dump相关环境变量说明(#1019) Co-authored-by: yring_8<yangrui1@huawei.com> # message auto-generated for no-merge-commit merge: !5223 merge fix/adump_env_vars_docs into master docs: 补充异常算子Dump相关环境变量说明(#1019) Created-by: yring_8 Commit-by: yring_8 Merged-by: cann-robot Description: # Pull Request ## 描述 补充环境变量参考页面缺失的异常算子Dump相关环境变量说明: - 新增 ASCEND_DUMP_SCENE环境变量说明,覆盖功能描述、合法取值(aic_err_brief_dump/aic_err_norm_dump/aic_err_detail_dump)及各取值注意事项、配置示例、使用约束和支持的型号。 - 新增ASCEND_DUMP_PATH环境变量说明,覆盖功能描述、Dump信息存储路径优先级、配置示例和使用约束。 - 更新环境变量索引docs/zh/env_vars/README.md,新增"故障信息收集"分类入口。 内容依据昇腾社区《环境变量参考》官方文档整理,并与仓内adump实现(src/dfx/adump/adump/impl/dump_config_converter.cpp)的取值枚举和路径优先级逐一核对一致。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 关联 #1019(本PR补充其中dump相关的ASCEND_DUMP_SCENE和ASCEND_DUMP_PATH两个变量,issue中其余变量另行补充) ## 如何测试 1. 检查新增的2个环境变量页面均已加入docs/zh/env_vars/README.md,且相对链接指向实际文件。 2. 对照源码检查Dump场景枚举值和路径优先级(src/dfx/adump/adump/impl/dump_config_converter.cpp),并执行git diff --check。 测试结果:2个页面均已正确索引,链接检查、源码枚举值检查和git diff --check均通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次变更仅补充文档,不修改Runtime代码、接口或运行行为。 See merge request: cann/runtime!5223 | 7 天前 | |
fix: errmsg整改 Co-authored-by: chingbb<qinbeibei4@huawei.com> # message auto-generated for no-merge-commit merge: !5255 merge fix/errmsg-rectification into master fix: errmsg整改 Created-by: chingbb Commit-by: chingbb Merged-by: cann-robot Description: # Pull Request ## 描述 补充 Event/Notify 等模块错误信息整改: - 新增 EE1026 错误码(Event 同步超时),完善错误码定义、上报宏及 error_code.json - 补充 Notify 参数边界校验(num/len 溢出防护、isClear 取值校验) - 优化 Event/Notify、aclgraph/model/context 等模块错误信息上报(首错点信息、EE1016/EE1023 等错误码适配) - 适配 runtime API stub 生成器 - 补充相关 UT 用例(Notify 溢出防护、EE1026 错误码测试) ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 编译通过 2. 运行 UT:tests/ut/acl/testcase/acl_runtime_unittest.cpp 中 aclrtNotifyBatchReset/aclrtNotifyGetExportKey/aclrtNotifySetImportPid 溢出防护用例 3. 运行 UT:tests/ut/runtime/runtime/test/rt_error_code_test.cc 中 EE1026 错误码用例 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/runtime!5255 | 6 天前 | |
fix: errmsg整改 Co-authored-by: chingbb<qinbeibei4@huawei.com> # message auto-generated for no-merge-commit merge: !5255 merge fix/errmsg-rectification into master fix: errmsg整改 Created-by: chingbb Commit-by: chingbb Merged-by: cann-robot Description: # Pull Request ## 描述 补充 Event/Notify 等模块错误信息整改: - 新增 EE1026 错误码(Event 同步超时),完善错误码定义、上报宏及 error_code.json - 补充 Notify 参数边界校验(num/len 溢出防护、isClear 取值校验) - 优化 Event/Notify、aclgraph/model/context 等模块错误信息上报(首错点信息、EE1016/EE1023 等错误码适配) - 适配 runtime API stub 生成器 - 补充相关 UT 用例(Notify 溢出防护、EE1026 错误码测试) ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 编译通过 2. 运行 UT:tests/ut/acl/testcase/acl_runtime_unittest.cpp 中 aclrtNotifyBatchReset/aclrtNotifyGetExportKey/aclrtNotifySetImportPid 溢出防护用例 3. 运行 UT:tests/ut/runtime/runtime/test/rt_error_code_test.cc 中 EE1026 错误码用例 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/runtime!5255 | 6 天前 | |
【docs】: 修改asys工具手册的参考链接 Co-authored-by: lwx1255555<liuxiaofang17@huawei-partners.com> # message auto-generated for no-merge-commit merge: !5292 merge master into master 【docs】: 修改asys工具手册的参考链接 Created-by: lwx1255555 Commit-by: lwx1255555 Merged-by: cann-robot Description: # Pull Request ## 描述 修改asys工具手册的参考链接 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5292 | 2 天前 | |
【PR】: docs/zh目录下统一修改产品名称,并将现有中文md文件名和png图片名修改为英文名 Co-authored-by: ycm0028<yechengmei@huawei.com> # message auto-generated for no-merge-commit merge: !5161 merge master into master 【PR】: docs/zh目录下统一修改产品名称,并将现有中文md文件名和png图片名修改为英文名 Created-by: ycm0028 Commit-by: ycm0028 Merged-by: cann-robot Description: # Pull Request ## 描述 docs/zh目录下统一修改产品名称,并将现有中文md文件名和png图片名修改为英文名 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 工具统一替换产品名称以及修改文件名,再人工检查所修改的文件名 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5161 | 9 天前 | |
【PR】: docs: 修复 FAQ 导航链接跳转 404 问题 Co-authored-by: 2403_89963296<2540257541@qq.com> # message auto-generated for no-merge-commit merge: !5208 merge issue-修复文档链接跳转404问题 into master 【PR】: docs: 修复 FAQ 导航链接跳转 404 问题 Created-by: 2403_89963296 Commit-by: 2403_89963296 Merged-by: cann-robot Description: # Pull Request ## 描述 修复 docs/zh/README.md 中“常见问题”导航的 18 个失效链接。 FAQ 文档文件名统一调整为英文后,顶层 README 仍引用原中文文件名,导致链接跳转 404。本次将链接目标更新为 docs/zh/FAQ/ 下实际存在的英文文件名,链接显示文字保持不变。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue Closes #1018 ## 如何测试 1. 提取 docs/zh/README.md 中的 18 个 FAQ 相对链接,逐项检查目标文件是否存在。 2. 执行 git diff --check 检查文档格式。 测试结果: - 18 个 FAQ 链接目标全部存在。 - 不再包含指向中文文件名的 FAQ 链接。 - git diff --check 检查通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 本次变更仅修正文档导航链接,不涉及 Runtime 代码和接口行为。 See merge request: cann/runtime!5208 | 7 天前 |
CANN Runtime
昇腾 AI 处理器轻量级运行时环境 · 端云一致 · 高性能推理
CANN Runtime 是昇腾 AI 处理器的核心运行时底座,它通过提供统一的 API,使得上层应用、AI 框架、加速库能够高效利用 AI 处理器的硬件计算资源。
📚 文档导航
| 文档 | 定位与内容 | 入口 |
|---|---|---|
| ⚡ 快速入门 | 零基础起步,第一次接触 Runtime 的开发者。Runtime 简介 + 编程模型讲解,建议顺序阅读 | Runtime 简介 · 编程模型 |
| 📖 编程指南 | 深度开发手册,已跑通入门阶段 Hello CANN 后需要深入理解原理的开发者。原理解析 + 示例代码 | 编程指南 |
| 📋 API参考 | 接口字典,开发过程中随时查阅函数定义。函数签名 + 参数说明 + 返回值 | 头文件说明 · API参考 |
| 📋 日志参考 | 介绍定位问题时如何设置日志级别、从何处获取日志文件,同时介绍日志内容格式、日志配置。 | 日志参考 |
| 📋 错误码参考 | 错误码字典,调试过程中查阅对应错误码的错误信息、可能原因、解决方法。 | 错误码参考 |
| 📋 环境变量参考 | 环境变量字典,开发和运行过程中查阅环境变量的功能、取值、配置方法和使用约束。 | 环境变量参考 |
| 🏗️ 架构指南 | 面向贡献者的架构文档。Runtime 整体架构、模块设计、核心组件解析 | 架构指南 |
| 📝 研发规范 | 面向贡献者的规范指南,包括设计文档模板、编码规范、测试规范、代码检视规则 | 研发规范与贡献指南 |
🗺️ 成长地图
按以下路径循序渐进,从环境准备到独立开发:
🌱 入门阶段
| 学习步骤 | 内容说明 | 入口 |
|---|---|---|
| 环境准备 | CANN 一键安装 | CANN 一键安装 |
| 概念原理 | Runtime 核心概念与编程模型:Host-Device 架构、Context、Stream、同步异步、典型执行流程 | Runtime 简介 · 编程模型 |
| Hello CANN | 第一个可运行的 Runtime 程序,完成最小计算闭环 | Hello CANN |
🚀 进阶阶段
| 主题 | 核心内容 | 对应样例 |
|---|---|---|
| 初始化 | 包括环境初始化、设备资源配置、日志管理等 | device_normal |
| 内存管理 | 包括 Host 内存管理、Device 内存管理、多流同步内存、内存拷贝(同步异步)、物理内存共享 (pid) 等 | h2d_sync_memory_copy |
| 异步任务 | 包括 Stream 管理、Event 管理、Kernel 加载与执行、内存语义同步等 | simple_stream |
🔥 高级阶段
| 主题 | 核心内容 | 对应样例 |
|---|---|---|
| ACL Graph | 包括单流捕获、跨流捕获、任务更新等 | model_update |
| 多设备编程 | 包括跨 Device 数据交互、P2P 内存访问、多卡并行调度等 | device_P2P |
| 进程间通信 | 包括 IPC Event 同步、IPC 内存共享(指定 PID/不指定 PID)等 | ipc_event · ipc_memory |
| 性能调优 | 包括Profiling采集并落盘、获取网络模型中算子的性能数据、可视化展示原始性能数据解析结果等 | create_config |
❓ 常见问题
| 问题类型 | 典型场景 | 入口 |
|---|---|---|
| 入门阶段 | 初始化失败、Device 配置、版本兼容等入门常见问题 | 版本不匹配 · aclInit 失败 · aclrtSetDevice 失败 · 首次aclrtSetDevice耗时 · 默认机制 |
| 基础开发 | 内存管理、Stream 同步、数据复制等基础 API 使用问题 | 内存申请失败 · Stream 下发失败 · 内存策略 · 同步机制 |
| 进阶场景 | 多设备编程、ACL Graph、进程通信等复杂场景问题 | 多Device Stream · ACL Graph 任务提交 · IPC 页表对齐 · P2P 配置失败 |
| 错误排查 | 错误码解读、算子异常、日志定位等诊断方法 | 异步错误码 · EE1023资源不足 · 算子输出异常 · 遇错即停定位 · plog 日志定位 |
相关资源
昇腾社区 ·
Runtime 样例仓库 ·
完整文档中心
CANN Runtime 文档 | 华为昇腾