文件最后提交记录最后更新时间
merge: resolve conflicts with upstream/master Conflict resolution: 1. super_kernel.h: Keep both EARLY_START(16) and DEBUG_PER_OP_MAX_CORE_NUM(17) 2. sk_options_manager.cpp: Use optimized SetOptOptionValue style (single find), add DEBUG_PER_OP_MAX_CORE_NUM case 3. test_sk_options_manager.cpp: Merge inner option tests with DEBUG_PER_OP_MAX_CORE_NUM tests, fix ToJson size expectation (should include inner_options) All 823 UT tests passed. 13 天前
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 个月前
[super_kernel] ut: 优化日志输出,仅在测试失败时打印 Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !132 merge master into master [super_kernel] ut: 优化日志输出,仅在测试失败时打印 Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 [super_kernel] ut: 优化日志输出,仅在测试失败时打印 - 新增 LogBuffer 类缓冲日志,避免测试成功时的冗余输出 - 添加 FailureLogListener 监听器,测试失败时自动打印缓冲区日志 - 重构 dlog_pub.h,支持 C++ 日志缓冲和 C fallback 两种模式 影响文件: - super_kernel/tests/aot/ut/stub/dlog_pub.h - super_kernel/tests/aot/ut/main.cpp ## 变更类型 请选择本次引入的变更类型: <!-- [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!1322 个月前
feat: add event flag to support integrating event tasks into the super kernel Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> Co-authored-by: huxj153<huxiujuan@huawei.com> Co-authored-by: yrz1027<yangruizhi5@huawei.com> # message auto-generated for no-merge-commit merge: !168 merge master into master feat: add event flag to support integrating event tasks into the super kernel Created-by: XuebinYang Commit-by: XuebinYang;yrz1027;huxj153 Merged-by: cann-robot Description: # Pull Request ## 描述 feat: add event flag to support integrating event tasks into the super kernel - Distinguish event flags from memory wait flags in SyncInfos - Add ACL_EVENT_EXTERNAL flag checking for event fusion - Update test stubs to support new event parameter fields ## 变更类型 请选择本次引入的变更类型: <!-- [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!1682 个月前
feat(sk_options_manager) add aclskOpsLayoutOptimizeOption Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !234 merge master into master feat(sk_options_manager) add aclskOpsLayoutOptimizeOption Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 添加aclskOpsLayoutOptimizeOption选项并进行对应处理 ## 变更类型 请选择本次引入的变更类型: <!-- [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!2341 个月前
remove runtime stub and add SuperKernelBind Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !85 merge master into master remove runtime stub and add SuperKernelBind Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 remove runtime stub and add SuperKernelBind ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!852 个月前
【fix】:update fuse kernel way in lock detector Co-authored-by: Achilles_d<duanchengyuan@huawei.com> # message auto-generated for no-merge-commit merge: !180 merge ut_full into master 【fix】:update fuse kernel way in lock detector Created-by: Achilles_d Commit-by: Achilles_d Merged-by: cann-robot Description: # Pull Request ## 描述 更新死锁检测:kernel类型不受wait限制,只受依赖的算子kernel ## 变更类型 请选择本次引入的变更类型: <!-- [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!1802 个月前
fix(super_kernel): prioritize default nodes in customize heap 12 天前
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 个月前
aclgraph sk dfx cond reg Co-authored-by: hujiawen_kaven<hujiawen5@hisilicon.com> # message auto-generated for no-merge-commit merge: !380 merge exception_cond_reg into master aclgraph sk dfx cond reg Created-by: hujiawen_kaven Commit-by: hujiawen_kaven Merged-by: cann-robot Description: # Pull Request ## 描述 1. exception error log print sub op sk function name 2. modify counterInfo var name 3. skip none FUNC type node ## 变更类型 请选择本次引入的变更类型: <!-- [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!38019 天前
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 天前
更改sk名字 Co-authored-by: huxj153<huxiujuan@huawei.com> # message auto-generated for no-merge-commit merge: !355 merge f/pro_name into master 更改sk名字 Created-by: huxj153 Commit-by: huxj153 Merged-by: cann-robot Description: # Pull Request ## 描述 更改sk名字 ## 变更类型 请选择本次引入的变更类型: <!-- [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!35524 天前
feat: Add file-based logging system with environment variable control Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !191 merge master into master feat: Add file-based logging system with environment variable control Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: # Pull Request ## 描述 feat: Add file-based logging system with environment variable control This commit introduces a comprehensive file-based logging system for Super Kernel that supports automatic passthrough to dlog and optional file logging controlled by environment variable ASCEND_OP_COMPILE_SAVE_KERNEL_META. - Merged sk_log.h + sk_file_logger.h into single sk_log.h - Merged sk_log.cpp + sk_file_logger.cpp into single sk_log.cpp - Removed separate sk_file_logger.h and sk_file_logger.cpp files - **SK_DLOGD/I/W/E**: Low-level macros directly calling dlog_* interfaces - **SK_LOGT/D/I/W/E**: User-facing macros providing: - Automatic passthrough to SK_DLOG* (preserves original behavior) - Optional file logging when enabled Added InitSkLogger() function that reads environment variable: - ASCEND_OP_COMPILE_SAVE_KERNEL_META=1: Enable file logging - ASCEND_OP_COMPILE_SAVE_KERNEL_META=0: Disable file logging - Not set: Default to disable file logging When enabled, logs are written to: ``` sk_meta/ └── {process_id}/ └── {model_ri}/ ├── super_kernel.log # Default log file ├── graph_builder.log # Module-specific logs (optional) └── task_builder.log ``` Added SK_LOG_CONTEXT_SIMPLE() macro for automatic file handle management: ```cpp { SK_LOG_CONTEXT_SIMPLE("module.log"); SK_LOGI("Logs written to module.log"); // Auto-reverts to default on scope exit } ``` - **Thread-safe**: Mutex-protected file handle management - **Long log segmentation**: Automatically segments logs exceeding 4096 chars - **Five log levels**: TRACE, DEBUG, INFO, WARNING, ERROR - **Zero overhead when disabled**: Minimal performance impact - **Format security**: Safe handling of format strings The logging system is automatically initialized in aclskOptimize(): ```cpp aclError aclskOptimize(aclmdlRI model, aclskOptions *options) { InitSkLogger("model"); // Auto-initialized with env var control // ... } ``` ```cpp void YourFunction() { SK_LOGI("Processing model with %zu nodes", nodeCount); SK_LOGD("Node %lu has type %d", nodeId, nodeType); SK_LOGE("Failed to allocate memory"); } ``` ```bash export ASCEND_OP_COMPILE_SAVE_KERNEL_META=1 ./your_program ``` ```bash export ASCEND_OP_COMPILE_SAVE_KERNEL_META=0 ./your_program ``` ```cpp void BuildGraph() { SK_LOG_CONTEXT_SIMPLE("graph_builder.log"); SK_LOGI("Building graph..."); // Auto-reverts on scope exit } ``` ``` [timestamp] [process_id:thread_id] [level] [function] message Example: 2025-03-27 14:30:45.123 [12345:140123456789] [INFO] [InitSKGraph] Building graph with 100 nodes ``` ``` [SK][function] message Example: [SK][InitSKGraph] Building graph with 100 nodes ``` | State | Overhead | |-------|----------| | File logging disabled | Zero (passthrough to dlog only) | | File logging enabled | < 1ms per log entry | | Memory footprint | < 1MB | ```cpp void InitSkLogger(const std::string& modelRI = "unknown"); bool InitializeSkFileLogger(bool enabled, const std::string& modelRI, LogLevel minLevel); ``` ```cpp sk::logger::FileLogger::Instance().SetEnabled(bool enabled); sk::logger::FileLogger::Instance().SetMinLevel(LogLevel level); ``` ```cpp SK_LOGT/D/I/W/E(format, ...) // User logging macros SK_DLOGD/I/W/E(format, ...) // Low-level dlog macros SK_LOG_CONTEXT_SIMPLE(fileName) // RAII file context INIT_SK_FILE_LOGGER(modelRI) // Simplified initialization DISABLE_SK_FILE_LOGGER() // Disable at runtime ``` ## 变更类型 请选择本次引入的变更类型: <!-- [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!1912 个月前
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 天前
【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!32528 天前
test(superkernel): verify isSimtOp value in Format and ToJson tests - KernelInfos_FormatWithSimtFlag: verify 'isSimtOp:1' in Format output - KernelInfosToJson_WithSimtOpFlag: verify json['isSimtOp'] equals true/false - All 818 UT tests passed 13 天前
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: remove extra closing brace in test_sk_options_manager.cpp Removed stray '}' at end of file introduced during conflict resolution. 12 天前
refactor(scope): extract SuperKernelScopeInfo to separate header and move NotifyExpandNum functions to LockDetector Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !259 merge master into master refactor(scope): extract SuperKernelScopeInfo to separate header and move NotifyExpandNum functions to LockDetector Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: # Pull Request ## 描述 refactor(scope): extract SuperKernelScopeInfo to separate header and move NotifyExpandNum functions to LockDetector Extract SuperKernelScopeInfo and related definitions to a new header file sk_scope_info.h to decouple dependencies between sk_lock_detector and sk_scope_split Changes: - Create new header sk_scope_info.h containing: - SuperKernelScopeInfo class - ScopeStreamInfo struct - ScopeExtInfo struct - ScopeFailReason enum - Move SetNotifyNodesExpandNumForScope from SuperKernelScopeSplitter to LockDetector: - Set expand numbers on Notify nodes for deadlock detection - Add ResetNotifyExpandNumForScope to reset expand numbers to 0 - Update DeadlockRefinePass for reentrancy: - Call ResetNotifyExpandNumForScope at start of Run() ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.ut st example测试通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!2591 个月前
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!37520 天前
feat(aot): add unique scopeId for scope lifecycle tracking Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !269 merge master into master feat(aot): add unique scopeId for scope lifecycle tracking Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: # Pull Request ## 描述 feat(aot): add unique scopeId for scope lifecycle tracking - Add ScopeIdGenerator singleton class with uint16_t ID counter - Assign unique scopeId at SuperKernelScopeInfo creation time - Remove ScopeExtInfo::scopeIdx, use scopeId instead - Log INFO when scopeId wraps around (65536 overflow) - Add UT tests for scopeId generation and persistence ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.ut st 测试通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!2691 个月前
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(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!37520 天前
[fix] fix schemode bug when core num rise after schemode Co-authored-by: sjtulxh<liaoxiaohui3@hisilicon.com> # message auto-generated for no-merge-commit merge: !327 merge master into master [fix] fix schemode bug when core num rise after schemode Created-by: sjtulxh Commit-by: sjtulxh Merged-by: cann-robot Description: # Pull Request ## 描述 [fix] fix schemode bug when core num rise after schemode ## 变更类型 请选择本次引入的变更类型: <!-- [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!3271 个月前
feat(superkernel): add enable_dcci_after_func bit for simplified kernel-side DCCI control Co-authored-by: XuebinYang<yangxuebin6@hisilicon.com> # message auto-generated for no-merge-commit merge: !410 merge master into master feat(superkernel): add enable_dcci_after_func bit for simplified kernel-side DCCI control Created-by: XuebinYang Commit-by: XuebinYang Merged-by: cann-robot Description: # Pull Request ## 描述 feat(superkernel): add enable_dcci_after_func bit for simplified kernel-side DCCI control - Add bit 5 (enable_dcci_after_func) to TaskInfo.debugOptions - Host precomputes DCCI decision, kernel only checks single bit - Rename dcci to disableDcci and JudgeDisableKernelDcci to MatchKernelNameInList ## 变更类型 请选择本次引入的变更类型: <!-- [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!41015 天前