文件最后提交记录最后更新时间
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 天前
Initial commit 5 个月前