CANN/HCCL NPU通信端口配置
HCCL_NPU_SOCKET_PORT_RANGE
【免费下载链接】hccl集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl
功能描述
当通信域的创建方式为“基于root节点信息创建”时,开发者可通过此环境变量配置HCCL在NPU侧使用的通信端口。
该环境变量支持配置为具体的端口、端口范围或者字符串“auto”。
若指定具体的端口号或端口范围,规划的端口数量建议不小于单个NPU上的HCCL进程数,端口号取值范围为[1,65535],且需要确保指定的端口未被其他进程占用。需要注意,[1,1023]为系统保留端口,应避免使用这些端口。
具体端口号与端口范围可以组合使用,中间使用英文“,”分隔,但逗号之间的端口号/端口范围不能存在范围交叉,配置方式可参见配置示例。
若指定为字符串“auto”,代表HCCL使用的NPU端口号由操作系统动态分配。
若不配置该环境变量,HCCL在NPU侧使用的通信端口默认为16666。
配置示例
//方式一:配置为端口范围。 export HCCL_NPU_SOCKET_PORT_RANGE="61000-61050" //方式二:具体的端口号与端口范围配合使用,使用英文“,”分隔。 export HCCL_NPU_SOCKET_PORT_RANGE="61000,61050-61100,61200-61210" //方式三:指定具体的端口号,使用英文“,”分隔。 export HCCL_NPU_SOCKET_PORT_RANGE="57000,57005,57007,58008,58100,58105,58107,58108" //方式四:操作系统动态分配端口号 export HCCL_NPU_SOCKET_PORT_RANGE="auto"使用约束
- 在多卡场景下,若需要配置该环境变量,则同一通信域内的所有卡都必须进行配置。
- 若业务为单卡多进程场景(即多个业务进程同时共用一个NPU),建议配置此环境变量,否则业务可能会因为端口冲突运行失败。但需要注意,多进程会对资源开销、通信性能产生一定的影响。
- 针对Atlas A2 训练系列产品/Atlas A2 推理系列产品,若网络中存在MC²通算融合算子(计算和通信融合的算子,例如AllGatherMatmul、MatmulReduceScatter、AlltoAllAllGatherBatchMatMul等),不支持配置此环境变量。
支持的型号
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品(针对Atlas A2 训练系列产品/Atlas A2 推理系列产品,仅支持Atlas 800T A2 训练服务器、Atlas 900 A2 PoD 集群基础单元、Atlas 200T A2 Box16 异构子框。)
【免费下载链接】hccl集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
