文件最后提交记录最后更新时间
fix: 修复 HCCL 离线编译配置校验不充分的问题 Co-authored-by: Chang-an-HW<machangan@huawei.com> # message auto-generated for no-merge-commit merge: !3055 merge fix_atc_cluster_config_check into develop fix: 修复 HCCL 离线编译配置校验不充分的问题 Created-by: Chang-an-HW Commit-by: Chang-an-HW Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 修复 HCCL 离线编译配置校验不充分的问题: 1. 当用户通过 ATC 配置 --hccl_sub_comm_config 但未配置 --cluster_config 时,提前返回失败并提示缺少 cluster config,避免后续使用不完整 HCCL 离线配置继续编译。 2. 当用户仅配置 --cluster_config 时,仍解析 RankTableHcclCommConfig,允许不配置子通信域信息。 3. 当子通信域配置为空时,不向图选项写入空的 OPTION_EXEC_HCOM_GROUPLIST_V2,避免空 group list 影响 HCCL group list 解析。 4. 更新 HcclOfflineOptionBuilder 相关 UT,覆盖仅配置 cluster config 和缺失 cluster config 两类场景。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 使用 ATC 验证本次修改涉及的 HCCL 离线配置组合。 1. --cluster_config--hccl_sub_comm_config 都不设置: ```bash atc --model=<normal_model_without_hcom> \ --framework=<framework_type> \ --output=<output_no_hccl_config> \ --soc_version=<soc_version> ``` 预期:ATC 编译成功,未配置 HCCL 离线选项时不阻塞普通离线模型编译。 2. 完整配置 --cluster_config--hccl_sub_comm_config: ```bash atc --model=<hcom_model> \ --framework=<framework_type> \ --output=<output_ok> \ --soc_version=<soc_version> \ --cluster_config=<cluster_config.json> \ --hccl_sub_comm_config=<hccl_sub_comm_config.json> ``` 预期:ATC 编译成功,日志中 HCCL 离线配置解析成功,OM 正常生成。 3. 仅设置 --cluster_config: ```bash atc --model=<hcom_model> \ --framework=<framework_type> \ --output=<output_cluster_only> \ --soc_version=<soc_version> \ --cluster_config=<cluster_config.json> ``` 预期:ATC 编译成功,RankTableHcclCommConfig 正常解析,不写入空的 OPTION_EXEC_HCOM_GROUPLIST_V2。 4. 仅设置 --hccl_sub_comm_config,缺失 --cluster_config: ```bash atc --model=<hcom_model> \ --framework=<framework_type> \ --output=<output_missing_cluster> \ --soc_version=<soc_version> \ --hccl_sub_comm_config=<hccl_sub_comm_config.json> ``` 预期:ATC 编译失败,并提示当前 HCCL 离线模型缺少 cluster config。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本地未执行完整 ATC 验证;已触发 PR CI,等待流水线结果。 See merge request: cann/ge!305511 天前
fix: remove redundant ops kernel initialization and fix log Co-authored-by: wangyuchen<wangyuchen38@huawei.com> # message auto-generated for no-merge-commit merge: !3058 merge fix/reduce_redundant_log into develop fix: remove redundant ops kernel initialization and fix log Created-by: yuchen97 Commit-by: wangyuchen Merged-by: cann-robot Description: # Pull Request ## 描述 OpsKernelManager::GetOpsKernelInfo 中 ops_kernel_info_ 缓存未命中时触发 InitOpsKernelInfo 全量重建,导致 FuncPerfScope 和 GEEVENT 日志在部分场景重复打印。 **根因:** GetOpsKernelInfo 在未找到 op_type 时调用 InitOpsKernelInfo(),该函数会清空 ops_kernel_info_ 并从所有 engine store 重刷全量 op info,每次都会打日志。如果查询的 op_type 不在任何引擎中注册,每次调用都会触发重建和日志。 **方案(方案A):** 1. 去掉 GetOpsKernelInfo 中的 InitOpsKernelInfo 回退,未命中直接返回空 2. RefreshOpsKernelInfo 内部调用 InitOpsKernelInfo,保证 store 刷新后缓存同步重建 3. InitOpsKernelInfo 增加 is_refresh 参数区分 Init/Refresh 来源 4. 测试框架中依赖懒初始化的调用改为显式 RefreshOpsKernelInfo ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新 - [x] ♻️ 重构 - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 如何测试 1. 编译 ut_libge_common_utest 验证 UT 通过 2. 原有场景日志不再重复打印 GEEVENT 3. 修复OpsKernelStore打桩,不建议直接修改 OpsKernelManager 私有成员变量,否则 RefreshOpsKernelInfo 之后会清空不是来自 OpsKernelStore 的 OpsInfo ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经详细阅读了贡献指南 ## 其他信息 详见相关分析讨论。 See merge request: cann/ge!305811 天前
【PR】: sync develop to master 0517 Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !2939 merge develop into master 【PR】: sync develop to master 0517 Created-by: wangxiaotian995 Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!293916 天前
Initial commit 5 个月前