---
title: 参数列表
description: "| 成员名称 | 类型 | 默认值 | 描述 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0171.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0171.html
indexId: b4d685baadd1efeda2421207896bf785418a51fc73ef1315ea1ca0983386c2cb64
---
# 参数列表

| 成员名称 | 类型 | 默认值 | 描述 |
| --- | --- | --- | --- |
| transWeight | bool | true | 权重是否需要转置，默认为true。 |
| rank | int | 0 | 当前卡所属通信编号。 |
| rankSize | int | 0 | 通信的卡的数量。 “backend”为lcoc和mc2时，取值为2的幂次。 “backend”为mc2时只支持2、4、8。 |
| rankRoot | int | 0 | 主通信编号。 |
| hasResidual | bool | false | 是否叠加残差。配置为“false”时不叠加残差，为“true”时叠加残差。默认不叠加残差。mc2不支持hasResidual。 |
| backend | std::string | "hccl" | 通信后端指示。支持“hccl”，“lccl”，“lcoc”“mc2”。LCCL功能将在后续版本删除，建议使用HCCL功能。 Atlas 推理系列产品 仅支持“backend”为“hccl”。 mc2只支持 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 和 Atlas A3 推理系列产品 / Atlas A3 训练系列产品 。 |
| hcclComm | HcclComm | nullptr | HCCL通信域指针。 默认为空，加速库为用户创建；若用户想要自己管理通信域，则需要传入该通信域指针，加速库使用传入的通信域指针来执行通信算子。 |
| commMode | CommMode | COMM\_MULTI\_PROCESS | 通信模式，CommMode类型枚举值。hccl多线程只支持外部传入通信域方式。不影响lcoc算子，设为默认值即可。mc2仅支持COMM\_MULTI\_THREAD。 |
| rankTableFile | std::string | \- | 集群信息的配置文件路径，适用单机以及多机通信场景，当前仅支持hccl后端场景。 配置请参见《HCCL集合通信库》的“rank table配置资源信息(https://www.hiascend.com/document/detail/zh/canncommercial/900/API/hcclug/hcclug\_000065.html)”。 |
| type | ParallelType | LINEAR\_ALL\_REDUCE | 权重并行类型。仅在“backend”为“lcoc”和“mc2”时生效。mc2仅支持LINEAR\_REDUCE\_SCATTER。 UNDEFINED：未定义。 LINEAR\_ALL\_REDUCE：linear + AllReduce，默认值。 涉及确定性计算，支持通过环境变量LCCL\_DETERMINISTIC进行开启或关闭。 LINEAR\_REDUCE\_SCATTER：linear + reduce\_scatter。 涉及确定性计算，支持通过环境变量LCCL\_DETERMINISTIC进行开启或关闭。 ALL\_GATHER\_LINEAR：AllGather + linear。 PURE\_LINEAR：linear。 ALL\_GATHER\_LINEAR\_REDUCE\_SCATTER：AllGather + linear + reduce\_scatter。不支持确定性计算。 ALLTOALLVC\_ALL\_GATHER\_GMM：AllToAllvc+AllGather+GroupMatmul。 GMM\_REDUCE\_SCATTER\_ALLTOALLVC：GroupMatmul+ReduceScatter+AllToAllvc。 MAX ：枚举类型最大值。 |
| keepIntermediate | bool | false | 是否返回中间结果，仅在“ParallelType”使用“ALL\_GATHER\_LINEAR”时生效，其他场景需设置为false。 |
| quantType | QuantType | QUANT\_TYPE\_UNQUANT | 量化类型。仅在“backend”为“lcoc”时生效。 QUANT\_TYPE\_UNDEFINED：默认值。 QUANT\_TYPE\_UNQUANT：默认值。 QUANT\_TYPE\_PER\_TENSOR：对整个张量进行量化。 QUANT\_TYPE\_PER\_CHANNEL：对张量中每个channel分别进行量化。 QUANT\_TYPE\_PER\_GROUP：将张量按quantGroupSize划分后，分别进行量化。 QUANT\_TYPE\_PER\_TOKEN：对张量中每个token分别进行量化。 QUANT\_TYPE\_MAX：枚举类型最大值。 |
| quantGroupSize | int32\_t | 0 | 量化类型为“QUANT\_TYPE\_PER\_GROUP”时取值范围为2、4、8、16、32、64，其它量化类型取0。 |
| outDataType | aclDataType | ACL\_DT\_UNDEFINED | 若为浮点linear，参数“outDataType”配置为ACL\_DT\_UNDEFINED，表示输出tensor的数据类型与输入tensor一致。 若为量化linear，输出tensor的数据类型与输入tensor不一致，则参数“outDataType”配置为用户预期输出tensor的数据类型, 如ACL\_FLOAT16/ACL\_BF16。 |
| commDomain | std::string | \- | 通信device组用通信域名标识，多通信域时使用。当backend为lccl时，commMode为多进程时，commDomain需要设置0\-65535，支持设置通信域的内存大小，用于性能优化，配置方式通信域：通信域大小（MB），如“0:400”，当同一个通信域中多个算子配置冲突时，以第一个执行到的该通信域算子配置为准。 限制：默认值为200，当前配置大小不支持小于200。 |
| twoDimTPInfo | TwoDimTPInfo | \- | AllGather\_Matmul\_ReduceScatter算子参数。 |
| moeInfo | MoeInfo | 1 | MoE场景参数，仅当type为ALLTOALLVC\_ALL\_GATHER\_GMM或 GMM\_REDUCE\_SCATTER\_ALLTOALLVC时生效。 |
| rsv[52] | uint8\_t | {0} | 预留参数。 |


**表1 TwoDimTPInfo成员**

| 成员名称 | 类型 | 默认值 | 描述 |
| --- | --- | --- | --- |
| agDim | uint16\_t | 0 | 表示allGather轴卡数，规定x轴方向是非连续卡号。 |
| rsDim | uint16\_t | 0 | 表示reduceScatter轴卡数，规定y轴方向是连续卡号。 |
| innerDimIsAg | uint8\_t | 1 | allGather通信的rank是否连续，1表示true，0表示false。 |
| rsv[3] | uint8\_t | {0} | 填充满8字节。 |


**表2 MoeInfo成员**

| 成员名称 | 类型 | 默认值 | 描述 |
| --- | --- | --- | --- |
| localExpertNums | int16\_t | 1 | 当前卡处理的expert数量，仅当type为ALLTOALLVC\_ALL\_GATHER\_GMM或 GMM\_REDUCE\_SCATTER\_ALLTOALLVC时生效。 |
| epSize | int8\_t | 1 | EP域大小，仅当type为ALLTOALLVC\_ALL\_GATHER\_GMM或 GMM\_REDUCE\_SCATTER\_ALLTOALLVC时生效。 需满足epSize\*tpSize=rankSize。 |
| tpSize | int8\_t | 1 | TP域大小，仅当type为ALLTOALLVC\_ALL\_GATHER\_GMM或 GMM\_REDUCE\_SCATTER\_ALLTOALLVC时生效且只能为1。 |
