ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

HCCL_SOCKET_FAMILY 详解:CANN HCCL 通信网卡 IP 协议版本(IPv4/IPv6)配置指南

HCCL_SOCKET_FAMILY 详解:CANN HCCL 通信网卡 IP 协议版本(IPv4/IPv6)配置指南 HCCL_SOCKET_FAMILY 详解CANN HCCL 通信网卡 IP 协议版本IPv4/IPv6配置指南【免费下载链接】hccl集合通信库Huawei Collective Communication Library简称HCCL是基于昇腾AI处理器的高性能集合通信库为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl导读HCCL_SOCKET_FAMILY是昇腾集合通信库Huawei Collective Communication LibraryHCCL中用于指定通信网卡 IP 协议版本AF_INET/IPv4 或AF_INET6/IPv6的环境变量。在多机集合通信、基于 root 节点信息创建通信域等场景中Host 与 Device 侧通信网卡的协议版本选择直接影响 HCCL 建链的成败。阅读本文后你将掌握该变量的两种使用场景、与 HCCL_SOCKET_IFNAME 及 HCCL_IF_IP 的协作关系、Ascend 950 系列机型的特殊约束以及 IP Family 不一致EI0001故障的定位方法。功能描述指定通信网卡的 IP 协议HCCL_SOCKET_FAMILY环境变量用于指定 HCCL 初始化时通信网卡使用的 IP 协议支持以下两种取值取值IP 协议AF_INETIPv4 协议AF_INET6IPv6 协议缺省不配置时使用 IPv4 协议。该行为与 HCCL 的 IP Family 解析策略一致HCCL 默认优先使用 IPv4 协议仅在 Device 侧未配置 IPv4 协议 IP 时才会回退使用 IPv6 协议对应的 IP 地址详见下文IP Family 校验不一致排查。该环境变量存在两种使用场景Host 侧配置 HCCL 初始化时 Host 侧通信网卡使用的 IP 协议版本。此场景下该变量需要与 HCCL_SOCKET_IFNAME同时使用——当 HCCL 通过指定网卡名获取 Host IP 时由HCCL_SOCKET_FAMILY指定该网卡的 socket 通信 IP 协议。Device 侧配置 HCCL 初始化时 Device 侧通信网卡使用的 IP 协议版本。此场景下若该变量指定的 IP 协议与实际获取到的网卡信息不匹配以实际环境上的网卡信息为准。例如变量指定为 IPv6 协议但 Device 侧只存在 IPv4 协议的网卡则实际会使用 IPv4 协议的网卡。配置示例在启动业务进程前通过export设置环境变量即可生效export HCCL_SOCKET_FAMILYAF_INET # IPv4 export HCCL_SOCKET_FAMILYAF_INET6 # IPv6若希望环境变量对当前 Shell 会话内所有进程生效可将其写入~/.bashrc等配置文件后执行source若用于作业调度系统如训练任务的启动脚本建议将上述配置写入任务启动脚本中。典型组合与 HCCL_SOCKET_IFNAME 配合配置 Host 通信网卡在基于 root 节点信息创建通信域的多机场景下HCCL_SOCKET_FAMILY通常与 HCCL_SOCKET_IFNAME 成对出现用于在每个 Host 节点指定通信网卡及其协议版本参见 api_comm_impl.md 中的指定 HCCL 初始化时 Host 节点使用的通信 IP 地址或通信网卡步骤# 配置 HCCL 初始化时通信网卡使用的 IP 协议版本AF_INETIPv4AF_INET6IPv6 export HCCL_SOCKET_FAMILYAF_INET # HCCL_SOCKET_IFNAME 支持以下 4 种网卡名配置规格任选 1 种即可 # 环境变量中可配置多个网卡多个网卡间用英文逗号分隔取最先匹配到的网卡作为通信网卡 # 精确匹配网卡 export HCCL_SOCKET_IFNAMEeth0,enp0 # 使用指定的 eth0 或 enp0 网卡 export HCCL_SOCKET_IFNAME^eth0,enp0 # 不使用 eth0 与 enp0 网卡 # 模糊匹配网卡 export HCCL_SOCKET_IFNAMEeth,enp # 使用所有以 eth 或 enp 为前缀的网卡 export HCCL_SOCKET_IFNAME^eth,enp # 不使用任何以 eth 或 enp 为前缀的网卡此时HCCL 通过HCCL_SOCKET_IFNAME指定的网卡名获取 Host IP并通过HCCL_SOCKET_FAMILY确定该网卡 IP 的协议版本该 IP 用于与 root 节点通信以完成通信域的创建。网卡与 IP 的选择优先级配置时需要注意Host 侧通信网卡的最终选择遵循如下优先级参见 HCCL_IF_IP 与 HCCL_SOCKET_IFNAME环境变量 HCCL_IF_IP 环境变量 HCCL_SOCKET_IFNAME docker/lo 以外网卡网卡名字典序升序 docker 网卡 lo 网卡HCCL_IF_IP 用于直接指定通信 IP 地址仅支持一个 Host IP可为 IPv4 或 IPv6 格式优先级高于HCCL_SOCKET_IFNAME若不配置HCCL_IF_IP或HCCL_SOCKET_IFNAME系统将按上述优先级自动选择网卡若当前节点选择的网卡与 root 节点选择的网卡链路不通将导致 HCCL 建链失败。Ascend 950PR / Ascend 950DT 的特殊约束针对 Ascend 950PR / Ascend 950DT 机型该环境变量不支持配置 Device 侧通信网卡的 IP 协议版本。该机型 Device 侧网卡 IP 协议的使用情况由底层通信方式决定具体如下Device 侧网卡使用UB 协议通信时只支持使用IPv6协议进行 Socket 建链Device 侧网卡使用UBoE 协议通信时只支持使用IPv4协议进行 Socket 建链。因此在该机型上无需也无法通过HCCL_SOCKET_FAMILY干预 Device 侧网卡的协议选择如需调整 Device 侧网络行为应结合实际的通信协议UB/UBoE进行规划。使用约束该环境变量无使用约束即不限制与哪些特性、机型之外的参数组合使用。但在实际部署中需要注意HCCL_SOCKET_FAMILY配置的协议版本应与实际网卡上配置的 IP 协议一致尤其在同一次作业的所有 rank 之间应保持一致见下节故障排查Host 侧使用时必须与 HCCL_SOCKET_IFNAME 配合单独配置无法生效当指定协议与实际网卡信息不匹配时Device 侧以实际网卡信息为准而非报错。关联故障排查IP Family 校验不一致EI0001当同一次作业中不同 rank 的 IP Family 不一致时例如一边为 IPv4、另一边为 IPv6HCCL 会在建链阶段报出 EI0001 错误CANN 日志中会出现如下关键字参见 ip_family_check_inconsistent_EI0001.md[ERROR] HCCL(144905,python):2025-04-20-00:26:54.435.048 [config.cc:413] [145735][InitGroupStage][RanktableCheck]rank[0] device ip family[2] is not same as others[10].其中family打印的是枚举值对应关系如下IP Family 枚举值IP 协议2IPv410IPv6排查与处理建议通过hccn_tool查询各节点 Device 网卡实际配置的 IP 协议# 查询是否配置了 IPv4 hccn_tool -i {deviceId} -ip -g # 查询是否配置了 IPv6 hccn_tool -i {deviceId} -ip -inet6 -g同一次作业的所有 rank 的 IP Family 应保持一致。HCCL 默认先使用 IPv4 协议若 Device 侧没有配置 IPv4 协议的 IP则会使用 IPv6 协议对应的 IP。如需强制指定协议可通过HCCL_SOCKET_FAMILY环境变量指定需要使用的网卡 IP 协议使各 rank 的协议版本对齐。产品支持情况HCCL_SOCKET_FAMILY环境变量在以下产品上均得到支持产品支持情况Ascend 950PR / Ascend 950DT支持注意 Device 侧协议由 UB/UBoE 通信方式决定见上文特殊约束Atlas A3 训练系列产品 / Atlas A3 推理系列产品支持Atlas A2 训练系列产品 / Atlas A2 推理系列产品支持Atlas 训练系列产品支持Atlas 推理系列产品支持参考文档HCCL_SOCKET_IFNAME 环境变量说明HCCL_IF_IP 环境变量说明HCCL 环境变量总览基于 root 节点信息创建通信域的通信 IP 配置流程IP Family 校验不一致EI0001故障排查集群环境配置信息总览【免费下载链接】hccl集合通信库Huawei Collective Communication Library简称HCCL是基于昇腾AI处理器的高性能集合通信库为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表