| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: aclnn fallback支持算子级确定性配置 Co-authored-by: ClarkXie<xiezhengkai@huawei.com> # message auto-generated for no-merge-commit merge: !4322 merge batch_deterministic into develop fix: aclnn fallback支持算子级确定性配置 Created-by: ClarkXie Commit-by: ClarkXie Merged-by: cann-robot Description: # Pull Request ## 描述 完善 ACLNN fallback 的算子级 deterministic 配置处理:算子执行前临时覆盖确定性配置,执行结束后恢复模型基线配置;离线模型加载时校验 process global option 与模型配置的一致性。 确定性配置统一直接使用最新 runtime set 接口。 deterministic 仅用于与 deterministic_level 做一致性校验,真正下发到 runtime 的值只使用 deterministic_level;不再查询 runtime 或算子包版本,也不再做 capability 分档和 kernel 侧配置对齐。 ## 主要变更 - base/common/op_tiling/op_tiling_rt2.{h,cc} - 独立读取 graph/node 的 deterministic 和 deterministic level 属性。 - 在 SetDeterministicConfig 内校验两者是否同为 0 或同为非 0。 - process/context runtime 配置统一直接下发 deterministic level,并保留全局设置加锁。 - runtime/v2/engine/aicore/converter/aclnn_node_converter.cc - 保存算子级 deterministic/level 属性及存在标记。 - 创建并保存模型原始 deterministic 基线配置。 - 移除 runtime、ops_math、ops_nn、ops_transformer、ops_cv、ops_legacy 版本查询及 capability 组装。 - runtime/v2/engine/aicore/kernel/aclnn_op_execute_kernel.{h,cc} - 复用 FwkData 传递算子级配置和原始基线配置。 - 一体式执行和两阶段 prepare 前按需临时覆盖 runtime 配置,并在成功/失败路径恢复基线。 - 两阶段 launch 不消费 deterministic 配置;kernel 不负责 deterministic/level 对齐。 - runtime/v2/api/api.cc - 离线模型加载时校验模型 global option 与进程 global option 的一致性。 - 增加 root graph 属性、进程 option、比较结果及跳过原因的 INFO 日志,便于定位校验未生效问题。 - UT/ST - 更新确定性配置下发、level 透传、不一致配置拒绝、算子级覆盖与恢复、离线 global option 校验相关用例。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] ♻️ 重构 - [ ] 📦 构建过程或辅助工具 - [ ] 📝 文档内容更新 ## 关联的 Issue 无。 ## 如何测试 按要求未执行 UT/ST;已完成 git diff --check。 ## 核对清单 - [x] 代码遵循项目代码风格 - [x] 已完成静态差异检查(git diff --check) - [x] 已执行 UT/ST - [x] 已更新设计文档(按要求不修改文档) See merge request: cann/ge!4322 | 20 天前 | |
feat: host cpu算子支持codegen融合 Co-authored-by: @SeasonChu<zhuxincheng2@huawei.com> # message auto-generated for no-merge-commit merge: !4246 merge hostcpu-private-cabi-poc into develop feat: host cpu算子支持codegen融合 Created-by: SeasonChu Commit-by: @SeasonChu Merged-by: cann-robot Description: ## 变更目的 在动态 Shape/小 Shape 场景下,将满足条件的 HostCPU 算子链融合为 FusedHostCpu,通过 JIT 生成融合编排 SO,并由 Runtime2 在 Host 上直接执行,减少逐算子调度和参数构造开销,打通 Compiler、HostCpuEngine、CPU Engine 与 Runtime2 的端到端融合链路。 ## 主要变更 ### 1. 融合区域识别与图改写 - 在最终 HostCPU 引擎归属刷新后执行 HostCpuFusionPass,递归处理根图及其子图。 - 仅选择 HostCPU engine/kernel store、SmallShapeHostcpu、输入输出合法且存在 CpuKernel 实现的节点作为候选。 - 基于候选数据边构建连通分量,支持汇聚 DAG 保持和非汇聚多 sink 分支的 Clone-and-Split。 - 先完成所有区域的代码生成与编译,再统一提交图修改;失败时保留原图,并同步维护 atomic/composite engine map。 - 将融合节点所需的注册名、SO key、原始节点信息和输出映射写入 FusedHostCpu 属性。 ### 2. HostCPU Fusion JIT Codegen - 根据融合区域生成 HostCPU 编排源码,保持外部输入、外部输出及内部节点的拓扑和绑定关系。 - 支持计算相关属性序列化、内部临时 Tensor 管理和多输出映射。 - 在内存中编译生成 SO,并校验 ELF 后再进入图提交阶段。 - 使用确定性 chain id/register name,将 SO 数据存储在根图属性中,避免节点迁移到子图后无法定位产物。 ### 3. HostCpuEngine 与 CPU Engine - 增加 IsCpuConstantFoldingFusedOpSupported 查询,仅允许已注册的 V1/V2 CpuKernel 进入融合。 - 增加融合链 plan 的创建、销毁、执行和 Tensor binding/rebind 能力。 - 对运行时地址、Shape、dtype 和 format 变化进行增量重绑,复用已创建的内部 CpuKernel plan。 - 统一 JIT SO 与 Runtime2 之间的 private C ABI,提供注册校验及 create/destroy/run 入口。 ### 4. Runtime2 加载与直接执行 - 从根图读取融合 SO,完成 ELF 校验、动态加载、注册校验和 private entry 解析。 - 将 FusedHostCpu lowering 为专用 FusedHostCpuCompute ExecuteGraph kernel。 - 在执行时构造 Host Tensor binding,调用融合入口完成 Host 侧直调,并回传输出地址和 Shape。 - 在模型 DeInit 阶段释放 kernel state 和模型引用,保留进程级安全缓存,避免注册回调悬空。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新 - [ ] ♻️ 重构 - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 如何测试 算子满足host执行,且hostcpu算子节点数大于等于2 ## 测试结果 连续的hostcpu算子融合为一个fused算子 ## 关联 Issue 无。 See merge request: cann/ge!4246 | 20 天前 | |
feat(rt2): remove launch critical free edge Co-authored-by: Mexyy<xiaguozheng1@hisilicon.com> # message auto-generated for no-merge-commit merge: !3914 merge f_rt2_remove_launch_free_squashed into develop feat(rt2): remove launch critical free edge Created-by: Mexyy Commit-by: Mexyy Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 涉及以下 RT2 功能点: - launch kernel 标记与调度分类。 - remove launch critical free edge。 - copy flow launch 拆分与设备 copy size 执行期计算。 - launch submit 水位线等待与 mixed launch memory barrier。 - launch copy scheduling 对齐及相关 RT2 UT/ST 覆盖。 - RT2 运行时设计文档和约束说明更新。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. git diff --check upstream/develop..HEAD 2. git push -u origin f_rt2_remove_launch_free_squashed,远端 Git hooks 返回 PASSED。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无。 See merge request: cann/ge!3914 | 28 天前 | |
feat(rt2): remove launch critical free edge Co-authored-by: Mexyy<xiaguozheng1@hisilicon.com> # message auto-generated for no-merge-commit merge: !3914 merge f_rt2_remove_launch_free_squashed into develop feat(rt2): remove launch critical free edge Created-by: Mexyy Commit-by: Mexyy Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 涉及以下 RT2 功能点: - launch kernel 标记与调度分类。 - remove launch critical free edge。 - copy flow launch 拆分与设备 copy size 执行期计算。 - launch submit 水位线等待与 mixed launch memory barrier。 - launch copy scheduling 对齐及相关 RT2 UT/ST 覆盖。 - RT2 运行时设计文档和约束说明更新。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. git diff --check upstream/develop..HEAD 2. git push -u origin f_rt2_remove_launch_free_squashed,远端 Git hooks 返回 PASSED。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无。 See merge request: cann/ge!3914 | 28 天前 | |
feat(rt2): remove launch critical free edge Co-authored-by: Mexyy<xiaguozheng1@hisilicon.com> # message auto-generated for no-merge-commit merge: !3914 merge f_rt2_remove_launch_free_squashed into develop feat(rt2): remove launch critical free edge Created-by: Mexyy Commit-by: Mexyy Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 涉及以下 RT2 功能点: - launch kernel 标记与调度分类。 - remove launch critical free edge。 - copy flow launch 拆分与设备 copy size 执行期计算。 - launch submit 水位线等待与 mixed launch memory barrier。 - launch copy scheduling 对齐及相关 RT2 UT/ST 覆盖。 - RT2 运行时设计文档和约束说明更新。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. git diff --check upstream/develop..HEAD 2. git push -u origin f_rt2_remove_launch_free_squashed,远端 Git hooks 返回 PASSED。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无。 See merge request: cann/ge!3914 | 28 天前 | |
feat(rt2): remove launch critical free edge Co-authored-by: Mexyy<xiaguozheng1@hisilicon.com> # message auto-generated for no-merge-commit merge: !3914 merge f_rt2_remove_launch_free_squashed into develop feat(rt2): remove launch critical free edge Created-by: Mexyy Commit-by: Mexyy Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 涉及以下 RT2 功能点: - launch kernel 标记与调度分类。 - remove launch critical free edge。 - copy flow launch 拆分与设备 copy size 执行期计算。 - launch submit 水位线等待与 mixed launch memory barrier。 - launch copy scheduling 对齐及相关 RT2 UT/ST 覆盖。 - RT2 运行时设计文档和约束说明更新。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. git diff --check upstream/develop..HEAD 2. git push -u origin f_rt2_remove_launch_free_squashed,远端 Git hooks 返回 PASSED。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无。 See merge request: cann/ge!3914 | 28 天前 | |
【feature】: HostCPU 调度优化 Co-authored-by: SeasonChu<zhuxincheng2@huawei.com> # message auto-generated for no-merge-commit merge: !3626 merge hostcpu into develop 【feature】: HostCPU 调度优化 Created-by: SeasonChu Commit-by: SeasonChu Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 新增hostCpu调度特性如果DATA设置了 _host_tensor=true ,该DATA节点会被放在host上 主要变更: 1. 完善 HostCPU anchor 识别 - Data 节点支持通过 _host_tensor=true 作为 HostCPU 传播起点。 2. 新增 _host_tensor_as_model_input 标记 - HostcpuEngineUpdatePass BFS 传播完成后,对 host_exe_ops_ 中的 Data 节点追加 _host_tensor_as_model_input=true。 - 该标记用于区分“前端 host tensor 标记”和“运行时需要保持 Host placement 的模型输入”。 3. 运行时按新标记处理模型输入 - HybridModelRtV2Executor 初始化 host model input 索引。 - 对标记为 host model input 的输入跳过 H2D,直接保持 Host placement。 - 增加 device placement 校验,避免 HostCPU 节点误消费 Device 地址。 - runtime/v2/engine/gelocal/inputs_converter.cc 改为基于 _host_tensor_as_model_input 设置 feed data placement。 4. 补充相关 UT/ST - 更新 HostcpuEngineUpdatePass 单测。 - 增加 HybridModelRtV2Executor host model input 场景测试。 - 回归 fast runtime v2/autofuse 相关用例适配。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 执行 HostcpuEngineUpdatePass 相关 UT,验证 BFS 传播后的 Data 节点会被标记为 _host_tensor_as_model_input=true。 2. 执行 HybridModelRtV2Executor 相关 UT/ST,验证 host model input 跳过 H2D 并保持 Host placement。 3. 回归 fast runtime v2/autofuse 相关测试,确认普通 Device 输入路径不受影响。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 该修改将 HostCPU 传播结果固化到 Data 节点,供运行时统一判断模型输入 placement,避免仅依赖前端 _host_tensor 标记导致输入仍被搬运到 Device。 See merge request: cann/ge!3626 | 1 个月前 | |
feat(rt2): remove launch critical free edge Co-authored-by: Mexyy<xiaguozheng1@hisilicon.com> # message auto-generated for no-merge-commit merge: !3914 merge f_rt2_remove_launch_free_squashed into develop feat(rt2): remove launch critical free edge Created-by: Mexyy Commit-by: Mexyy Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 涉及以下 RT2 功能点: - launch kernel 标记与调度分类。 - remove launch critical free edge。 - copy flow launch 拆分与设备 copy size 执行期计算。 - launch submit 水位线等待与 mixed launch memory barrier。 - launch copy scheduling 对齐及相关 RT2 UT/ST 覆盖。 - RT2 运行时设计文档和约束说明更新。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. git diff --check upstream/develop..HEAD 2. git push -u origin f_rt2_remove_launch_free_squashed,远端 Git hooks 返回 PASSED。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无。 See merge request: cann/ge!3914 | 28 天前 | |
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 | 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 | 2 个月前 |