文件最后提交记录最后更新时间
feat(sk_candidate_heap): 修改候选节点选择优先级,非KERNEL节点优先 Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !221 merge master into master feat(sk_candidate_heap): 修改候选节点选择优先级,非KERNEL节点优先 Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 修改 SkCandidateHeap 类的节点选择策略,将非KERNEL节点(NOTIFY/WAIT/RESET) 的优先级提升到KERNEL节点之上。 变更内容: - 更新 SkCandidateHeap 类设计文档,明确新的选择规则 1. 当堆中存在非KERNEL节点时,非KERNEL节点优先,按nodeId升序选择 2. 当堆中无非KERNEL节点时,KERNEL节点按SkTaskSorter规则选择 - 更新测试用例以匹配新的优先级规则 - Pop_KernelPrioritizedOverNonKernel -> Pop_NonKernelPrioritizedOverKernel - Pop_MixedNodes_KernelFirst -> Pop_MixedNodes_NonKernelFirst - 调整 Reset_InitializesAllVariablesAndState 测试预期 - 调整 Reset_CanReuseAfterReset 测试预期 - 调整 ComplexScenario_MixedNodeTypes 测试预期 测试结果:SkCandidateHeapTest 全部 41 个用例通过 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!2212 个月前
feat(sk_candidate_heap): 修改候选节点选择优先级,非KERNEL节点优先 Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !221 merge master into master feat(sk_candidate_heap): 修改候选节点选择优先级,非KERNEL节点优先 Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 修改 SkCandidateHeap 类的节点选择策略,将非KERNEL节点(NOTIFY/WAIT/RESET) 的优先级提升到KERNEL节点之上。 变更内容: - 更新 SkCandidateHeap 类设计文档,明确新的选择规则 1. 当堆中存在非KERNEL节点时,非KERNEL节点优先,按nodeId升序选择 2. 当堆中无非KERNEL节点时,KERNEL节点按SkTaskSorter规则选择 - 更新测试用例以匹配新的优先级规则 - Pop_KernelPrioritizedOverNonKernel -> Pop_NonKernelPrioritizedOverKernel - Pop_MixedNodes_KernelFirst -> Pop_MixedNodes_NonKernelFirst - 调整 Reset_InitializesAllVariablesAndState 测试预期 - 调整 Reset_CanReuseAfterReset 测试预期 - 调整 ComplexScenario_MixedNodeTypes 测试预期 测试结果:SkCandidateHeapTest 全部 41 个用例通过 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!2212 个月前
【feat】: Dump json file to retrieve graph information from modelRI, Update fusion failure reason log file Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge fix-rea into master 【feat】: Dump json file to retrieve graph information from modelRI, Update fusion failure reason log file Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 1. 新增:dump origin graph from graph 2. 新增:dump fused graph from graph 3. 新增:dump origin graph from modelRI 4. 新增:dump fused graph from modelRI 5. 新增:dump taskqueue of aic and aiv 6. 更新:修改算子二进制文件名为{func name}_{addr} 7. 更新:融合失败原因修改为:打印不可融kernel及其原因、打印scope断开原因 8. 修复:关闭kernel meta选项后,对应sk_meta文件不生成 ## 变更类型 请选择本次引入的变更类型: <!-- [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/graph-autofusion!3001 个月前
feat(aot): support configurable memory wait fusion gating Co-authored-by: yrz1027<yangruizhi5@huawei.com> # message auto-generated for no-merge-commit merge: !266 merge feat/memwait-choice-dev into master feat(aot): support configurable memory wait fusion gating Created-by: yrz1027 Commit-by: yrz1027 Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 主要补充 value memory wait 在 SuperKernel 融合链路中的策略控制,并将相关 aggressive fusion 选项统一收敛到 AGGRESSIVE_OPT_STRATEGIES。 主要变更: - 将原 TASK_BREAKER_BYPASS 扩展为 AGGRESSIVE_OPT_STRATEGIES,统一承载 eventBreakerBypassvalueBreakerBypasstaskBreakerBypass。 - 新增 valueBreakerBypass 位掩码策略,用于控制 paired wait 和 unpaired wait 的可融行为。 - 在 graph 后处理阶段按 memory wait rule 做配对检查,并将 NODE_MEMORY_WRITE/NODE_MEMORY_WAIT 归一化为 NODE_NOTIFY/NODE_RESET/NODE_WAIT 后再进入后续链路。 - deadlock detector 改为持有 options manager,并在检测时自行读取 AGGRESSIVE_OPT_STRATEGIES,避免后续新增选项时继续透传参数。 - 保留 task breaker bypass 行为,但通过 aggressive opts 读取。 - 补充 graph、scope split、lock detector、task builder、options manager 等相关 UT 覆盖。 - 修复 dump json UT 中重复 SuperKernelGraphTest fixture 名称导致全量 UT 运行时内存错误的问题。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. git diff --check 2. bash build.sh --module=superkernel --impl=cpp --ut -j 8 测试结果: - cpp UT 全量通过:700 tests passed。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/graph-autofusion!2661 个月前
feat(aot): support configurable memory wait fusion gating Co-authored-by: yrz1027<yangruizhi5@huawei.com> # message auto-generated for no-merge-commit merge: !266 merge feat/memwait-choice-dev into master feat(aot): support configurable memory wait fusion gating Created-by: yrz1027 Commit-by: yrz1027 Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 主要补充 value memory wait 在 SuperKernel 融合链路中的策略控制,并将相关 aggressive fusion 选项统一收敛到 AGGRESSIVE_OPT_STRATEGIES。 主要变更: - 将原 TASK_BREAKER_BYPASS 扩展为 AGGRESSIVE_OPT_STRATEGIES,统一承载 eventBreakerBypassvalueBreakerBypasstaskBreakerBypass。 - 新增 valueBreakerBypass 位掩码策略,用于控制 paired wait 和 unpaired wait 的可融行为。 - 在 graph 后处理阶段按 memory wait rule 做配对检查,并将 NODE_MEMORY_WRITE/NODE_MEMORY_WAIT 归一化为 NODE_NOTIFY/NODE_RESET/NODE_WAIT 后再进入后续链路。 - deadlock detector 改为持有 options manager,并在检测时自行读取 AGGRESSIVE_OPT_STRATEGIES,避免后续新增选项时继续透传参数。 - 保留 task breaker bypass 行为,但通过 aggressive opts 读取。 - 补充 graph、scope split、lock detector、task builder、options manager 等相关 UT 覆盖。 - 修复 dump json UT 中重复 SuperKernelGraphTest fixture 名称导致全量 UT 运行时内存错误的问题。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. git diff --check 2. bash build.sh --module=superkernel --impl=cpp --ut -j 8 测试结果: - cpp UT 全量通过:700 tests passed。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/graph-autofusion!2661 个月前
feat(constant-codegen): add constant array generation for TaskQue optimization Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !206 merge master into master feat(constant-codegen): add constant array generation for TaskQue optimization Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: # Pull Request ## 描述 feat(constant-codegen): add constant array generation for TaskQue optimization Implement a new constant code generation module that converts runtime TaskQue dispatch into compile-time constant arrays for performance optimization. Key changes: - Add sk_constant_codegen.cpp/h: ConstantCodeGenerator class - Generate compile-time constant TaskInfo structures from runtime data - Produce specialized entry functions with unrolled task execution - JIT compile via aclrtc and resolve funcHandle at build time - Dump generated source (.asc) and binary (.bin) to sk_meta directory - Add detailed logging for debugging and troubleshooting - Register CONSTANT_CODEGEN option (default: enabled) Integration: - Modify GenEntryInfo() to try constant codegen first, fallback to original logic if disabled or failed - Replace runtime funcHandle with compile-time specialized funcHandle ## 变更类型 请选择本次引入的变更类型: <!-- [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/graph-autofusion!2062 个月前
enhance sk aicore error exception info Co-authored-by: hujiawen_kaven<hujiawen5@hisilicon.com> # message auto-generated for no-merge-commit merge: !257 merge dfx_info_enhanced into master enhance sk aicore error exception info Created-by: hujiawen_kaven Commit-by: hujiawen_kaven Merged-by: cann-robot Description: # Pull Request ## 描述 1. enhance sk aicore error exception info 2. add set_cond, record op trace in cond register ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!2571 个月前
【Aclgraph】【SuperKernel】【DFX】aicore error log using start pc Co-authored-by: hujiawen_kaven<hujiawen5@hisilicon.com> # message auto-generated for no-merge-commit merge: !231 merge dfx_aicore_error_pc_version into master 【Aclgraph】【SuperKernel】【DFX】aicore error log using start pc Created-by: hujiawen_kaven Commit-by: hujiawen_kaven Merged-by: cann-robot Description: # Pull Request ## 描述 【Aclgraph】【SuperKernel】【DFX】aicore error时使用pc及子算子entry和func size计算报错pc对应的子算子 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!2311 个月前
Refactoring the dump json file code and fixing the printing of log information Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !359 merge cg-c into master Refactoring the dump json file code and fixing the printing of log information Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 1. 重构dump json的代码,把graph里调用rts接口的部分抽取出来,供多次调用 2. 修复scope 融合失败原因打印日志信息 3. 修复taskqueue里打印信息缺失 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [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/graph-autofusion!35924 天前
Refactoring the dump json file code and fixing the printing of log information Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !359 merge cg-c into master Refactoring the dump json file code and fixing the printing of log information Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 1. 重构dump json的代码,把graph里调用rts接口的部分抽取出来,供多次调用 2. 修复scope 融合失败原因打印日志信息 3. 修复taskqueue里打印信息缺失 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [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/graph-autofusion!35924 天前
[fix]打印线程单独setdevice,避免runtime接口默认设置device 0 Co-authored-by: huxj153<huxiujuan@huawei.com> # message auto-generated for no-merge-commit merge: !362 merge f/deepseekr1 into master [fix]打印线程单独setdevice,避免runtime接口默认设置device 0 Created-by: huxj153 Commit-by: huxj153 Merged-by: cann-robot Description: # Pull Request ## 描述 打印线程单独setdevice,避免runtime接口默认设置device 0 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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/graph-autofusion!36223 天前
[fix]打印线程单独setdevice,避免runtime接口默认设置device 0 Co-authored-by: huxj153<huxiujuan@huawei.com> # message auto-generated for no-merge-commit merge: !362 merge f/deepseekr1 into master [fix]打印线程单独setdevice,避免runtime接口默认设置device 0 Created-by: huxj153 Commit-by: huxj153 Merged-by: cann-robot Description: # Pull Request ## 描述 打印线程单独setdevice,避免runtime接口默认设置device 0 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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/graph-autofusion!36223 天前
增加profiling落盘路径 Co-authored-by: huxj153<huxiujuan@huawei.com> # message auto-generated for no-merge-commit merge: !265 merge f/profiling_path into master 增加profiling落盘路径 Created-by: huxj153 Commit-by: huxj153 Merged-by: cann-robot Description: # Pull Request ## 描述 增加profiling落盘路径 ## 变更类型 请选择本次引入的变更类型: <!-- [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/graph-autofusion!2651 个月前
Refactoring the dump json file code and fixing the printing of log information Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !359 merge cg-c into master Refactoring the dump json file code and fixing the printing of log information Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 1. 重构dump json的代码,把graph里调用rts接口的部分抽取出来,供多次调用 2. 修复scope 融合失败原因打印日志信息 3. 修复taskqueue里打印信息缺失 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [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/graph-autofusion!35924 天前
Refactoring the dump json file code and fixing the printing of log information Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !359 merge cg-c into master Refactoring the dump json file code and fixing the printing of log information Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 1. 重构dump json的代码,把graph里调用rts接口的部分抽取出来,供多次调用 2. 修复scope 融合失败原因打印日志信息 3. 修复taskqueue里打印信息缺失 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [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/graph-autofusion!35924 天前
【fix】: fix lockdetector with node in scope and inheritance relationship of the reason for scope break Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !325 merge test into master 【fix】: fix lockdetector with node in scope and inheritance relationship of the reason for scope break Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 1. 补全死锁检测中node节点在scope内的stream设置和释放 2. 修复scope断开原因的继承关系:before=origin时继承parentscope,否则设置为当前reason;after总是继承parentscope ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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/graph-autofusion!32529 天前
feat(aot): support configurable memory wait fusion gating Co-authored-by: yrz1027<yangruizhi5@huawei.com> # message auto-generated for no-merge-commit merge: !266 merge feat/memwait-choice-dev into master feat(aot): support configurable memory wait fusion gating Created-by: yrz1027 Commit-by: yrz1027 Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 主要补充 value memory wait 在 SuperKernel 融合链路中的策略控制,并将相关 aggressive fusion 选项统一收敛到 AGGRESSIVE_OPT_STRATEGIES。 主要变更: - 将原 TASK_BREAKER_BYPASS 扩展为 AGGRESSIVE_OPT_STRATEGIES,统一承载 eventBreakerBypassvalueBreakerBypasstaskBreakerBypass。 - 新增 valueBreakerBypass 位掩码策略,用于控制 paired wait 和 unpaired wait 的可融行为。 - 在 graph 后处理阶段按 memory wait rule 做配对检查,并将 NODE_MEMORY_WRITE/NODE_MEMORY_WAIT 归一化为 NODE_NOTIFY/NODE_RESET/NODE_WAIT 后再进入后续链路。 - deadlock detector 改为持有 options manager,并在检测时自行读取 AGGRESSIVE_OPT_STRATEGIES,避免后续新增选项时继续透传参数。 - 保留 task breaker bypass 行为,但通过 aggressive opts 读取。 - 补充 graph、scope split、lock detector、task builder、options manager 等相关 UT 覆盖。 - 修复 dump json UT 中重复 SuperKernelGraphTest fixture 名称导致全量 UT 运行时内存错误的问题。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. git diff --check 2. bash build.sh --module=superkernel --impl=cpp --ut -j 8 测试结果: - cpp UT 全量通过:700 tests passed。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/graph-autofusion!2661 个月前
feat(constant-codegen): add constant array generation for TaskQue optimization Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !206 merge master into master feat(constant-codegen): add constant array generation for TaskQue optimization Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: # Pull Request ## 描述 feat(constant-codegen): add constant array generation for TaskQue optimization Implement a new constant code generation module that converts runtime TaskQue dispatch into compile-time constant arrays for performance optimization. Key changes: - Add sk_constant_codegen.cpp/h: ConstantCodeGenerator class - Generate compile-time constant TaskInfo structures from runtime data - Produce specialized entry functions with unrolled task execution - JIT compile via aclrtc and resolve funcHandle at build time - Dump generated source (.asc) and binary (.bin) to sk_meta directory - Add detailed logging for debugging and troubleshooting - Register CONSTANT_CODEGEN option (default: enabled) Integration: - Modify GenEntryInfo() to try constant codegen first, fallback to original logic if disabled or failed - Replace runtime funcHandle with compile-time specialized funcHandle ## 变更类型 请选择本次引入的变更类型: <!-- [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/graph-autofusion!2062 个月前
feat(constant-codegen): add constant array generation for TaskQue optimization Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !206 merge master into master feat(constant-codegen): add constant array generation for TaskQue optimization Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: # Pull Request ## 描述 feat(constant-codegen): add constant array generation for TaskQue optimization Implement a new constant code generation module that converts runtime TaskQue dispatch into compile-time constant arrays for performance optimization. Key changes: - Add sk_constant_codegen.cpp/h: ConstantCodeGenerator class - Generate compile-time constant TaskInfo structures from runtime data - Produce specialized entry functions with unrolled task execution - JIT compile via aclrtc and resolve funcHandle at build time - Dump generated source (.asc) and binary (.bin) to sk_meta directory - Add detailed logging for debugging and troubleshooting - Register CONSTANT_CODEGEN option (default: enabled) Integration: - Modify GenEntryInfo() to try constant codegen first, fallback to original logic if disabled or failed - Replace runtime funcHandle with compile-time specialized funcHandle ## 变更类型 请选择本次引入的变更类型: <!-- [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/graph-autofusion!2062 个月前
feat(superkernel): parse kernel cap bits Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !376 merge master into master feat(superkernel): parse kernel cap bits Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 feat(superkernel): parse kernel cap bits Add KernelCapBitOffset and ParseKernelCapBits for current cap flags, including early start, DCCI, and disable ScheMode bits. Apply the disable ScheMode cap flag during kernel bind map init and log the override result. ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!37621 天前
feat(superkernel): parse kernel cap bits Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !376 merge master into master feat(superkernel): parse kernel cap bits Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 feat(superkernel): parse kernel cap bits Add KernelCapBitOffset and ParseKernelCapBits for current cap flags, including early start, DCCI, and disable ScheMode bits. Apply the disable ScheMode cap flag during kernel bind map init and log the override result. ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!37621 天前
Fix the issue of unknown reasons for printing log information Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !374 merge dts-log into master 【fix】: Fix the issue of unknown reasons for printing log information Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 修复日志误打unknow reason问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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/graph-autofusion!37421 天前
Refactoring the dump json file code and fixing the printing of log information Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !359 merge cg-c into master Refactoring the dump json file code and fixing the printing of log information Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 1. 重构dump json的代码,把graph里调用rts接口的部分抽取出来,供多次调用 2. 修复scope 融合失败原因打印日志信息 3. 修复taskqueue里打印信息缺失 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [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/graph-autofusion!35924 天前
feat(aot): add PrecomputeSyncRelationsByMixGroups for mix kernel sync Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !348 merge master into master feat(aot): add PrecomputeSyncRelationsByMixGroups for mix kernel sync Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 新增 PrecomputeSyncRelationsByMixGroups 方法,按 Mix Kernel(AIC_1_1/AIC_1_2) 分组拆分任务并分别计算同步关系,替代原有的全局图拓扑同步计算方式。 主要变更: - 新增 PrecomputeSyncRelationsByMixGroups 函数,将任务按 mix/non-mix 交替分组,每组独立执行 InitTaskSyncInfos 和同步关系计算,最后合并结果 - Build 函数中增加 enableMixKernelSplit 开关(当前默认关闭), 启用后走 MixGroups 路径,关闭时保持原有逻辑不变 ## 变更类型 请选择本次引入的变更类型: <!-- [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/graph-autofusion!34823 天前
feat(aot): add PrecomputeSyncRelationsByMixGroups for mix kernel sync Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !348 merge master into master feat(aot): add PrecomputeSyncRelationsByMixGroups for mix kernel sync Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 新增 PrecomputeSyncRelationsByMixGroups 方法,按 Mix Kernel(AIC_1_1/AIC_1_2) 分组拆分任务并分别计算同步关系,替代原有的全局图拓扑同步计算方式。 主要变更: - 新增 PrecomputeSyncRelationsByMixGroups 函数,将任务按 mix/non-mix 交替分组,每组独立执行 InitTaskSyncInfos 和同步关系计算,最后合并结果 - Build 函数中增加 enableMixKernelSplit 开关(当前默认关闭), 启用后走 MixGroups 路径,关闭时保持原有逻辑不变 ## 变更类型 请选择本次引入的变更类型: <!-- [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/graph-autofusion!34823 天前
fix(aot): route destroy callback logs to model context Co-authored-by: yrz1027<yangruizhi5@huawei.com> # message auto-generated for no-merge-commit merge: !375 merge fix/sk-resource-destroy-log-context into master fix(aot): route destroy callback logs to model context Created-by: yrz1027 Commit-by: yrz1027 Merged-by: cann-robot Description: # Pull Request ## 描述 修复 SuperKernel 资源销毁回调日志可能写入当前线程正在处理的 modelRI 日志文件的问题,并收敛资源分配前的回调注册语义。 本次变更包含: - 在 OnModelDestroy 中新增局部 RAII 日志上下文,进入回调时临时设置当前线程 logger modelRI 为被销毁的 modelRI,并切回 default handle,使 SK_LOG* 按现有日志路由写入该 modelRI 对应的 super_kernel.log。 - RAII 析构时恢复回调线程原有的 modelRI 和 handle,避免影响同线程后续日志;FileHandleManager 的当前 handle 是 thread-local,不影响其他线程。 - 将销毁回调注册接口收敛为 CallbackRegister,并在 aclskOptimize 开始阶段提前注册。 - AllocForModel 不再兜底注册 callback,只强校验当前 model 是否已经注册销毁回调;未注册时直接返回失败并打印错误日志,避免掩盖异常生命周期路径。 - 对 callback 已注册的幂等路径补充日志,便于定位重复注册场景。 - 同步更新 SkResourceManagerSkScopePostprocess 相关 UT,显式模拟入口注册语义。 影响范围:仅影响 AOT SuperKernel 资源销毁回调注册、资源分配前置校验和销毁回调日志归属,不改变资源释放语义,也不改变 callback userData 仍传递 modelRI 的设计。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行 bash build.sh -u --impl=cpp --no-autofuse -c 2. 结果:715 tests from 32 test suites 全部通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - Base: master - Source branch: fix/sk-resource-destroy-log-context - Commit: d45d539 fix(aot): route destroy callback logs to model context See merge request: cann/graph-autofusion!37521 天前
fix(aot): route destroy callback logs to model context Co-authored-by: yrz1027<yangruizhi5@huawei.com> # message auto-generated for no-merge-commit merge: !375 merge fix/sk-resource-destroy-log-context into master fix(aot): route destroy callback logs to model context Created-by: yrz1027 Commit-by: yrz1027 Merged-by: cann-robot Description: # Pull Request ## 描述 修复 SuperKernel 资源销毁回调日志可能写入当前线程正在处理的 modelRI 日志文件的问题,并收敛资源分配前的回调注册语义。 本次变更包含: - 在 OnModelDestroy 中新增局部 RAII 日志上下文,进入回调时临时设置当前线程 logger modelRI 为被销毁的 modelRI,并切回 default handle,使 SK_LOG* 按现有日志路由写入该 modelRI 对应的 super_kernel.log。 - RAII 析构时恢复回调线程原有的 modelRI 和 handle,避免影响同线程后续日志;FileHandleManager 的当前 handle 是 thread-local,不影响其他线程。 - 将销毁回调注册接口收敛为 CallbackRegister,并在 aclskOptimize 开始阶段提前注册。 - AllocForModel 不再兜底注册 callback,只强校验当前 model 是否已经注册销毁回调;未注册时直接返回失败并打印错误日志,避免掩盖异常生命周期路径。 - 对 callback 已注册的幂等路径补充日志,便于定位重复注册场景。 - 同步更新 SkResourceManagerSkScopePostprocess 相关 UT,显式模拟入口注册语义。 影响范围:仅影响 AOT SuperKernel 资源销毁回调注册、资源分配前置校验和销毁回调日志归属,不改变资源释放语义,也不改变 callback userData 仍传递 modelRI 的设计。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行 bash build.sh -u --impl=cpp --no-autofuse -c 2. 结果:715 tests from 32 test suites 全部通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - Base: master - Source branch: fix/sk-resource-destroy-log-context - Commit: d45d539 fix(aot): route destroy callback logs to model context See merge request: cann/graph-autofusion!37521 天前
Fix the issue of unknown reasons for printing log information Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !374 merge dts-log into master 【fix】: Fix the issue of unknown reasons for printing log information Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 修复日志误打unknow reason问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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/graph-autofusion!37421 天前
refactor(aot): align scope/update logging semantics and diagnostics Co-authored-by: yrz1027<yangruizhi5@huawei.com> # message auto-generated for no-merge-commit merge: !267 merge enhance/log-output into master refactor(aot): align scope/update logging semantics and diagnostics Created-by: yrz1027 Commit-by: yrz1027 Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 主要收敛 AOT 路径中的日志语义、命名一致性和 update/scope 诊断信息,提升后续问题定位与可视化消费的一致性,同时不引入新的功能路径。 主要改动包括: - 收敛 node/task 语义边界: - sk_node 层改为以 node 概念为主 - sk_scope_postprocess 中处理 SuperKernelBaseNode* 集合的函数、局部变量和日志统一改为 nodes 语义 - 收敛 eventId 打印格式: - 统一为十六进制风格,降低不同模块之间的理解成本 - 收敛 scope split 落盘结果: - 为四个 pass 增加明确的头信息,避免同一个日志文件中多轮结果难以区分 - 收敛 update 日志职责: - optimizer 只保留 scope/stream 级 update 生命周期信息 - node 层统一输出 node update result - graph 不再越界补充 scope 语义 - 统一 node update result 的格式化: - 针对 KERNEL / VALUE_WRITE / VALUE_WAIT / INVALID 分别打印最有意义的结果字段 - 避免无关字段的机械平铺 - 补齐 update view 所需的最小关联信息: - 以 nodeId 为主键,结合已有 scope 信息做前后态联动 - 为后续图构建和数据库化消费准备稳定日志基础 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 待补充 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行相关 AOT UT 定向回归,重点检查日志相关路径: - bash build.sh --cpp_utest --test_case='*ScopeSplit*:*ScopePostprocess*:*Graph*:*Node*' 2. 人工检查生成的日志内容,确认以下语义已收敛: - scope split 四个 pass 有明确头信息 - eventId 统一为十六进制格式 - node update resultnode 层输出,且不同 type 打印字段符合预期 3. 如需补充精确命令或样例路径,请结合本地环境填写 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本次改动重点是日志职责边界和信息表达收敛,不改变 memory wait 主功能语义。 - 当前工作区仍有未跟踪文件 .codexupdate-view-registry-guide.md,不属于本 PR 内容。 See merge request: cann/graph-autofusion!2671 个月前
【feat】: Dump json file to retrieve graph information from modelRI, Update fusion failure reason log file Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge fix-rea into master 【feat】: Dump json file to retrieve graph information from modelRI, Update fusion failure reason log file Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 1. 新增:dump origin graph from graph 2. 新增:dump fused graph from graph 3. 新增:dump origin graph from modelRI 4. 新增:dump fused graph from modelRI 5. 新增:dump taskqueue of aic and aiv 6. 更新:修改算子二进制文件名为{func name}_{addr} 7. 更新:融合失败原因修改为:打印不可融kernel及其原因、打印scope断开原因 8. 修复:关闭kernel meta选项后,对应sk_meta文件不生成 ## 变更类型 请选择本次引入的变更类型: <!-- [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/graph-autofusion!3001 个月前
style: unify aot code style and improve debug logging clarity Co-authored-by: yrz1027<yangruizhi5@huawei.com> # message auto-generated for no-merge-commit merge: !126 merge fix/styple-log-dev into master style: unify aot code style and improve debug logging clarity Created-by: yrz1027 Commit-by: yrz1027 Merged-by: cann-robot Description: # Pull Request 描述 本次变更聚焦于 super_kernel aot 相关模块的代码风格统一与可读性改进,并补充调试日志可观测性。 主要包含两部分: 引入仓库级 .clang-format,统一部分文件格式规范。 将部分注释转换为英文,并补充/优化调试日志,便于问题定位与团队协作。 影响范围: super_kernel/src/aot 下多个核心头文件与实现文件。 super_kernel/tests/aot/ut/CMakeLists.txt。 新增 .clang-format。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 安装对应的runtime、torchair包等,运行端到端联调用例,测试通过无plog error产生 运行build.sh --cpp_utest ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!1262 个月前
fix(aot): preserve value-memory events in scope postprocess Co-authored-by: yrz1027<yangruizhi5@huawei.com> # message auto-generated for no-merge-commit merge: !356 merge fix/mem-write-zero-scope-postprocess into master fix(aot): preserve value-memory events in scope postprocess Created-by: yrz1027 Commit-by: yrz1027 Merged-by: cann-robot Description: # Pull Request ## 描述 修复 scope postprocess 阶段对已携带 addrValue 的 value-memory event 节点再次申请普通 event memory resource 的问题,并统一 memory eventId 相关诊断日志为十六进制打印。 本次变更: - 对 NODE_NOTIFYNODE_WAITNODE_RESET 增加 addrValue 检查,已存在 event memory resource 时跳过重复申请。 - 保留 write-only VALUE_WRITE notify 节点,避免其被普通 notify/wait 配对取消逻辑误删。 - 对原本存在 paired waits 且当前 scope 内 wait 已平衡取消的 notify,仍允许同步取消。 - 将 sk_graph.cpp 中遗漏的 memory eventId 日志从 %lu 统一为 0x%lx。 - 补充 C++ UT 覆盖 pre-applied addrValue 跳过路径和 eventId 十六进制日志格式。 影响范围集中在 AOT SuperKernel scope postprocess 的 event memory 处理逻辑和 memory event 诊断日志。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. git diff --check 2. bash build.sh -u --impl=cpp --module=superkernel --no-autofuse --test_case=SuperKernelScopePostprocessTest.ApplyEventMemoryForFilteredNodes_SkipPreAppliedAddrValue:SuperKernelGraphTest.PostProcessMemoryNode_UnknownFlagTreatedAsNoNotify ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 目标分支为 master。 See merge request: cann/graph-autofusion!35624 天前
refactor(aot): align scope/update logging semantics and diagnostics Co-authored-by: yrz1027<yangruizhi5@huawei.com> # message auto-generated for no-merge-commit merge: !267 merge enhance/log-output into master refactor(aot): align scope/update logging semantics and diagnostics Created-by: yrz1027 Commit-by: yrz1027 Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 主要收敛 AOT 路径中的日志语义、命名一致性和 update/scope 诊断信息,提升后续问题定位与可视化消费的一致性,同时不引入新的功能路径。 主要改动包括: - 收敛 node/task 语义边界: - sk_node 层改为以 node 概念为主 - sk_scope_postprocess 中处理 SuperKernelBaseNode* 集合的函数、局部变量和日志统一改为 nodes 语义 - 收敛 eventId 打印格式: - 统一为十六进制风格,降低不同模块之间的理解成本 - 收敛 scope split 落盘结果: - 为四个 pass 增加明确的头信息,避免同一个日志文件中多轮结果难以区分 - 收敛 update 日志职责: - optimizer 只保留 scope/stream 级 update 生命周期信息 - node 层统一输出 node update result - graph 不再越界补充 scope 语义 - 统一 node update result 的格式化: - 针对 KERNEL / VALUE_WRITE / VALUE_WAIT / INVALID 分别打印最有意义的结果字段 - 避免无关字段的机械平铺 - 补齐 update view 所需的最小关联信息: - 以 nodeId 为主键,结合已有 scope 信息做前后态联动 - 为后续图构建和数据库化消费准备稳定日志基础 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 待补充 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行相关 AOT UT 定向回归,重点检查日志相关路径: - bash build.sh --cpp_utest --test_case='*ScopeSplit*:*ScopePostprocess*:*Graph*:*Node*' 2. 人工检查生成的日志内容,确认以下语义已收敛: - scope split 四个 pass 有明确头信息 - eventId 统一为十六进制格式 - node update resultnode 层输出,且不同 type 打印字段符合预期 3. 如需补充精确命令或样例路径,请结合本地环境填写 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本次改动重点是日志职责边界和信息表达收敛,不改变 memory wait 主功能语义。 - 当前工作区仍有未跟踪文件 .codexupdate-view-registry-guide.md,不属于本 PR 内容。 See merge request: cann/graph-autofusion!2671 个月前
Fix the issue of unknown reasons for printing log information Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !374 merge dts-log into master 【fix】: Fix the issue of unknown reasons for printing log information Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 修复日志误打unknow reason问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的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/graph-autofusion!37421 天前
fix&refactor: optimize DefaultNodeProcessPass with single traversal Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !343 merge master into master fix&refactor: optimize DefaultNodeProcessPass with single traversal Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: # Pull Request ## 描述 fix&refactor: optimize DefaultNodeProcessPass with single traversal - Replace DefaultNodeInfo with StreamDefaultInfo to track kernel/default per stream - Introduce CollectStreamInfo: one-pass collection of all stream information - Simplify ProcessSingleScope: classify defaults in single iteration - Reduce traversal count from 5+ to 2 for performance improvement - Fix resplit logic: trigger resplit only when stream has both kernel and default - Previously: marked all defaults unfusible when any stream had kernel - Now: only mark defaults in streams that have both kernel and default - When no stream has both: remove all defaults and their streams instead ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.ut和相关用例测试通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!34328 天前
feat(aot): add PrecomputeSyncRelationsByMixGroups for mix kernel sync Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !348 merge master into master feat(aot): add PrecomputeSyncRelationsByMixGroups for mix kernel sync Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 新增 PrecomputeSyncRelationsByMixGroups 方法,按 Mix Kernel(AIC_1_1/AIC_1_2) 分组拆分任务并分别计算同步关系,替代原有的全局图拓扑同步计算方式。 主要变更: - 新增 PrecomputeSyncRelationsByMixGroups 函数,将任务按 mix/non-mix 交替分组,每组独立执行 InitTaskSyncInfos 和同步关系计算,最后合并结果 - Build 函数中增加 enableMixKernelSplit 开关(当前默认关闭), 启用后走 MixGroups 路径,关闭时保持原有逻辑不变 ## 变更类型 请选择本次引入的变更类型: <!-- [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/graph-autofusion!34823 天前
feat(aot): add PrecomputeSyncRelationsByMixGroups for mix kernel sync Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !348 merge master into master feat(aot): add PrecomputeSyncRelationsByMixGroups for mix kernel sync Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 新增 PrecomputeSyncRelationsByMixGroups 方法,按 Mix Kernel(AIC_1_1/AIC_1_2) 分组拆分任务并分别计算同步关系,替代原有的全局图拓扑同步计算方式。 主要变更: - 新增 PrecomputeSyncRelationsByMixGroups 函数,将任务按 mix/non-mix 交替分组,每组独立执行 InitTaskSyncInfos 和同步关系计算,最后合并结果 - Build 函数中增加 enableMixKernelSplit 开关(当前默认关闭), 启用后走 MixGroups 路径,关闭时保持原有逻辑不变 ## 变更类型 请选择本次引入的变更类型: <!-- [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/graph-autofusion!34823 天前
Refactoring the dump json file code and fixing the printing of log information Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !359 merge cg-c into master Refactoring the dump json file code and fixing the printing of log information Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 1. 重构dump json的代码,把graph里调用rts接口的部分抽取出来,供多次调用 2. 修复scope 融合失败原因打印日志信息 3. 修复taskqueue里打印信息缺失 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [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/graph-autofusion!35924 天前
fix(aot): route destroy callback logs to model context Co-authored-by: yrz1027<yangruizhi5@huawei.com> # message auto-generated for no-merge-commit merge: !375 merge fix/sk-resource-destroy-log-context into master fix(aot): route destroy callback logs to model context Created-by: yrz1027 Commit-by: yrz1027 Merged-by: cann-robot Description: # Pull Request ## 描述 修复 SuperKernel 资源销毁回调日志可能写入当前线程正在处理的 modelRI 日志文件的问题,并收敛资源分配前的回调注册语义。 本次变更包含: - 在 OnModelDestroy 中新增局部 RAII 日志上下文,进入回调时临时设置当前线程 logger modelRI 为被销毁的 modelRI,并切回 default handle,使 SK_LOG* 按现有日志路由写入该 modelRI 对应的 super_kernel.log。 - RAII 析构时恢复回调线程原有的 modelRI 和 handle,避免影响同线程后续日志;FileHandleManager 的当前 handle 是 thread-local,不影响其他线程。 - 将销毁回调注册接口收敛为 CallbackRegister,并在 aclskOptimize 开始阶段提前注册。 - AllocForModel 不再兜底注册 callback,只强校验当前 model 是否已经注册销毁回调;未注册时直接返回失败并打印错误日志,避免掩盖异常生命周期路径。 - 对 callback 已注册的幂等路径补充日志,便于定位重复注册场景。 - 同步更新 SkResourceManagerSkScopePostprocess 相关 UT,显式模拟入口注册语义。 影响范围:仅影响 AOT SuperKernel 资源销毁回调注册、资源分配前置校验和销毁回调日志归属,不改变资源释放语义,也不改变 callback userData 仍传递 modelRI 的设计。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行 bash build.sh -u --impl=cpp --no-autofuse -c 2. 结果:715 tests from 32 test suites 全部通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - Base: master - Source branch: fix/sk-resource-destroy-log-context - Commit: d45d539 fix(aot): route destroy callback logs to model context See merge request: cann/graph-autofusion!37521 天前