昇腾社区首页
中文
注册

约束说明

  • 输入x / weight矩阵维度,通过transWeight配置需满足矩阵乘的维度关系。
  • rank、rankSize、rankRoot需满足以下条件。
    • 0 ≤ rank < rankSize
    • 0 ≤ rankRoot < rankSize
  • 多用户使用时需要使用ATB_SHARE_MEMORY_NAME_SUFFIX环境变量(请参见Transformer加速库环境变量说明)进行共享内存的区分,以进行初始化信息同步。
  • 当使用加速库的通信算子异常退出时,需要清空残留数据,避免影响之后的使用,命令参考如下:
    rm -rf /dev/shm/sem.lccl*
    rm -rf /dev/shm/sem.hccl*
    ipcrm -a
  • 调用AllGatherMatmulReduceScatter算子时(即LinearParallelParam的type设置为ALL_GATHER_LINEAR_REDUCE_SCATTER时),backend需要设置为"lcoc",keepIntermediate需为false,twoDimTPInfo中的agDim、rsDim、innerDimIsAg可供设置,且需满足agDim * rsDim == rankSize,不支持量化相关参数。输入维度m、k、n的取值范围分别为[1, 200000]、[1, 32768]、[1, 32768]。
  • agDim和rsDim需为2的幂,且最小为2,rankSize最小为4,最大为16。
  • AlltoallvcAllGatherGroupMatmul、GroupMatmulReduceScatterAlltoallvc算子约束如下:
    • 当type为ALLTOALLVC_ALL_GATHER_GMM或GMM_REDUCE_SCATTER_ALLTOALLVC时,1<= localExpertNums <=16。ep×tp = ranksize。
    • 当type为ALLTOALLVC_ALL_GATHER_GMM或GMM_REDUCE_SCATTER_ALLTOALLVC时,quantType只能为QUANT_TYPE_PER_CHANNEL或QUANT_TYPE_PER_TOKEN
    • 因alltoallV为不均匀通信,每卡输出矩阵不同,m'为给output开辟的最大空间,保证可以容纳每张卡的output,当m'不足以容纳该卡输出时,算子内会对token进行截断,如要保证不触发阶段场景,m'可取 m * rankSize * localExpertNum,AlltoallvcAllGatherGroupMatmul、GroupMatmulReduceScatterAlltoallvc算子需满足 m' * 256 * sizeof(inputType) < 200 * 1024 * 1024 / 2。
  • Atlas 200T A2 Box16 异构子框场景下,通信域仅支持前8卡或后8卡内部建立,不支持同时包含前8卡和后8卡的通信域。
  • 在lcoc场景下,M、K、N最大值分别为M:10000000、K:100000、N:32768。