已合并
【PR】:[fix] [autofuse] remove hccl related code which is unused. #1224
邢智雄创建于 7月7日
【PR】:[fix] [autofuse] remove hccl related code which is unused. #1224
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 邢智雄 的贡献)7月7日 添加了label:enhancement
atomgit-bot
7月7日 评论:
7月7日 评论:
变更摘要
此 PR 主要执行 HCCL(Huawei Collective Communication Library)相关代码的系统性清理移除工作。变更横跨图元定义、任务信息结构、运行时错误码、API 选项配置、隐式输入类型、算子注册框架及测试代码等多个模块,共删除约 97 行代码,仅新增少量调整性代码(如枚举值重编号、默认组名修正)。整体目标是将已废弃的 HCCL 模块从代码库中剥离。
主要改动
- 移除
ImplyType::HCCL枚举值及相关映射: 从ge_api_types.h的ImplyType枚举中删除HCCL项,并从type_utils.cc的kImplyTypeToString映射表中删除对应条目 - 清理 HCCL 任务信息结构体: 从
ge_task_info.h中移除HcclDumpInfo和GETaskKernelHcclInfo两个结构体定义,同时移除GETaskInfo中的kernelHcclInfo成员字段 - 移除 HCCL 相关的图属性定义: 删除
ATTR_NAME_HCCL_FUSED_GROUP、ATTR_NAME_HCCL_FUSED_FLAG、ATTR_NAME_HCCL_TASK_NUM、ATTR_NAME_HCCL_ATTACHED_TASK_NUM和ATTR_NAME_HCCL_GROUP_ID_LIST的声明与定义 - 移除隐式输入类型
HCCLSUPERKERNEL: 从HiddenInputsType枚举中删除HCCLSUPERKERNEL,并移除args_format_desc.cc中对应的解析和序列化逻辑 - 清理 HCCL 运行时错误码与模块 ID: 删除
ge_inner_error_codes.h中的 4 个 HCCL 通信错误码,并移除npu_error_define.h中的HIAI_HCCL模块 ID,同时删除kEngineNameHccl引擎名常量


atomgit-bot
7月7日 评论:
7月7日 评论:
代码审查
经过对全部 17 个变更文件的逐一审查,所有 HCCL 相关符号的删除均已完成,且在整个代码库中无任何残留引用。各文件变更分析如下:
各文件审查结论
| 文件 | 审查结论 |
|---|---|
autofuse/codegen/codegen_tiling.cpp |
移除生成的 GetActivityKindString 字符串模板中的 MSPTI_ACTIVITY_KIND_HCCL 条目。该符号已不在代码库中存在,移除正确。 |
autofuse/graph_metadef/graph/attr/ge_attr_define.cc |
移除 ATTR_NAME_HCCL_FUSED_GROUP 等 5 个 HCCL 属性定义及一条过时注释。所有已删除符号无残留引用。 |
autofuse/graph_metadef/graph/utils/args_format_desc.cc |
移除 HiddenInputParser 中的 hi.hcclsk 解析逻辑和 HiddenInputSerializer 中的对应序列化逻辑。与 hidden_inputs_func_registry.h 中 HCCLSUPERKERNEL 的移除保持一致。 |
autofuse/graph_metadef/graph/utils/type_utils.cc |
从 kImplyTypeToString 映射中移除 {domi::ImplyType::HCCL, "hccl"}。与 types.h 中 ImplyType::HCCL 枚举值的移除同步,无残留引用。 |
autofuse/inc/graph_metadef/common/ge_common/ge_inner_error_codes.h |
移除 4 个 HCCL 错误码(43/44/45/47),保留的错误码(46)编号不变。编号间隙是正常的。 |
autofuse/inc/graph_metadef/common/ge_common/ge_types.h |
移除 kEngineNameHccl 常量。无残留引用。 |
autofuse/inc/graph_metadef/common/npu_error_define.h |
从 HiAiNpuModuleId 枚举中移除 HIAI_HCCL = 18。后续值均为显式赋值(19/20/21...),无移位风险。 |
autofuse/inc/graph_metadef/common/opskernel/ge_task_info.h |
移除 HcclDumpInfo、GETaskKernelHcclInfo 结构体和 GETaskInfo::kernelHcclInfo 字段。所有已删除符号无残留引用。 |
autofuse/inc/graph_metadef/common/opskernel/ops_kernel_info_types.h |
移除 MODEL_TASK_HCCL 枚举值,并对 MODEL_TASK_STREAM_SWITCH 添加显式 = 7,正确保留了原有数值,避免后续枚举值移位。 |
autofuse/inc/graph_metadef/external/ge_common_af/ge_api_types.h |
移除 OPTION_EXEC_HCCL_FLAG、OPTION_HCCL_COMPILER_OFFLINE、OPTION_EXEC_HCCL_EXECUTE_TIMEOUT、OPTION_HCCL_ALGORITHM 等选项常量,并更新文档注释。无残留引用。 |
autofuse/inc/graph_metadef/external/graph/types.h |
从 domi::ImplyType 枚举中移除 HCCL。后续 INVALID = 0xFFFFFFFF 为显式赋值,无移位。 |
autofuse/inc/graph_metadef/external/register/hidden_inputs_func_registry.h |
从 HiddenInputsType 枚举中移除 HCCLSUPERKERNEL,MAX 值从 3 变为 2。MAX 仅作为哨兵值使用,数值变化不影响功能。 |
autofuse/inc/graph_metadef/external/register/op_def.h |
移除 HcclServerType 枚举和 OpMC2Def 类的 HcclGroup/GetHcclGroups/GetHcclServerType 方法。均无残留引用。 |
autofuse/inc/graph_metadef/graph/debug/ge_attr_define.h |
移除 5 个 HCCL 属性的 extern 声明。与 ge_attr_define.cc 中的定义移除一致。 |
autofuse/tests/depends/slog/src/slog_stub.h |
从 module_id_str 映射中移除 {HCCL, "HCCL"} 条目。HCCL 常量来自外部 slog 头文件,不受本次变更影响。 |
autofuse/tests/framework/eager_style_graph_builder/all_ops_cpp.h |
5 处函数默认参数从 "hccl_world_group" 改为 "world_group"。"hccl_world_group" 字符串已无任何引用,变更一致。 |
autofuse/tests/ut/e2e/test_e2e_load_abs_store.cpp |
移除 GetActivityKindString 中的 MSPTI_ACTIVITY_KIND_HCCL 条目。与 codegen_tiling.cpp 中的同步变更一致。 |
总结
- P0: 0
- P1: 0
- P2: 0
- P3: 0
整体风险评估:低风险。 本次变更是对 HCCL 相关死代码的彻底清理,所有删除的符号在代码库中均无残留引用;ops_kernel_info_types.h 中 MODEL_TASK_STREAM_SWITCH = 7 的显式赋值正确维护了向后兼容性。无逻辑错误、安全风险、可靠性问题或破坏性变更。
⚠️ 已识别出整体风险,但无法提取行内评论,请参考整体评估。


7月7日 添加了label:cann-cla/yes
此处折叠了47条消息 查看更多
xchu42
7月13日 评论:
7月13日 评论:
/lgtm


7月13日 添加了label:lgtm
zhanj
7月13日 评论:
7月13日 评论:
/approve


7月13日 添加了label:approved
7月13日 合入了pull request
Pull Request
描述
删除graph-autofusion仓中hccl相关的代码,autofuse暂无需使用,先删除。
变更类型
请选择本次引入的变更类型:
关联的Issue
如何测试
描述测试此变更的步骤和前提条件:
核对清单
其他信息
在此添加任何其他关于本次 PR 的说明。