---
title: 约束说明
description: "- 仅支持device间HCCS互联，如下命令可查询卡间互联信息。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0176.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0176.html
indexId: d3161eff16d3224d047c8c8867338fdfbee96014d6a6def1858eb40d381a40b064
---
# 约束说明

- 仅支持device间HCCS互联，如下命令可查询卡间互联信息。
  1 npu-smi info -t topo -i 0

- 输入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。
- 在mc2场景下，M、K、N的取值范围分别为M：[2, 10000000]、K：[256, 65535)、N：[1, 32768]。
