已合并
[feat] rename UB protocol enums with backward compatibility #4370
zhangzhuopan创建于 18 天前
[feat] rename UB protocol enums with backward compatibility #4370
已合并
zhangzhuopan创建于 18 天前
zhangzhuopan
zhangzhuopan成员
18 天前

描述

本次修改统一 UB 协议枚举命名,使协议名称与当前架构定义保持一致:

  • 新增 COMM_PROTOCOL_UB_CTP = 4,替代原有命名 COMM_PROTOCOL_UBC_CTP
  • 新增 COMM_PROTOCOL_UB_RTP = 9,替代原有命名 COMM_PROTOCOL_UBG
  • 保留旧枚举作为兼容别名:
    • COMM_PROTOCOL_UBC_CTP = COMM_PROTOCOL_UB_CTP
    • COMM_PROTOCOL_UBG = COMM_PROTOCOL_UB_RTP
  • 枚举数值保持不变,确保已有调用方的源码兼容性和接口 ABI 不受影响。
  • 将 Endpoint、Channel、通信域资源管理、拓扑转换、NIC Plugin 等代码中的协议判断和日志统一为新名称。
  • 在 AIV/AICPU 通信路径中补充并保留 UB_RTP 处理:
    • AIV + UB_RTP 使用 AivUrmaChannel
    • AICPU/AICPU_TS + UB_RTP 使用 AicpuTsUbgChannel
    • 支持 UB_RTP 的 Device ChannelEntity 创建、预分配及 Device Handle 转换。
  • 更新相关中英文接口文档和通信算子开发文档,将旧协议名称替换为新协议名称。

变更类型

请选择本次引入的变更类型:

关联的Issue

NA

测试

已完成的测试用例和场景:

  1. 检查 COMM_PROTOCOL_UB_CTPCOMM_PROTOCOL_UB_RTP 在 Endpoint、Channel 创建、资源转换及拓扑映射等路径中的处理逻辑。
  2. 检查 AIV/AICPU 场景下 UB_RTP Channel 创建及 Device ChannelEntity 转换流程,确认主线已有的 AIV 直驱 URMA 适配未在冲突解决过程中丢失。
  3. 执行代码静态检查,确认无残留冲突标记,git diff --check 检查通过。

补充的UT用例:

  • 补充新旧协议枚举兼容性校验:
    • COMM_PROTOCOL_UBC_CTP == COMM_PROTOCOL_UB_CTP
    • COMM_PROTOCOL_UBG == COMM_PROTOCOL_UB_RTP
  • 更新 Endpoint、协议转换、NIC Plugin 等相关 UT,使其使用新的 UB_CTPUB_RTP 协议名称。
    已通过 A3、A5 RDV用例

文档更新

更新了以下文档中的协议名称及说明:

  • CommProtocol 数据类型定义文档。
  • HcommChannelCreateHcommEndpointCreateHcclChannelAcquire 接口文档。
  • Hcomm Read、Write、Fence 等通信操作接口文档。
  • CCU 通信算子开发指南及快速入门文档。
  • NIC Plugin 中英文 README。

文档中将 UBC_CTPUBG 分别更新为 UB_CTPUB_RTP,同时保留旧枚举名称的兼容性说明。

合入检查

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 zhangzhuopan 的贡献)
zhangzhuopanzhangzhuopan成员
18 天前 创建了 pull request,commit a8d9e12f
atomgit-bot
atomgit-bot
18 天前 评论:

变更摘要

此 PR 对 UB(统一总线)协议枚举进行了重命名,将 COMM_PROTOCOL_UBC_CTP 改为 COMM_PROTOCOL_UB_CTP,将 COMM_PROTOCOL_UBG 改为 COMM_PROTOCOL_UB_RTP,同时在 include/hcomm_res_defs.h 中将旧枚举名作为新枚举值的别名保留(COMM_PROTOCOL_UBC_CTP = COMM_PROTOCOL_UB_CTPCOMM_PROTOCOL_UBG = COMM_PROTOCOL_UB_RTP),确保向后兼容。此次重命名去掉了协议名中的 "C" 前缀并将 "G" 统一为 "RTP",使命名风格更一致。全仓 20+ 个源文件中的条件判断、switch-case、查表逻辑和日志字符串均已同步更新,并补充了验证别名等价的 UT 用例。

