| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
rename duplicate headers Co-authored-by: qleehom<qianglihong@huawei.com> # message auto-generated for no-merge-commit merge: !3740 merge fix/rename-duplicate-headers into master rename duplicate headers Created-by: qleehom Commit-by: qleehom Merged-by: cann-robot Description: # Pull Request ## 描述 本次变更对 runtime 仓内 4 个重复头文件进行模块化重命名,并同步更新所有关联 include 引用,避免同名头文件在不同 include path 下产生误包含或 include guard 冲突。 重命名文件包括: - src/runtime/core/src/task/inc/dump_task.h -> src/runtime/core/src/task/inc/runtime_dump_task.h - src/runtime/core/src/task/inc/task_manager.h -> src/runtime/core/src/task/inc/runtime_task_manager.h - src/runtime/core/src/dfx/hifloat.h -> src/runtime/core/src/dfx/runtime_hifloat.h - src/runtime/core/inc/tsch_defines.h -> src/runtime/core/inc/runtime_tsch_defines.h ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 描述测试此变更的步骤和前提条件: 1. git diff --check 2. env CCACHE_DIR=/tmp/ccache bash build.sh --pkg --build_host_only --ascend_install_path=/home/developer/Ascend/cann-9.1.0 -j8 3. env CCACHE_DIR=/tmp/ccache bash tests/build_ut.sh --ut=runtime --target=runtime_ut --cann_3rd_lib_path=/mnt/workspace/gitCode/cann/runtime/output/third_party --ut_timeout=900 -j8 4. bash build.sh --target=npu_runtime_hlt --ascend_install_path=/home/developer/Ascend/cann-9.1.0 5. HLT 上板执行 RTS_AICORE_0001、RTS_AICORE_0713,并重复 5 轮,均 ret=0 且命中 SUCCESS ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 验证过程中发现 HLT 执行时需要优先加载真实 driver DSMI 库;若 build_out/lib 中的 HLT stub libdrvdsmi_host.so 排在 LD_LIBRARY_PATH 最前,会因缺少 dsmi_get_device_info 导致 librtstest_host.so 加载失败。实际验证使用真实 driver 路径优先的环境执行通过。 See merge request: cann/runtime!3740 | 1 个月前 | |
feat: 新增aclrtBinaryEnumerateFunctions接口 Co-authored-by: chenyang<2082464740@qq.com> # message auto-generated for no-merge-commit merge: !4534 merge aclbef into master feat: 新增aclrtBinaryEnumerateFunctions接口 Created-by: weixin_51634168 Commit-by: chenyang Merged-by: cann-robot Description: # feat: 新增aclrtBinaryEnumerateFunctions接口 ## 描述 新增“枚举二进制模块中核函数句柄”能力,包含 RT 内部接口 rtBinaryEnumerateFunctions 及 ACL 对外封装 aclrtBinaryEnumerateFunctions。行为对齐 CUDA cuModuleEnumerateFunctions:按 Program::kernelNameMap_ 存储顺序返回句柄,实际填入个数为 min(numFunctions, 模块内函数数);numFunctions 为 0 时不写入任何句柄,接口直接返回成功。 **RT 层:** - 接口声明位于 src/inc/runtime/inner_kernel.h(非仓间接口);C 层入口 src/runtime/api/api_c_standard_soc.cc 负责句柄解包,经 InitEmbeddedInnerHandle/ExportEmbeddedHandle 导出 rtFuncHandle;api_c_tiny_stub.cc 打桩返回不支持 - Api 分层链路逐层转发:api_error.cc 做空指针校验(binHandle/funcHandles/actualCount),api_decorator.cc 透传;本接口不做 profiling 打点 - ApiImpl::BinaryEnumerateFunctions 按职责拆分为两个私有接口: - PrepareProgramForEnumerate:非 XPU 平台经 Program::CopySoAndNameToCurrentDevice 将二进制及名称按设备惰性拷贝下发(每设备仅一次);XPU 平台不拷贝,仅取 device id - CollectEnumerateKernels:遍历 kernelNameMap_ 收集句柄,按 min(numFunctions, 实际函数数) 预留并截断;XPU 下逐 kernel 设置 literal name 设备地址 **ACL 层:** - 新增对外接口 aclError aclrtBinaryEnumerateFunctions(const aclrtBinHandle binHandle, aclrtFuncHandle* funcHandles, uint32_t numFunctions)(include/external/acl/acl_rt.h),经 ACL_RT_FUNC_MAP 宏机制生成公开符号;aclrtBinaryEnumerateFunctionsImpl 空指针校验后透传 RT 层,底层错误码(含平台不支持)直接回传 **文档与示例:** - 补充 docs/zh/api_ref/14_kerne_loading_and_execution.md 接口文档(含 min 语义及 numFunctions=0 行为说明) - 新增上机示例 example/2_advanced_features/kernel/2_binary_enumerate_functions/:将 add_custom/sub_custom/mul_custom 三个 AscendC Kernel(kernel/custom.cpp)编译为同一个独立算子二进制,演示完整使用链路——aclrtBinaryLoadFromFile Host 侧加载解析;首次调用 aclrtBinaryEnumerateFunctions 触发二进制到当前 Context 对应 Device 的拷贝,并枚举出 3 个核函数句柄;再用 aclrtGetFunctionName/aclrtGetFunctionAddr 查询函数名与 Device 代码地址、aclrtBinaryGetDevAddress 打印二进制 Device 地址;最后通过 aclrtLaunchKernelWithHostArgs 分别下发三个 Kernel 并校验 FP16 计算结果。配套 CMakeLists.txt、run.sh 一键编译运行脚本及中英文 README。 **example测试结果:** text [INFO] Enumerating functions and copying the binary from Host to Device [INFO] Binary copied to Device: address=0x124000001000, size=7828 bytes [INFO] function[0]: name=add_custom, handle=0xaaab14b41798, aic=(nil), aiv=0x124000001000 [INFO] function[1]: name=mul_custom, handle=0xaaab14b41cc8, aic=(nil), aiv=0x124000001a30 [INFO] function[2]: name=sub_custom, handle=0xaaab14b421f8, aic=(nil), aiv=0x124000002460 [INFO] add_custom result verified [INFO] sub_custom result verified [INFO] mul_custom result verified [SUCCESS] aclrtBinaryEnumerateFunctions sample passed ## 变更类型 - [x] ✨ 新功能 ## 关联的Issue ## 如何测试 1. bash build.sh 编译通过 2. 新增 UT 全量通过:tests/ut/runtime/runtime/test/platform/910B/rt_utest_api_kernel.cc 中 BinaryEnumerateFunctions 相关用例(成功、空 binHandle、参数校验、numFunctions 小于/大于实际个数、空 program、拷贝下发失败、decorator 转发、numFunctions=0),tests/ut/acl/testcase/acl_runtime_unittest.cpp 中 ACL 层用例;tests/depends 打桩已同步 3. 示例 example/2_advanced_features/kernel/2_binary_enumerate_functions/main.cpp 上机验证枚举与 kernel launch ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/runtime!4534 | 12 天前 | |
feat: 新增aclrtBinaryEnumerateFunctions接口 Co-authored-by: chenyang<2082464740@qq.com> # message auto-generated for no-merge-commit merge: !4534 merge aclbef into master feat: 新增aclrtBinaryEnumerateFunctions接口 Created-by: weixin_51634168 Commit-by: chenyang Merged-by: cann-robot Description: # feat: 新增aclrtBinaryEnumerateFunctions接口 ## 描述 新增“枚举二进制模块中核函数句柄”能力,包含 RT 内部接口 rtBinaryEnumerateFunctions 及 ACL 对外封装 aclrtBinaryEnumerateFunctions。行为对齐 CUDA cuModuleEnumerateFunctions:按 Program::kernelNameMap_ 存储顺序返回句柄,实际填入个数为 min(numFunctions, 模块内函数数);numFunctions 为 0 时不写入任何句柄,接口直接返回成功。 **RT 层:** - 接口声明位于 src/inc/runtime/inner_kernel.h(非仓间接口);C 层入口 src/runtime/api/api_c_standard_soc.cc 负责句柄解包,经 InitEmbeddedInnerHandle/ExportEmbeddedHandle 导出 rtFuncHandle;api_c_tiny_stub.cc 打桩返回不支持 - Api 分层链路逐层转发:api_error.cc 做空指针校验(binHandle/funcHandles/actualCount),api_decorator.cc 透传;本接口不做 profiling 打点 - ApiImpl::BinaryEnumerateFunctions 按职责拆分为两个私有接口: - PrepareProgramForEnumerate:非 XPU 平台经 Program::CopySoAndNameToCurrentDevice 将二进制及名称按设备惰性拷贝下发(每设备仅一次);XPU 平台不拷贝,仅取 device id - CollectEnumerateKernels:遍历 kernelNameMap_ 收集句柄,按 min(numFunctions, 实际函数数) 预留并截断;XPU 下逐 kernel 设置 literal name 设备地址 **ACL 层:** - 新增对外接口 aclError aclrtBinaryEnumerateFunctions(const aclrtBinHandle binHandle, aclrtFuncHandle* funcHandles, uint32_t numFunctions)(include/external/acl/acl_rt.h),经 ACL_RT_FUNC_MAP 宏机制生成公开符号;aclrtBinaryEnumerateFunctionsImpl 空指针校验后透传 RT 层,底层错误码(含平台不支持)直接回传 **文档与示例:** - 补充 docs/zh/api_ref/14_kerne_loading_and_execution.md 接口文档(含 min 语义及 numFunctions=0 行为说明) - 新增上机示例 example/2_advanced_features/kernel/2_binary_enumerate_functions/:将 add_custom/sub_custom/mul_custom 三个 AscendC Kernel(kernel/custom.cpp)编译为同一个独立算子二进制,演示完整使用链路——aclrtBinaryLoadFromFile Host 侧加载解析;首次调用 aclrtBinaryEnumerateFunctions 触发二进制到当前 Context 对应 Device 的拷贝,并枚举出 3 个核函数句柄;再用 aclrtGetFunctionName/aclrtGetFunctionAddr 查询函数名与 Device 代码地址、aclrtBinaryGetDevAddress 打印二进制 Device 地址;最后通过 aclrtLaunchKernelWithHostArgs 分别下发三个 Kernel 并校验 FP16 计算结果。配套 CMakeLists.txt、run.sh 一键编译运行脚本及中英文 README。 **example测试结果:** text [INFO] Enumerating functions and copying the binary from Host to Device [INFO] Binary copied to Device: address=0x124000001000, size=7828 bytes [INFO] function[0]: name=add_custom, handle=0xaaab14b41798, aic=(nil), aiv=0x124000001000 [INFO] function[1]: name=mul_custom, handle=0xaaab14b41cc8, aic=(nil), aiv=0x124000001a30 [INFO] function[2]: name=sub_custom, handle=0xaaab14b421f8, aic=(nil), aiv=0x124000002460 [INFO] add_custom result verified [INFO] sub_custom result verified [INFO] mul_custom result verified [SUCCESS] aclrtBinaryEnumerateFunctions sample passed ## 变更类型 - [x] ✨ 新功能 ## 关联的Issue ## 如何测试 1. bash build.sh 编译通过 2. 新增 UT 全量通过:tests/ut/runtime/runtime/test/platform/910B/rt_utest_api_kernel.cc 中 BinaryEnumerateFunctions 相关用例(成功、空 binHandle、参数校验、numFunctions 小于/大于实际个数、空 program、拷贝下发失败、decorator 转发、numFunctions=0),tests/ut/acl/testcase/acl_runtime_unittest.cpp 中 ACL 层用例;tests/depends 打桩已同步 3. 示例 example/2_advanced_features/kernel/2_binary_enumerate_functions/main.cpp 上机验证枚举与 kernel launch ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/runtime!4534 | 12 天前 | |
Initial commit | 8 个月前 | |
Initial commit | 8 个月前 | |
【PR】: feat: add ut timeout Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !2994 merge master3 into master 【PR】: feat: add ut timeout Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 增加ut超时时间 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 构造永不退出ut,判断是否到达超时时间终止 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!2994 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 12 天前 | ||
| 12 天前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 2 个月前 |