昇腾社区首页
中文
注册

HcclCommConfig

功能说明

初始化具有特定配置的通信域时,此数据类型用于定义通信域配置信息,包含缓存区大小、确定性计算开关和通信域名称。

定义原型

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
const uint32_t HCCL_COMM_CONFIG_INFO_BYTES = 24;
const uint32_t COMM_NAME_MAX_LENGTH = 128;
const uint32_t UDI_MAX_LENGTH = 128; 
typedef struct HcclCommConfigDef {
    char reserved[HCCL_COMM_CONFIG_INFO_BYTES];    /* 保留字段,不可修改 */
    uint32_t hcclBufferSize;
    uint32_t hcclDeterministic;
    char hcclCommName[COMM_NAME_MAX_LENGTH];
    char hcclUdi[UDI_MAX_LENGTH];
    uint32_t hcclOpExpansionMode;
    uint32_t hcclRdmaTrafficClass;
    uint32_t hcclRdmaServiceLevel;
} HcclCommConfig;
表1 配置项说明

配置项

描述

配置优先级

hcclBufferSize

共享数据的缓存区大小,取值需大于等于1,单位为MByte。

配置项hcclBufferSize > 环境变量HCCL_BUFFSIZE > 默认值200。

hcclDeterministic

确定性计算开关。

  • 0(默认值):关闭
  • 1:开启

在不开启确定性计算的场景下,多次执行的结果可能不同。这个差异的来源,一般是因为在算子实现中存在异步的多线程执行,会导致浮点数累加的顺序变化。当开启确定性计算后,算子在相同的硬件和输入下,多次执行将产生相同的输出。

默认情况下,无需开启确定性计算,但当发现模型执行多次结果不同或者精度调优时,可以开启确定性计算辅助进行调试调优,但开启确定性计算后,算子执行时间会变慢,导致性能下降。

配置项hcclDeterministic > 环境变量HCCL_DETERMINISTIC > 默认值0(关闭确认性计算)。

hcclCommName

通信域名称,最大长度为128。

指定的通信域名称需确保与其他通信域中的名称不重复;不指定时由HCCL自动生成。

-

hcclUdi

用户自定义信息,最大长度为128,默认为空。

-

hcclOpExpansionMode

配置通信算法的编排展开位置。

  • 0(默认值):代表使用默认算法编排展开位置,不同产品型号下的默认值详见环境变量HCCL_OP_EXPANSION_MODE
  • 1:代表通信算法的编排展开位置为Host侧CPU。
  • 2:代表通信算法的编排展开位置在Device侧的AI CPU计算单元,当前版本暂不支持配置。
  • 3:代表通信算法的编排展开位置在Device侧的AI Vector Core计算单元。当前版本仅支持 Atlas A2 训练系列产品 中的以下产品型号:Atlas 800T A2 训练服务器Atlas 900 A2 PoD 集群基础单元Atlas 200T A2 Box16异构子框

需注意:若hcclDeterministic配置为“1”(开启确定性计算),hcclOpExpansionMode不支持配置为“3”(AIV模式),以确定性计算为准。

配置项hcclOpExpansionMode > 环境变量HCCL_OP_EXPANSION_MODE > 默认值0。

hcclRdmaTrafficClass

配置RDMA网卡的traffic class,取值范围为[0,255],需要配置为4的整数倍,默认值为132。

在RoCE V2协议中,该值对应IP报文头中ToS(Type of Service)域段。共8个bit,其中,bit[0,1]固定为0,bit[2,7]为DSCP,因此,该值等于DSCP乘以4。

配置项hcclRdmaTrafficClass > 环境变量HCCL_RDMA_TC > 默认值132。

hcclRdmaServiceLevel

配置RDMA网卡的service level,取值需要和网卡配置的PFC优先级保持一致,若配置不一致可能导致性能劣化。

默认值:4,取值范围[0,7]。

配置项hcclRdmaServiceLevel > 环境变量HCCL_RDMA_SL > 默认值4。