DistributeBarrierExtend

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品 ×
Atlas A2 训练系列产品/Atlas A2 推理系列产品 ×
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:完成通信域内的全卡同步,xRef仅用于构建Tensor依赖,接口内不对xRef做任何操作。

    相较于DistributeBarrier算子,该算子变更如下:

    • 新增context入参,存入通信域相关信息; 详细说明请参考以下参数说明。

参数说明

参数名 输入/输出 描述 数据类型 数据格式
context 输入 本卡通信域信息数据。 INT32 ND
xRef 输入 无业务语义,仅用于输入Tensor依赖,接口内不做任何操作。 BFLOAT16, FLOAT16、FLOAT32、BOOL、INT8、INT16、INT32、INT64、UINT8、UINT16、UINT32、UINT64、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT4_E1M2、FLOAT4_E2M1、HIFLOAT8、INT4 ND
timeOutOptional 输入 超时时间设置,如果在此时间内无响应,则认为超时。 INT32 ND
elasticInfoOptional 输入 EP通信域动态缩容信息:
Atlas A2系列产品:不支持,传空指针;
Atlas A3系列产品:1D Tensor(shape 4 + 2 * epWorldSize,),INT32类型,前4位为缩容配置,后2*epWorldSize为rank映射表。
INT32 ND(支持非连续Tensor)
group 输入 通信域名称,进行所有卡同步的通信域。 STRING ND
worldSize 输入 通信域大小。 UINT64 ND
  • Ascend 950PR/Ascend 950DT:timeOutOptional参数里的超时时间单位为us,建议配置5000000us,根据实际环境不同超时时间下限可能不同。

约束说明

  • 通信域使用约束:

    • 一个模型中的aclnnDistributeBarrier需要使用单独通信域,该通信域中不允许有其他算子。
  • 使用场景说明:

    • 在需要进行全卡同步的网络模型中调用该算子,可以屏蔽快慢卡引入的性能波动问题,协助分析性能。
    • 可以连续调用,入图时,需将上个算子的输入、下个算子的输出作为入参传入接口。
    • 当使能elasticInfo时,要确保Dispatch/Combine也传入了此参数,并且此elasticInfo与Dispatch/Combine中的elasticInfo保持一致。

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_distribute_barrier.cpp 通过aclnnDistributeBarrier接口方式调用distribute_barrier_extend算子。