| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【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 个月前 | |
【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 个月前 | |
【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 个月前 | |
【PR】: 新增 Device 身份映射与 PCI/UUID 发现样例 Co-authored-by: 2403_89963296<2540257541@qq.com> # message auto-generated for no-merge-commit merge: !4899 merge example/1_basic_features/device/3_device_identity_mapping into master 【PR】: 新增 Device 身份映射与 PCI/UUID 发现样例 Created-by: 2403_89963296 Commit-by: 2403_89963296 Merged-by: cann-robot Description: # Pull Request ## 描述 新增 Runtime7 Device 身份映射样例 example/1_basic_features/device/3_device_identity_mapping,面向容器、虚拟化和调度系统识别 Device 的场景: - 枚举用户可见 Device,查询并格式化输出 UUID。 - 完成用户设备 ID 与逻辑设备 ID、物理设备 ID 的双向转换,并校验 round-trip 一致性。 - 在 PCIe 互连形态下通过 PCI Bus ID 反查用户设备 ID;非 PCIe 形态返回 ACL_ERROR_RT_FEATURE_NOT_SUPPORT 时记录告警并明确跳过,其他错误仍判定样例失败。 - 覆盖 aclrtDeviceGetPCIBusId、aclrtDeviceGetByPCIBusId、aclrtDeviceGetUuid、aclrtGetUserDevIdByLogicDevId、aclrtGetLogicDevIdByUserDevId、aclrtGetUserDevIdByPhyDevId、aclrtGetPhyDevIdByUserDevId 7 个 API。 - 新增 CMake 构建、run.sh、中英文 README,并更新 Device 主题中英文导航。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 关联 #ISSUE_ID,请在 GitCode 页面右侧勾选“合并后关闭已关联的 Issue”。 ## 如何测试 测试环境: - 硬件:Atlas A3,SoC Ascend910_9362,2 个用户可见 Device。 - CANN:9.2.0-weekly.20260909.01,toolkit/A3 ops 内部版本 V100R001C12B106。 - 互连形态:非 PCIe,用于验证 PCI 发现的特性不支持分支。 1. 配置环境并运行样例: bash source /home/developer/Ascend/cann/set_env.sh source /mnt/workspace/runtime/example/set_sample_env.sh cd /mnt/workspace/runtime/example/1_basic_features/device/3_device_identity_mapping bash run.sh 2. 验证结果: - CMake 配置和 C++ 编译成功,样例返回码为 0。 - Device 0 映射为 user=0, logic=0, physical=10。 - Device 1 映射为 user=1, logic=1, physical=11。 - 两个 Device 均成功输出 UUID。 - 当前非 PCIe 环境中,两个 Device 的 PCI 发现均按预期明确跳过。 - 输出 Run the device_identity_mapping sample successfully.。 3. 静态检查: bash git diff --check upstream/master...HEAD clang-format --dry-run --Werror example/1_basic_features/device/3_device_identity_mapping/main.cpp bash -n example/1_basic_features/device/3_device_identity_mapping/run.sh 上述检查均通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 - 当前 A3 环境为非 PCIe 互连,aclrtDeviceGetPCIBusId/aclrtDeviceGetByPCIBusId 的成功 round-trip 路径仍需在 PCIe 形态上补充验证。 - 本样例不使用 aclrtGetLogicDevIdByPhyDevId、aclrtGetPhyDevIdByLogicDevId,避免引入文档已标注语义不正确的“逻辑设备 ID”转换接口。 See merge request: cann/runtime!4899 | 1 个月前 | |
【PR】: 新增基于设备能力的计数汇总样例 Co-authored-by: 2403_89963296<2540257541@qq.com> # message auto-generated for no-merge-commit merge: !5020 merge example/1_basic_features/device/4_capability_based_aggregation into master 【PR】: 新增基于设备能力的计数汇总样例 Created-by: 2403_89963296 Commit-by: 2403_89963296 Merged-by: cann-robot Description: # Pull Request ## 描述 新增 example/1_basic_features/device/4_capability_based_aggregation 单 Device 样例。样例校验物理设备 ID 到用户可见设备 ID 再到物理设备 ID 的往返映射,使用 Vector Core 数量确定 Kernel 并行度,并根据 Host/Device 有符号 32 位原子加能力选择映射 Host 内存直接原子汇总或 Device 分块结果加 Host 汇总路径。 样例对 1024 条确定性输入的 8 类计数逐项比对 CPU 参考结果,并补充中英文 README、构建运行脚本及 Device 主题导航。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 如何测试 1. 加载 CANN 和样例环境并运行指定物理 Device: bash source /home/developer/Ascend/cann/set_env.sh source /mnt/workspace/runtime/example/set_sample_env.sh cd example/1_basic_features/device/4_capability_based_aggregation bash run.sh 10 Ascend910_9362 实机结果:物理 ID 10 -> 0 -> 10 往返校验成功;查询到 40 个 Vector Core;Host/Device DMA_ADD 能力为 0x0,选择 Device 分块结果加 Host 汇总路径;8 类统计结果全部与 CPU 参考值一致。 2. 使用 SOC_VERSION=Ascend950PR_9599 完成交叉编译,构建成功。 3. 对本次 9 个变更文件执行 pre-commit run --show-diff-on-failure --files ...,clang-format 和 OAT 检查通过;bash -n 与 git diff --check 通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 当前实机的 Host/Device 有符号 32 位原子加能力掩码为 0x0,因此实机验证覆盖了 Device 分块结果加 Host 汇总路径。映射 Host 内存直接原子汇总路径已通过 Ascend950PR_9599 编译验证,尚未在具备对应原子能力的设备上运行。 See merge request: cann/runtime!5020 | 1 个月前 | |
【PR】: 新增基于设备能力的计数汇总样例 Co-authored-by: 2403_89963296<2540257541@qq.com> # message auto-generated for no-merge-commit merge: !5020 merge example/1_basic_features/device/4_capability_based_aggregation into master 【PR】: 新增基于设备能力的计数汇总样例 Created-by: 2403_89963296 Commit-by: 2403_89963296 Merged-by: cann-robot Description: # Pull Request ## 描述 新增 example/1_basic_features/device/4_capability_based_aggregation 单 Device 样例。样例校验物理设备 ID 到用户可见设备 ID 再到物理设备 ID 的往返映射,使用 Vector Core 数量确定 Kernel 并行度,并根据 Host/Device 有符号 32 位原子加能力选择映射 Host 内存直接原子汇总或 Device 分块结果加 Host 汇总路径。 样例对 1024 条确定性输入的 8 类计数逐项比对 CPU 参考结果,并补充中英文 README、构建运行脚本及 Device 主题导航。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 如何测试 1. 加载 CANN 和样例环境并运行指定物理 Device: bash source /home/developer/Ascend/cann/set_env.sh source /mnt/workspace/runtime/example/set_sample_env.sh cd example/1_basic_features/device/4_capability_based_aggregation bash run.sh 10 Ascend910_9362 实机结果:物理 ID 10 -> 0 -> 10 往返校验成功;查询到 40 个 Vector Core;Host/Device DMA_ADD 能力为 0x0,选择 Device 分块结果加 Host 汇总路径;8 类统计结果全部与 CPU 参考值一致。 2. 使用 SOC_VERSION=Ascend950PR_9599 完成交叉编译,构建成功。 3. 对本次 9 个变更文件执行 pre-commit run --show-diff-on-failure --files ...,clang-format 和 OAT 检查通过;bash -n 与 git diff --check 通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 当前实机的 Host/Device 有符号 32 位原子加能力掩码为 0x0,因此实机验证覆盖了 Device 分块结果加 Host 汇总路径。映射 Host 内存直接原子汇总路径已通过 Ascend950PR_9599 编译验证,尚未在具备对应原子能力的设备上运行。 See merge request: cann/runtime!5020 | 1 个月前 | |
【PR】: 新增基于设备能力的计数汇总样例 Co-authored-by: 2403_89963296<2540257541@qq.com> # message auto-generated for no-merge-commit merge: !5020 merge example/1_basic_features/device/4_capability_based_aggregation into master 【PR】: 新增基于设备能力的计数汇总样例 Created-by: 2403_89963296 Commit-by: 2403_89963296 Merged-by: cann-robot Description: # Pull Request ## 描述 新增 example/1_basic_features/device/4_capability_based_aggregation 单 Device 样例。样例校验物理设备 ID 到用户可见设备 ID 再到物理设备 ID 的往返映射,使用 Vector Core 数量确定 Kernel 并行度,并根据 Host/Device 有符号 32 位原子加能力选择映射 Host 内存直接原子汇总或 Device 分块结果加 Host 汇总路径。 样例对 1024 条确定性输入的 8 类计数逐项比对 CPU 参考结果,并补充中英文 README、构建运行脚本及 Device 主题导航。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 如何测试 1. 加载 CANN 和样例环境并运行指定物理 Device: bash source /home/developer/Ascend/cann/set_env.sh source /mnt/workspace/runtime/example/set_sample_env.sh cd example/1_basic_features/device/4_capability_based_aggregation bash run.sh 10 Ascend910_9362 实机结果:物理 ID 10 -> 0 -> 10 往返校验成功;查询到 40 个 Vector Core;Host/Device DMA_ADD 能力为 0x0,选择 Device 分块结果加 Host 汇总路径;8 类统计结果全部与 CPU 参考值一致。 2. 使用 SOC_VERSION=Ascend950PR_9599 完成交叉编译,构建成功。 3. 对本次 9 个变更文件执行 pre-commit run --show-diff-on-failure --files ...,clang-format 和 OAT 检查通过;bash -n 与 git diff --check 通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 当前实机的 Host/Device 有符号 32 位原子加能力掩码为 0x0,因此实机验证覆盖了 Device 分块结果加 Host 汇总路径。映射 Host 内存直接原子汇总路径已通过 Ascend950PR_9599 编译验证,尚未在具备对应原子能力的设备上运行。 See merge request: cann/runtime!5020 | 1 个月前 |
device
本目录聚焦 Device 初始化、切换、多线程使用以及 Device 间数据交互能力。
样例列表
- 0_device_normal:演示单 Device 场景下的基础初始化、执行和释放流程。
- 1_device_multi_thread:演示多线程场景下的 Device 使用方式。
- 2_device_P2P:演示 Device 间 P2P 数据拷贝能力。
- 3_device_identity_mapping:枚举用户可见 Device,查询 PCI Bus ID 和 UUID,并校验用户、逻辑与物理设备 ID 的双向映射。
- 4_capability_based_aggregation:校验物理设备 ID 往返映射,查询硬件规格及 Host/Device 原子能力,并据此选择业务计数汇总路径。