约束说明
- 输入x / weight矩阵维度,通过transWeight配置需满足矩阵乘的维度关系。
- rank、rankSize、rankRoot需满足以下条件。
- 0 ≤ rank < rankSize
- 0 ≤ rankRoot < rankSize

- 调用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。