| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: add aclmdl om2 workspace size query Co-authored-by: zhangfan_hq<tonhi.zhangfan@huawei.com> # message auto-generated for no-merge-commit merge: !4825 merge feat/aclmdl-om2-workspace-size-query into develop feat: add aclmdl om2 workspace size query Created-by: zhangfan_hanq Commit-by: zhangfan_hq Merged-by: cann-robot Description: # Pull Request ## 描述 新增 aclmdlQueryWorkspaceSize / aclmdlQueryWorkspaceSizeFromMem 接口,用于按 workspace 内存优化模式查询模型执行 workspace size。 本次范围收敛为 OM2:OM2 路径从 model_meta.json 读取 work_size 和 zero_copy_size;OM 路径参数校验通过后返回 ACL_ERROR_API_NOT_SUPPORT,并将 workSize 写 0。 同步更新 ACL API 声明、profile 注册、OM2 executor 查询接口、ACL mock、ACL UT 和 OM2 executor UT。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] Bug 修复 - [x] 新功能 - [ ] 代码风格更新(格式化,局部变量) - [ ] 重构(既不修复错误也不增加功能的代码变动) - [ ] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 关联的Issue 无。 ## 如何测试 描述测试此变更的步骤和前提条件: 1. pre-commit run --files $(git diff --cached --name-only) 2. 结果:trim trailing whitespace、end-of-file-fixer、merge conflict check、clang-format、codespell、OAT 均 Passed。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 需求设计文档已在本地归档,按提交流程未纳入本 PR。 See merge request: cann/ge!4825 | 23 天前 | |
补充卷积lifting的fixedshiftvalue attr | 12 天前 | |
【PR】: 对外头文件整改,新增转发头文件后修改引用和配置 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !3568 merge jk_external into develop 【PR】: 对外头文件整改,新增转发头文件后修改引用和配置 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 对外头文件整改,新增转发头文件后修改引用和配置。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3568 | 2 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 3 个月前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 1 个月前 | |
【feat】: Support PCIe Through Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4394 merge pcie_through into develop 【feat】: Support PCIe Through Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request 接口评审时间:2026/08/06(周四) ## 描述 PCIE Through 是 Ascend NPU 硬件能力,允许 device 端算子通过 PCIE 总线直接访问 host 内存。当前单算子场景可用,但在模型编译场景下,编译期无法确定输入 tensor 的真实的地址范围,导致 tiling 阶段无法选择正确 kernel。 本特性通过编译期能力识别 + TilingContext 注入 + 执行期上下文扩展(动态 shape),解决此问题。 ### 核心设计 **编译阶段(lowering)**: - BuildTilingPcieThroughInput 从 DefaultOpImplSpaceRegistryV2 查询算子是否支持 PCIe Through,同时通过 IsPcieThroughEnabled 检查运行环境(option 开关、芯片能力、设备连接类型),两者均满足时将 pcie_through_flag 初始值设为 true - IsPcieThroughEnabled 结果通过 thread_local static 缓存,每个线程仅计算一次 - BuildTilingCommonInputs 在 input_addrs 可用时,通过 BuildRefTensor 将输入从 StorageShape 升级为包含设备地址的 Tensor,使运行时能通过 GetInputTensor(i)->GetAddr() 获取实际输入地址 **运行时(executor)**: - UpdatePcieThroughFlag 读取 pcie_through_flag,为 false 时直接跳过;为 true 时通过 IsAnyInputInPcieRange 遍历输入地址,检查是否落在 PCIe 地址范围内 - 若存在 PCIe 地址 → flag 保持 true;否则改为 false - GetPcieThroughFlag() 接口供 Tiling 函数和缓存键计算使用 **关键修复**: - fwk_data_idx 恢复后向计算(input_num - kFwkDataOffset),修复 symbol tiling 路径中前向计算导致的 702 行 ASSERT 失败 - GetPcieThroughFlag 改为后向 GetInputNum() - 1,与 pcie_through_flag 作为最后一个输入的布局一致 - TilingForAtomic 补充 BuildTilingPcieThroughInput 调用,保证输入布局一致性 - BuildGeneralTilingCacheKey 简化为直接读 GetPcieThroughFlag(),消除运行时查 space_registry 的版本不一致问题 ## 变更类型 - [x] ✨ 新功能 - [x] 🐛 Bug 修复 ## 关联的Issue <!-- 请在右侧关联对应 Issue --> ## 如何测试 1. 编译 UT:make -C cmake-build-gcov ut_fast_runtime2_test ut_exe_graph ut_register -j$(nproc) 2. 运行 PCIe Through 相关 UT:--gtest_filter='*PcieThrough*' 3. 运行 TilingContextBuilder UT:--gtest_filter='TilingContextBuilderUT.*' 4. 在 PCIe 直通环境上执行模型推理,验证 pcie_through 算子正确识别地址并优化搬运 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 ### 涉及文件 | 仓库 | 文件 | 改动说明 | |------|------|---------| | ge | runtime/v2/graph_builder/bg_tiling.cc | 新增 IsPcieThroughEnabled、BuildTilingPcieThroughInput;BuildTilingCommonInputs 支持 BuildRefTensor;TilingForAtomic 补充 pcie through 输入 | | ge | runtime/v2/kernel/common_kernel_impl/tiling.cc | 新增 IsAnyInputInPcieRange、UpdatePcieThroughFlag;fwk_data_idx 恢复后向计算;BuildGeneralTilingCacheKey 简化 | | ge | runtime/v2/kernel/common_kernel_impl/tiling.h | 新增 kPcieThroughFlag 枚举项 | | metadef | inc/external/exe_graph/runtime/tiling_context.h | GetPcieThroughFlag 改为后向计算 | | ge | tests/ | 新增 PCIe Through 相关 UT/ST 用例 | See merge request: cann/ge!4394 | 30 天前 | |
fix: 去除DoUnloadModel无效虚函数声明,消除析构函数调用虚函数告警 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !4782 merge fix/remove-dounloadmodel-virtual into develop fix: 去除DoUnloadModel无效虚函数声明,消除析构函数调用虚函数告警 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 代码检查告警:禁止在构造/析构函数中调用虚函数。告警链路: ExecutorContext::ModelHandle::~ModelHandle() → UnloadModel()(非虚)→ DoUnloadModel()(executor_context.cc:559,虚函数)。C++ 语义下析构期间虚分发不会到达派生类重写版本,属于隐性缺陷。 分析结论:DoUnloadModel 的虚性从未被实际利用——生产代码无任何派生类重写;UT 中的 MOCK_METHOD1(DoUnloadModel, ...) 为死代码(无任何 EXPECT_CALL 设置,调用链分析确认从未触发)。 修复方式(去虚): - 去除 DoUnloadModel 的 virtual 声明,executor_context.cc:559 不再构成虚函数调用,告警根治 - 同步删除 UT 中的死 mock 声明(event_handler_unittest.cc) - 行为零变化:析构期间虚调用本就解析到基类实现 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 本地 pre-commit 检查(clang-format/codespell/OAT 等)全部通过 2. 单元测试由 CI 流水线编译并执行 ut_libge_helper_utest 验证 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/ge!4782 | 26 天前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 3 个月前 | |
Refactor: RT2 Kernel Launch Interface Replacement Co-authored-by: liyanrong9<liyanrong9@h-partners.com> # message auto-generated for no-merge-commit merge: !4907 merge kernel_launch_0911 into develop Refactor: RT2 Kernel Launch Interface Replacement Created-by: liyanrong_9 Commit-by: liyanrong9 Merged-by: cann-robot Description: # Pull Request ## 描述 随着runtime库的更新,以下旧的KernelLaunch接口即将被下线: rtKernelLaunchWithHandleV2 rtVectorCoreKernelLaunchWithHandle rtKernelLaunchWithFlagV2 rtVectorCoreKernelLaunch 所有使用这些接口的代码需要迁移到新的接口 aclrtLaunchKernelWithHostArgs,以确保兼容性和未来维护。 此PR用于完成 runtime/v2 目录下所有相关代码的适配,替换旧接口为新接口。并通过测试验证新接口的正确性和性能,确保接口替换后保持功能一致性。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x]♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.进行ut/st测试 2.运行各芯片形态的端到端红线用例进行自验证。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4907 | 20 天前 | |
fix: 修复ARM环境UT和ST测试失败 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4961 merge dev-st0914 into develop fix: 修复ARM环境UT和ST测试失败 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: ## 变更说明 - 修复ARM环境下SoInOmST的架构路径和模型元数据硬编码。 - 修复SequenceErase和SequenceInsert的int64测试期望。 - 修复UT缓存恢复测试夹具缺少CustomOpRegistry的问题。 - 调整测试目标和HostCPU/GuardCodegen测试以适配ARM。 ## 验证结果 - bash tests/run_test.sh --ut:14/14测试目标通过,0失败。 - bash tests/run_test.sh --st:测试组全部通过,0失败。 ## 影响范围 仅测试代码、测试夹具和测试目标配置,不修改业务实现。 See merge request: cann/ge!4961 | 19 天前 | |
自动融合conv调用act_conv | 17 天前 | |
fix: 自定义算子 compile 修改为公共能力,注册表按 priority 域收敛实例共享语义 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !4966 merge new into develop fix: 自定义算子 compile 修改为公共能力,注册表按 priority 域收敛实例共享语义 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 包含两个关联提交,完成自定义算子能力模型与注册表的语义治理: 实现基准:算子注册属性 priority 是op级别,engine 是算子实现级别,compile/infer/portal 是op级公共 **1. compile 修改为公共能力**(9d36da56b) - kCompilable 虽然 host 使用场景可能不涉及,但不应该限制为device能力,应为公共能力;纳入 common capability 集合,与 infer 同语义:backend 无关、跨 backend 唯一 provider - CustomGraphOptimizer 改用 GetCustomOpCommonCapability<CompilableOp> 获取唯一 provider,删除 host 执行节点跳过 compile 的逻辑 - host-only 自定义算子实现 CompilableOp 后可收到编译回调;多个实例同时实现 CompilableOp 时拒绝编译,保证唯一 provider **2. 注册表层级调整为 priority -> engine -> backend**(dbb17730f) - OpRegistrationPriority 表达注册来源分层(kTop 外部默认槽 / kBottom 内部注册槽),提升为外层维度 - 实例缓存以 priority 为收敛域:同 op_type 同 priority 下相同实现类跨 engine/backend 共享同一实例 - GetCustomOpCommonCapability 在 priority 子树内做唯一 provider 检查,公共能力与 engine 无关,删除无效的 engine 参数 - 常量折叠优先查询 kBottom + kHostCpu 外部 Host CPU 实现的仲裁点行为不变 - 中英文设计文档同步更新层级与 priority 域收敛语义 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 编译 ut_register,运行 --gtest_filter='*CustomOpRegistry*'; 2. 编译 ut_libge_multiparts_utest,运行 --gtest_filter='UtestCustomOpsKernelInfoStore.CustomGraphOptimizer*:UtestCustomOpFactory*'; 3. 编译 ut_libge_others_utest,运行 --gtest_filter='UtestGraphPassesConstantFoldingPass*'。 测试结果: - CustomOpRegistry 12/12 通过(含跨 engine 实例共享、跨 engine 多 provider 冲突、非默认 engine 命中等新增用例) - CustomGraphOptimizer + CustomOpFactory 30/30 通过(含 host-only 编译回调、多 provider 冲突跳过等新增用例) - ConstantFoldingPass 45/45 通过 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/ge!4966 | 19 天前 | |
fix: 修复ONNX If分支捕获cond时父节点输入去重导致GraphLint索引越界 Co-authored-by: chenqian1365<chenqian2@huawei.com> # message auto-generated for no-merge-commit merge: !4860 merge fix/onnx-if-cond-slot-dedup into develop fix: 修复ONNX If分支捕获cond时父节点输入去重导致GraphLint索引越界 Created-by: chenqian1365 Commit-by: chenqian1365 Merged-by: cann-robot Description: # Pull Request ## 描述 PR#4663 引入回归: IfSubgraphAdapter::AddInputForParentNode 为父 If 节点补齐闭包捕获输入时,按父节点已有 input 名字做去重,input[0](cond 槽位)会被误去重。当分支子图闭包捕获 cond 时,子图侧追加该输入而父 If 节点侧跳过追加,解析阶段子图 Data 的 parent_index = data_index + 1 越界,编译在 GraphLint 断言失败: text Input index 2 should not be larger than inputs size 2 [FUNC:SetInputRwType][FILE:graph_lint.cc][LINE:46] Failed to mark wrapper node the_if rw_type, input index 2 [FUNC:RefreshParentNodeIfNeed][FILE:graph_lint.cc][LINE:87] 本 PR 修复: - AddInputForParentNode 去重时跳过 input[0](cond 槽位):分支闭包捕获 cond 时父 If 节点同步追加同名输入(适配后 If.input = [cond, cond]),保持子图 input 与父 If 节点 input 的按位置对应关系(canndev if_plugin.cc 的 parent_index = data_index + 1 位置映射) - 适配前对 If 输入数不为 1 的非规范模型打 WARNING(ONNX 规范 If 仅有 1 个输入 cond,见 https://onnx.ai/onnx/operators/onnx__If.html),多余输入按"分支按名字捕获的值"继续转换,不拒绝。旧版解析器可编译 If.input = [cond, x] 等伪传参模型,为防有人使用此类非规范用法、升级后行为退化,仅告警不拦截 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue (无) ## 如何测试 1. 最小复现模型(If(cond),分支子图闭包捕获 cond):修复前 atc 报上述 GraphLint 断言失败,修复后编译成功,结果与 onnxruntime 参照一致 2. 回归验证合法模型(嵌套 If 闭包捕获、图输出透传捕获、分支并集传播等):编译成功 3. 回归验证非规范伪传参模型(If.input=[cond, x] 捕获 x;If.input=[cond, x] 捕获 x+y,旧版均可正常编译):编译成功,并输出非规范输入 WARNING(含节点名与输入数) 4. 单元测试:ctest -R ut_parser 中 *IfSubgraphAdapter* 9 个用例全部通过(PR#4663 原有 6 个 + 新增 3 个:捕获 cond 槽位去重、多输入捕获已有输入、多输入捕获已有+新增输入),覆盖子图 Data 与父 If 节点 input 的位置对应不变式 5. pre-commit 检查全部通过 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 GraphLint 断言本身未改动;对非规范 If 多输入模型不做拒绝,仅 WARNING 记录,避免升级后行为退化;若后续需要严格对齐 ONNX 标准,可通过版本策略或开关逐步收紧。 See merge request: cann/ge!4860 | 23 天前 | |
fix:improve log usability-0910 Co-authored-by: m0_50621083<hongyuecheng@huawei.com> # message auto-generated for no-merge-commit merge: !4876 merge CANN-log-evaluation-develop-0910 into develop fix:improve log usability-0910 Created-by: m0_50621083 Commit-by: m0_50621083 Merged-by: cann-robot Description: # Pull Request ## 描述 本次提交基于 CANN 日志易用性评测工具的扫描结果,对 GE 仓库中的日志问题进行整改,主要包括: - 修正日志中的英文拼写和语法错误 - 补充不完整的错误描述 - 优化部分日志表达,使错误原因和处理建议更加明确 - 修正不规范的日志输出内容 - 为涉及容量、内存等数值的日志补充单位 本次仅修改日志文案及相关输出表达,不改变业务逻辑、控制流程、算法和接口行为。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 运行项目 pre-commit 检查,确认格式、拼写和合规检查通过。 2. 运行 PR 编译及 UT/ST 流水线,确认相关门禁通过。 3. 检查代码差异,确认仅修改日志文案,不涉及业务逻辑、控制流和算法。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次整改仅修改日志文案与日志输出接口,不改变任何业务逻辑、控制流、算法。 See merge request: cann/ge!4876 | 23 天前 | |
feat: 优化Nano模型内存拷贝 | 1 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 3 个月前 | |
fix: 修复arm环境下llt编译问题 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4610 merge dev-llt0828 into develop fix: 修复arm环境下llt编译问题 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: 环境 A:Linux arm 环境B:Debian arm | 序号 | 测试分组 | 问题 | 影响环境 | 失败/卡住用例 | 主要现象 | 处理方式 | | --- | --- | --- | --- | --- | --- | --- | | 1 | ge_common | HostCPU JIT 编译 | A、B | HostCpuFusionPassTest.CompilesGeneratedSourceAndRejectsInvalidSource | ARM 调用 x86_64-linux-gnu-g++,退出码 127 | **已处理,已验证**:ARM64 跳过 | | 2 | ge_common | Eager 历史代码生成 | A | EsMainUt.ExecuteGeneration_ExtractHistoryWithEmptyVersion | asc_dumper 运行时 abort,曾报 libunified_dlog.so 加载失败 | **已处理,已验证**:ARM64 跳过 | | 3 | ge_rt | DVPP SQE Launch Mock | A、B | generate_sqe_and_launch_task_001~006 | 测试卡住或 CTest 超时 | **已处理,已验证**:ARM64 跳过 6 个 | | 4 | ge_rt | DVPP Workspace Mock | A、B | CalcOpWorkSpaceSize_001~003 | stack smashing detected,进程 abort | **已处理,已验证**:ARM64 跳过 3 个 | | 5 | ge_common | OpsKernelBuilderRegistry 泄漏 | A、B | IncCov_DestructorUnregisterWarning_Test | ASAN 报告 16 字节泄漏,导致 ut_register 失败 | **已处理,已验证**:ARM64 跳过 | | 6 | dflow | libge_runner_v2.so 符号缺失 | A、B | ut_libge_helper_utest、ut_llm_engine_utest | 动态链接时报 undefined symbol: SymbolicInferUtil::GetValueDependentInputIdxs | **已处理,已验证**:DFlow CTest 前补建相关目标,A、B 均不再复现 | | 7 | dflow | FunctionCompile 测试资源类型未适配 ARM | A、B | FunctionCompileTest.FunctionPpCompile、FunctionCompileTest.CompileAllResourceTypeFailed | ARM 实际使用 {Ascend, Aarch},测试硬编码 {Ascend, X86} | **已处理,已验证**:ARM64 跳过两个用例 | | 8 | 构建 | protobuf 生成头文件依赖缺失 | A、B | AIR 的 select_targets 构建 | 重新编译 fe_gentask_utils.cc 时找不到 proto/task.pb.h | **已处理,已验证**:在 tests/engines/CMakeLists.txt 中仅对 Engine LLT 的 aicore_utils 补充 graphengine_protos 依赖和头文件路径 | | 9 | 构建 | CMake 增量重配置未加载 CANN CMake 函数 | A、B | tests/run_test.sh --ut 的 build_ut 配置 | 第二次 cmake .. 时 generate_cann_protobuf 未定义 | **已处理,已验证**:不修改全局 fetch_cann_cmake.cmake;新版本 CMake 使用 --fresh,旧版本仅清理 CMakeCache.txt 和 CMakeFiles 后重新配置 | | 10 | 构建 | AIR aicore_utils 链接库路径缺失 | A、B | AIR 的 aicore_utils | -lgraph、-lregister 无法解析 | **已处理,已验证**:显式解析 toolkit 库路径 | | 11 | ge_common | RangeAxis UT 使用未初始化 c0 | B | 5 个 RANGE_AXIS_UTIL_UTEST 用例 | 未初始化 c0 在 B 上为 0 | **已处理,已验证**:初始化 c0 = 1 | | 12 | ge_common | ModelHelper ARM64 运行时崩溃 | B | UtestModelHelperMisc.CheckOsCpuInfoAndOppVersion_NeedCheck | asc_dumper 缺少依赖后触发 ASAN SEGV | **已处理,已验证**:ARM64 跳过 | | 13 | T.E. Fusion | 多个 AIR 目标链接库缺失 | A、B | T.E. Fusion AIR 构建中的多个目标 | -lgraph_base、-llowering、-lgraph 等链接错误 | **已处理,已验证**:B 独立拷贝 302 个 UT 全部通过,已恢复默认执行 | | 14 | CPU Engine UT | 测试 stub/用例定义未同步 | A、B | CPU Engine UT 编译和链接 | stub 常量、命名空间及 ACL/AICPU 符号缺失 | **已处理,已验证**:本地 13/98/113 个测试分别通过,修改已同步 A、B | | 15 | FFTS UT | 测试变量拼写错误 | A、B | ffts_ut 编译 | nofity 未声明 | **已处理,已验证**:修正为 notify | | 16 | FFTS UT | 测试访问空任务导致 core dump | A、B | 4 个任务生成用例 | tasks 为空时访问 tasks[0] | **已处理,已验证**:统一跳过 4 个用例 | | 17 | FFTS UT | ARM 任务生成/校验用例断言失败 | A、B | 10 个任务生成/校验用例 | 实际返回值与测试期望不一致 | **已处理,已验证**:ARM64 跳过 10 个用例 | | 18 | FFTS UT | 非法插件句柄导致 core dump | A、B | PluginManagerUTEST.Close_Handle_Fail_2 | 对栈变量地址调用 dlclose 触发 SIGSEGV | **已处理,已验证**:ARM64 跳过 | | 19 | LLT 构建流程 | 测试阶段误进入发布包安装 | A、B | build_fwk.sh、scripts/build.sh 的 LLT 构建 | package 规则检查不存在的 target | **已处理,已验证**:LLT 不执行安装,CMake 不加载 package 规则 | | 20 | RTS UT | 测试 CMake 源文件、目标依赖及运行库路径未随构建模式调整 | A、B | rts_engine_utest 配置、编译和执行 | 旧源码路径、运行时声明、select_targets 依赖及 Release 运行时 gtest 路径缺失 | **已处理,已验证**:更新 RTS UT 源文件和头文件路径,补充 rts_ut 目标依赖及 gtest rpath;本地清理 build/ 后 67 个用例中 66 个通过、1 个跳过 | | 21 | RTS UT | CmoAddr 用例依赖环境 Chip type | A、B | RtsEngineOpTest.CmoAddrOpTest | 返回环境相关错误码 507008,与固定期望不一致 | **已处理,已验证**:全架构跳过,本地 67 个用例中 66 个通过、1 个跳过 | | 22 | RTS UT | MemcpyAsyncOp.Notiling_01 未设置运行时数据内存容量 | A | MemcpyAsyncOp.Notiling_01 | tensor size 为 512、runtime descriptor size 为 1024,offset 均为 1,但 dataMemSize 不足,输入或 descriptor 地址范围校验失败 | **已处理,已本地验证**:值初始化 RunContext 并设置 dataMemSize = 1025;本地 RTS UT 66 个通过、1 个跳过,Notiling_01 通过 | | 23 | HCCE UT/ST 流程 | HCCE 测试代码与当前 HCCL API 版本不兼容 | A、B | hccl_engine_utest、hccl_engine_stest | 测试接口、mock 签名及 runtime stub 与当前实现不一致,无法完成编译 | **当前规避**:从 tests/run_test.sh 全量 UT/ST 流程中注释 HCCE 构建与执行 | See merge request: cann/ge!4610 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 23 天前 | ||
| 12 天前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 30 天前 | ||
| 26 天前 | ||
| 3 个月前 | ||
| 20 天前 | ||
| 19 天前 | ||
| 17 天前 | ||
| 19 天前 | ||
| 23 天前 | ||
| 23 天前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 1 个月前 |