主要改动

  • 枚举定义重命名并保留别名:在 include/hcomm_res_defs.h 中将枚举值 COMM_PROTOCOL_UBC_CTP 的定义改为新名 COMM_PROTOCOL_UB_CTP,新增 COMM_PROTOCOL_UB_RTP = 9,并将旧的 COMM_PROTOCOL_UBC_CTPCOMM_PROTOCOL_UBG 定义为对应新值的别名,实现源码层面无缝兼容。

  • 全局引用点统一迁移src/base_comm/src/coll_communicator_mgr/src/legacy/ 等目录下共 18 个源文件中,所有对 COMM_PROTOCOL_UBC_CTPCOMM_PROTOCOL_UBG 的直接引用(包括 switch-case、if 条件、查表项、映射表)均更新为新枚举名,COMM_PROTOCOL_UBC_TP 保持不变。

  • 协议字符串与错误信息同步更新protocol_utils.hmy_rank.cccoll_comm_res_c_adpt.cc 中的协议名字符串映射从 "UBC_CTP"/"UBG" 改为 "UB_CTP"/"UB_RTP"channel.ccubg_endpoint.cc 等文件中的错误日志文本也同步更新为新的协议名称。

  • 测试用例更新与新增兼容性验证test/ut/ 目录下 4 个测试文件中的枚举引用同步更新;ut_orion_adpt_utils.cc 新增 CommProtocolLegacyNamesKeepCompatibleValues 用例,显式断言 COMM_PROTOCOL_UBC_CTP == COMM_PROTOCOL_UB_CTPCOMM_PROTOCOL_UBG == COMM_PROTOCOL_UB_RTP,验证别名等价性。

likedislike
atomgit-bot
atomgit-bot
18 天前 评论:

代码审查

✅ 未发现问题

likedislike
CANN-robotCANN-robot成员
18 天前 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
18 天前 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here.
For more, you also can visit HICANN.


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
docs 颜业峰, flyswa, ouyangxizi (3/2) 颜业峰, flyswa (2/1)
experimental 颜业峰, ouyangxizi (2/2) 颜业峰 (1/1)
include 颜业峰, yanzhenghang, ouyangxizi (3/2) 颜业峰, yanzhenghang (2/1)
repo-cann/hcomm yanzhenghang, dingweiqin_57, temper7620, 颜业峰, ouyangxizi (5/2) 颜业峰, yanzhenghang, dingweiqin_57, temper7620 (4/1)
src/base_comm temper7620, 颜业峰, ouyangxizi (3/2) temper7620, 颜业峰 (2/1)
src/coll_communicator_mgr dingweiqin_57, ouyangxizi, 颜业峰 (3/2) 颜业峰, dingweiqin_57 (2/1)
src/legacy/ascend910/pub_inc 颜业峰, yanzhenghang, ouyangxizi (3/2) yanzhenghang, 颜业峰 (2/1)
src/legacy/ascend950/framework 颜业峰, dingweiqin_57, ouyangxizi (3/2) 颜业峰, dingweiqin_57 (2/1)
src/legacy/ascend950/unified_platform 颜业峰, temper7620, ouyangxizi (3/2) 颜业峰, temper7620 (2/1)
test 颜业峰, dingweiqin_57, temper7620, ouyangxizi (4/2) temper7620, 颜业峰, dingweiqin_57 (3/1)
test/hccl_vm whk19940509, ouyangxizi (2/2) whk19940509 (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

zhangzhuopan, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
此处折叠了301条消息 查看更多
temper7620成员
4 天前 评论:

/approve

likedislike
whk_24
whk_24成员
4 天前 评论:

/approve

likedislike
philo
philo成员
4 天前 评论:

/approve

likedislike
CANN-robotCANN-robot成员
4 天前 添加了label:lgtmapproved
CANN-robotCANN-robot成员
4 天前 合入了pull request