接口功能:完成张量x1与张量x2量化的矩阵乘计算,支持K-C、MX。仅支持三维的Tensor传入。Tensor支持转置,转置序列根据传入的数列进行变更。permX1代表张量x1的转置序列,permX2代表张量x2的转置序列,序列值为0的是batch维度,其余两个维度做矩阵乘法。
示例: 假设x1的shape是(M, B, K),x2的shape是(B, K, N),x1Scale和x2Scale不为None,batchSplitFactor等于1时,计算输出out的shape是(M, B, N)。
每个算子分为,必须先调用“aclnnTransposeQuantBatchMatMulGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnTransposeQuantBatchMatMul”接口执行计算。
[object Object]
[object Object]
确定性说明: aclnnTransposeQuantBatchMatMul默认确定性实现。
Atlas 350 加速卡:
- permX1和permY支持[1, 0, 2]
- K-C量化场景,permX2支持输入[0, 1, 2];MX量化场景,permX2支持输入[0, 1, 2]或[0, 2, 1]。
- K-C量化场景,K仅支持512,N仅支持128。x1Scale和x2Scale为1维,并且x1Scale为(M,), x2Scale为(N,),group_size仅支持配置为0,其他取值不生效。
- MX量化场景,K仅支持64的倍数。x1Scale和x2Scale为4维,并且x1Scale为(M, B, K/64, 2), x2Scale为(B, K/64, N, 2)或(B, N, K/64, 2),group_size的groupSizeM和groupSizeN仅支持0或1,groupSizeK仅支持32。
[object Object]