已合并
[fix] 优化Host DPU多QP配置获取实现方式 #5298
刘宏明创建于 29 天前
[fix] 优化Host DPU多QP配置获取实现方式 #5298
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 刘宏明 的贡献)29 天前 关联了issue:[Requirement|需求建议]: 优化Host网卡多QP配置获取方式
atomgit-bot
29 天前 评论:
29 天前 评论:
变更摘要
本 PR 优化 Host 网卡多 QP 配置的获取方式:将 /etc/hcomm.cfg 的读取与解析从依赖 HCCP 的 RoceChannelDescConfigurator 迁移到 EnvRdmaConfig,统一用 HostRdmaUdpPortsList 保存配置文件与环境变量 HCCL_HOST_RDMA_UDP_PORTS_LIST 的解析结果(新增 qpCountByPhyId 字段),并按 /etc/hcomm.cfg > HCCL_HOST_RDMA_UDP_PORTS_LIST > MultiQpSrcPort.cfg 的优先级生效,同时删除 RoceChannelDescConfigurator 中基于 RaGetHccnCfg 读取配置的逻辑及相关 HCCP 依赖。
主要改动
- 配置文件解析迁入
EnvRdmaConfig:EnvRdmaConfig::Parse()新增调用ParseHostRdmaUdpPortsList()与ParseHostMultiQpConfig(),后者通过OpenHostMultiQpConfigFile/CollectHostMultiQpConfigFields/ParseHostMultiQpDeviceConfig按物理设备 ID 解析udp_port_mode_、multi_qp_count_、multi_qp_udp_ports_配置,校验配置完整性、UDP 端口模式、QP 数量及端口范围,并将结果写入hostRdmaUdpPortsList_快照。 - 解析函数通用化:
env_func.cc中原ParseDecimalU32改为带minValue/maxValue范围校验的ParseStrictDecimal(对外声明),ParseHostRdmaUdpPorts、CastHostRdmaUdpPortsList、GetUIntFromStr均改为复用它;新增GetHostRdmaQpCountByPhyId并在hccl_v2.map中导出。 - 删除 HCCP 读取链路:
roce_channel_desc_configurator.cc/.h删除ReadHostConfigValue、ReadHostNicMultiQpConfigItem、ReadHostNicMultiQpCount、ReadHostNicMultiQpUdpPorts、ParseStrictDecimal及HOST_NIC_CONFIG_BUFFER_SIZE,ResolveRoceSrcPorts不再直接读取 host 多 QP 端口配置。 - QP 数量查询改走快照:
coll_comm_res_c_adpt.cc的ResolveQueueNum在 host 端 ROCE 场景下改为先通过hrtGetDevice/hrtGetDevicePhyIdByIndex获取物理设备 ID,再调用Hccl::GetHostRdmaQpCountByPhyId(rdmaConfig.GetHostRdmaUdpPortsList(), devicePhyId)查询 QP 数量。 - 单元测试同步调整:
ut_env_config.cc/ut_env_config_validate.cc新增ParseHostMultiQpConfigContent、GetHostRdmaQpCountByPhyId及重复解析清空快照等用例;ut_coll_comm_res_c_adpt.cc、ut_my_rank.cc删除StubRaGetHostMultiQpCount/StubRaGetHostMultiQpConfig等 HCCP mock,改为直接构造HostRdmaUdpPortsList数据验证优先级与回退行为。


不准确?
atomgit-bot
29 天前 评论:
29 天前 评论:
29 天前 添加了label:cann-cla/yes
此处折叠了183条消息 查看更多
22 天前 解决了最后一个问题
LQ_oy
22 天前 评论:
22 天前 评论:
/lgtm


57_Viking
21 天前 评论:
21 天前 评论:
/approve


21 天前 添加了label:lgtmapproved
21 天前 合入了pull request
描述
改动原因:
此前已提交以下两个相关 PR:
两个 PR 分别通过配置文件和环境变量提供 Host 网卡多 QP 配置,但相关解析和查询逻辑分散在 HCCP、legacy 及集合通信域管理层。根据 Issue #835:优化Host网卡多QP配置获取方式,本次将 /etc/hcomm.cfg 和 HCCL_HOST_RDMA_UDP_PORTS_LIST 的解析、合并与查询能力统一收归 src/coll_communicator_mgr/config_mgr,由新增的 HostMultiQpConfig 管理,不再依赖 HCCP 或在 legacy 中维护相关能力。同时新增 CollCommConfigMgr,统一持有和初始化集合通信域管理层的进程级配置 EnvUbConfig 与 HostMultiQpConfig,并由 CollCommMgr 管理其生命周期,确保多个通信域共享一致的配置解析结果。
改动方法:
变更类型
请选择本次引入的变更类型:
关联的Issue
关联 Issue #835:优化Host网卡多QP配置获取方式
测试
补充或调整的 UT 用例:
文档更新
NA
合入检查