算子接口(aclnn)
使用说明
为方便调用算子,提供一套基于C的API(以aclnn为前缀API,接口列表如下),无需提供IR(Intermediate Representation)定义,方便高效构建模型与应用开发,该方式被称为“单算子API调用”,简称aclnn调用。
-
头文件、库文件
调用算子API时,需引用依赖的头文件和库文件,一般头文件默认在
${INSTALL_DIR}/include/aclnnop,库文件默认在${INSTALL_DIR}/lib64,具体文件如下:- 头文件:方式1 (推荐):引用算子仓总头文件aclnn_ops_${ops_project}.h。方式2:引用单个算子API的头文件aclnn_*.h。
- 库文件:引用算子仓对应的库文件libopapi_${ops_project}.so。注意,原所有算子仓总库文件libopapi.so后续会废弃,不推荐使用,也不支持与单个算子仓库文件同时使用。
${INSTALL_DIR}表示CANN安装后文件路径;${ops_project}表示算子仓名(如math、nn、cv、transformer),请改为实际算子仓名。
-
V版本演进说明
请注意,部分API存在多个V版本,使用时选择最高V版本即可(高版本API已兼容低版本API的所有能力)。
接口列表
Note
- 算子特性介绍:调用API前,请先学习算子相关基础知识,包括确定性算法、Batch一致性、常见量化模式等,具体介绍参见算子基本概念。
- 符号说明:表格中“-”符号表示该接口暂不支持当前列产品。
| 接口名 | 说明 | 确定性说明(A2) | 确定性说明(A3) | 确定性说明(Ascend 950) |
|---|---|---|---|---|
| aclnnAllGatherAdd | 完成AllGather通信和Add加法的融合。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnAllGatherMatmul | 完成AllGather通信与MatMul计算融合。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnAllGatherMatmulV2 | aclnnAllGatherMatmulV2接口是对aclnnAllGatherMatmul接口的功能拓展。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnAlltoAllAllGatherBatchMatMul | 完成AllToAll、AllGather集合通信与BatchMatMul计算融合、并行。 | - | 默认确定性实现 | - |
| aclnnAlltoAllMatmul | 完成AlltoAll通信与MatMul计算融合。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnAlltoAllMatmulV2 | 兼容aclnnAlltoAllMatmul支持的功能,在此基础上新增commMode参数,供用户指定通信引擎参数。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnAlltoAllQuantMatmul | 完成AlltoAll通信、量化计算、MatMul计算和反量化计算的融合。 | 默认确定性实现 | - | 默认确定性实现 |
| aclnnAlltoAllQuantMatmulV2 | 兼容aclnnAlltoAllQuantMatmul支持的功能,在此基础上新增commMode参数,供用户指定通信引擎参数。 | 默认确定性实现 | - | 默认确定性实现 |
| aclnnAlltoAllvGroupedMatMul | 完成路由专家AlltoAllv、Permute、GroupedMatMul融合并实现与共享专家MatMul并行融合。 | - | 默认确定性实现 | 默认确定性实现 |
| aclnnAlltoAllvGroupedMatMulV2 | 兼容aclnnAlltoAllvGroupedMatMul支持的功能,在此基础上新增commMode参数,供用户指定通信引擎参数。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnAlltoAllvQuantGroupedMatMul | 完成路由专家AlltoAllv、Permute、量化GroupedMatMul计算融合并实现与共享专家量化MatMul并行融合。 | - | - | 默认确定性实现 |
| aclnnAlltoAllvQuantGroupedMatMulV2 | 兼容aclnnAlltoAllvQuantGroupedMatMul支持的功能,在此基础上新增commMode参数,供用户指定通信引擎参数。 | - | - | 默认确定性实现 |
| aclnnApplyRotaryPosEmb | 将query和key两路算子融合成一路。执行旋转位置编码计算,计算结果执行原地更新。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnApplyRotaryPosEmbGrad | 执行双路旋转位置编码aclnnApplyRotaryPosEmb的反向计算,同时计算query和key的rope反向梯度,融合为一次kernel调用。 | - | - | 默认确定性实现 |
| aclnnApplyRotaryPosEmbV2 | 将query和key两路算子融合成一路。执行旋转位置编码计算,计算结果执行原地更新。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnAttentionUpdate | 将各SP域PA算子的输出的中间结果lse,localOut两个局部变量结果更新成全局结果。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnAttentionWorkerCombine | Attention和FFN分离部署场景下,Attention侧数据融合算子,将多个计算单元处理的注意力token数据进行融合,结合专家权重对结果进行加权,输出最终的注意力融合结果,并更新层ID。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnBatchMatMulReduceScatterAlltoAll | BatchMatMulReduceScatterAllToAll是通算融合算子,实现BatchMatMul计算与ReduceScatter、AllToAll集合通信并行的算子。 | - | 默认确定性实现 | - |
| aclnnBlockAttentionResiduals | 将 partialBlock 与 blockRes 拼接后完成 RMS、投影打分与 Softmax 加权融合,输出 hiddenStates。 |
默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnBlockAttentionResidualsGrad | aclnnBlockAttentionResidualsGrad 是 BlockAttentionResiduals(注意力残差)的反向传播算子,根据前向保存的inv_norm、probs和上游梯度grad_hidden_states,计算partial_block、block_res、proj_weight、norm_weight的梯度。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnBlockAttnResPrepare | 计算历史残差块与伪 Query 的块间注意力,输出 softmax 加权分子、logit 最大值和指数和,供后续阶段融合当前残差。 | - | - | 默认确定性实现 |
| aclnnBlockAttnResUpdate | 将delta原地累加到partialBlockRef,计算更新后partialBlockRef的RMSNorm score,并与历史online softmax中间状态合并,输出当前层结果h。 |
- | - | 默认确定性实现 |
| aclnnBlockSparseAttention | BlockSparseAttention通过BlockSparseMask指定每个Q块选择的KV块,实现高效的稀疏注意力计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnBlockSparseAttentionV2 | BlockSparseAttention通过BlockSparseMask指定每个Q块选择的KV块,实现高效的稀疏注意力计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnBlockSparseAttentionV3 | BlockSparseAttention通过BlockSparseMask指定每个Q块选择的KV块,实现高效的稀疏注意力计算,支持MXFP4量化模式。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnBlockSparseAttentionGrad | BlockSparseAttentionGrad通过BlockSparseMask指定每个Q块选择的KV块,实现高效的稀疏注意力计算。 | 默认确定性实现 | 默认确定性实现 | 默认非确定性实现,支持配置开启 |
| aclnnBSASelectBlockMask | BSASelectBlockMask是BSA(BlockSparseAttention)的前置算子,根据Query和Key的内容动态生成blockSparseMask,使BSA的调用链从"手动提供掩码"变为"根据Q/K内容自适应选择稀疏模式"。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnCausalConv1dFn | 完成因果一维卷积(Causal Conv1d)的前向计算(prefill / chunk-prefill)。算子内部支持SiLU激活、缓存索引(cacheIndices)、初始状态模式(initialStateMode)等特性。 | - | - | 默认确定性实现 |
| aclnnCausalConv1dUpdate | 完成因果一维卷积(Causal Conv1d)的状态更新(decode / update)计算。算子内部支持SiLU激活、缓存索引(cacheIndices)、投机解码(numAcceptedTokens)等特性。 | - | - | 默认确定性实现 |
| aclnnFusedCausalConv1d | 对序列执行因果一维卷积,沿序列维度使用缓存数据(长度为卷积核宽减1)对各序列头部进行padding,确保输出依赖当前及历史输入;卷积完成后,将当前序列部分数据更新到缓存;在因果一维卷积输出的基础上,将原始输入加到输出上以实现残差连接。支持APC(Automatic Prefix Caching)、MTP(投机解码)、残差连接等特性。 | - | - | 默认确定性实现 |
| aclnnFusedCausalConv1dV2 | 对序列执行因果一维卷积,沿序列维度使用缓存数据(长度为卷积核宽减1)对各序列头部进行padding,确保输出依赖当前及历史输入;卷积完成后,将当前序列部分数据更新到缓存;在因果一维卷积输出的基础上,将原始输入加到输出上以实现残差连接。支持APC(Automatic Prefix Caching)、MTP(投机解码)、残差连接等特性。 | - | - | 默认确定性实现 |
| aclnnInplaceFusedCausalConv1d | 对序列执行因果一维卷积,沿序列维度使用缓存数据(长度为卷积核宽减1)对各序列头部进行padding,确保输出依赖当前及历史输入;卷积完成后,将当前序列部分数据更新到缓存;在因果一维卷积输出的基础上,将原始输入加到输出上以实现残差连接。支持APC(Automatic Prefix Caching)、MTP(投机解码)、残差连接、原地更新等特性。 | - | - | 默认确定性实现 |
| aclnnInplaceFusedCausalConv1dV2 | 对序列执行因果一维卷积,沿序列维度使用缓存数据(长度为卷积核宽减1)对各序列头部进行padding,确保输出依赖当前及历史输入;卷积完成后,将当前序列部分数据更新到缓存;在因果一维卷积输出的基础上,将原始输入加到输出上以实现残差连接。支持APC(Automatic Prefix Caching)、MTP(投机解码)、残差连接、原地更新等特性。 | - | - | 默认确定性实现 |
| aclnnAttentionToFFN | 将Attention节点上数据发往FFN节点。 | - | 默认确定性实现 | - |
| aclnnChunkGatedDeltaRule | 完成chunk版的Gated Delta Rule计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnChunkKdaFwd | 完成不涉及CP切分的KDA分块正向计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnCompressor | Compressor将每4或128个token的KV cache压缩成一个,然后每个token与这些压缩的KV cache进行DSA计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnCompressorGrad | Compressor的反向算子,用于计算输入X、权重W^KV/W^Gate与位置编码Ape的梯度,前向在gradEnabled为true时导出softmax_score与kv中间结果作为本算子输入。 | - | - | 默认确定性实现 |
| aclnnFFNToAttention | 将FFN节点上的token数据发往Attention节点。 | - | 默认确定性实现 | - |
| aclnnFfnWorkerBatching | Attention和FFN分离场景下,FFN侧数据扫描及token重排。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnDequantRopeQuantKvcache | 对输入张量进行dequant后,对尾轴进行切分,划分为q、k、vOut,对q、k进行旋转位置编码,并进行量化。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnDistributeBarrier | 完成通信域内的全卡同步,xRef仅用于构建Tensor依赖,接口内不对xRef做任何操作。 | - | 默认确定性实现 | 默认确定性实现 |
| aclnnDistributeBarrierV2 | 完成通信域内的全卡同步,xRef仅用于构建Tensor依赖,接口内不对xRef做任何操作。 | - | 默认确定性实现 | 默认确定性实现 |
| aclnnDenseLightningIndexerGradKLLoss | dense场景LightningIndexer的反向算子,再额外融合了Loss计算功能。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnDenseLightningIndexerSoftmaxLse | dense场景DenseLightningIndexerGradKlLoss算子计算Softmax输入的一个分支算子。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnDenseLightningIndexerSoftmaxLseV2 | dense场景DenseLightningIndexerGradKlLoss算子计算Softmax输入的一个分支算子。相比aclnnDenseLightningIndexerSoftmaxLse,新增了压缩注意力(Compressed Attention)支持,并支持通过metadata前置算子进行分核负载均衡。 | - | - | 默认确定性实现 |
| aclnnDenseLightningIndexerSoftmaxLseV2Metadata | aclnnDenseLightningIndexerSoftmaxLseV2接口的前置接口,用于计算aclnnDenseLightningIndexerSoftmaxLseV2的负载均衡。 | - | - | 默认确定性实现 |
| aclnnFFN | 该FFN算子提供MoeFFN和FFN的计算功能。 | 默认非确定性实现,支持配置开启 | - | - |
| aclnnFFNV2 | 该FFN算子提供MoeFFN和FFN的计算功能。 | 默认非确定性实现,支持配置开启 | - | - |
| aclnnFFNV3 | 该FFN算子提供MoeFFN和FFN的计算功能。 | 默认非确定性实现,支持配置开启 | - | - |
| aclnnFlashAttentionScore | 训练场景下,使用FlashAttention算法实现self-attention(自注意力)的计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnFlashAttentionScoreV2 | 训练场景下,使用FlashAttention算法实现self-attention(自注意力)的计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnFlashAttentionScoreV3 | 训练场景下,使用FlashAttention算法实现self-attention(自注意力)的计算。对标竞品适配gptoss模型支持sink功能。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnFlashAttentionScoreV4 | 训练场景下,使用FlashAttention算法实现self-attention(自注意力)的计算。对标竞品适配gptoss模型支持sink功能。 | - | - | 默认确定性实现 |
| aclnnFlashAttentionScoreGrad | 训练场景下计算注意力的反向输出。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnFlashAttentionScoreGradV2 | 训练场景下计算注意力的反向输出,即aclnnFlashAttentionScoreV2的反向计算。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnFlashAttentionScoreGradV3 | 训练场景下计算注意力的反向输出,即aclnnFlashAttentionScoreV3的反向计算。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnFlashAttentionScoreGradV4 | 训练场景下计算注意力的反向输出,即aclnnFlashAttentionScoreV4的反向计算。该接口query、key、value参数支持多个长度相等或者长度不相等的sequence。 | - | - | 默认非确定性实现,支持配置开启 |
| aclnnFlashAttentionUnpaddingScoreGrad | 训练场景下计算注意力的反向输出,即aclnnFlashAttentionVarLenScore的反向计算。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnFlashAttentionUnpaddingScoreGradV2 | 训练场景下计算注意力的反向输出,即aclnnFlashAttentionVarLenScoreV2的反向计算。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnFlashAttentionUnpaddingScoreGradV3 | 训练场景下计算注意力的反向输出,即aclnnFlashAttentionVarLenScoreV3的反向计算。该接口相较于aclnnFlashAttentionUnpaddingScoreGradV2接口,新增queryRope、keyRope、dqRope和dkRope参数。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnFlashAttentionUnpaddingScoreGradV4 | 训练场景下计算注意力的反向输出。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnFlashAttentionUnpaddingScoreGradV5 | 训练场景下,使用FlashAttention算法实现self-attention(自注意力)的计算。增加sinkInOptional可选输入。本接口为反向输出。 |
默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnFlashAttentionVarLenScore | 训练场景下,使用FlashAttention算法实现self-attention(自注意力)的计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnFlashAttentionVarLenScoreV2 | 训练场景下,使用FlashAttention算法实现self-attention(自注意力)的计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnFlashAttentionVarLenScoreV3 | 训练场景下,使用FlashAttention算法实现self-attention(自注意力)的计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnFlashAttentionVarLenScoreV4 | 训练场景下,使用FlashAttention算法实现self-attention(自注意力)的计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnFlashAttentionVarLenScoreV5 | 训练场景下,使用FlashAttention算法实现self-attention(自注意力)的计算。对标竞品适配gptoss模型支持sink功能。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnFusedInferAttentionScoreV4 | 适配Decode & Prefill场景的FlashAttention算子。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnFusedInferAttentionScoreV5 | 适配增量&全量推理场景的FlashAttention算子。 | - | - | 默认确定性实现 |
| aclnnGatherPaKvCache | 根据blockTables中的blockId值、seqLens中key/value的seqLen从keyCache/valueCache中将内存不连续的token搬运、拼接成连续的key/value序列。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnGenericBlockSparseAttention | GenericBlockSparseAttention通过sparseBlockIdx指定每个Q块选择的KV块,sparseBlockCount指定每个Q块保留的KV块数量,实现高效的稀疏注意力计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnGenericBlockSparseAttentionGrad | GenericBlockSparseAttention的反向算子,依据rsvdBlockIdx/rsvdBlockCount在被选中的Q块上计算并传播梯度。需与aclnnGenericBlockSparseAttentionGradMetadata配套使用。 | - | - | 默认非确定性实现,不支持配置开启 |
| aclnnGenericBlockSparseAttentionGradMetadata | aclnnGenericBlockSparseAttentionGrad接口的前置接口,用于计算aclnnGenericBlockSparseAttentionGrad的负载均衡。 | - | - | 默认确定性实现 |
| aclnnGenericBlockSparseAttentionMetadata | aclnnGenericBlockSparseAttention接口的前置接口,用于计算aclnnGenericBlockSparseAttention的负载均衡。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnGroupedMatmulV5 | 实现分组矩阵乘计算,每组矩阵乘的维度大小可以不同。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnGroupedMatmulAdd | 实现分组矩阵乘计算,每组矩阵乘的维度大小可以不同。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnGroupedMatmulAddV2 | 实现分组矩阵乘计算后原地累加,每组矩阵乘的维度大小可以不同。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnGroupedMatmulActivationQuantWeightNz | 融合GMM、激活函数和量化算子,完成分组矩阵乘、激活和量化计算,输出量化结果及量化因子。 | - | - | 默认确定性实现 |
| aclnnGroupedMatMulAlltoAllv | 完成路由专家GroupedMatMul、Unpermute、AlltoAllv融合并实现与共享专家MatMul并行融合。 | - | 默认确定性实现 | 默认确定性实现 |
| aclnnGroupedMatMulAlltoAllvV2 | 兼容aclnnGroupedMatMulAlltoAllv支持的功能,在此基础上新增commMode参数,供用户指定通信引擎参数。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnQuantGroupedMatMulAlltoAllv | 完成路由专家量化GroupedMatMul、Unpermute、AlltoAllv融合并实现与共享专家量化MatMul并行融合。 | - | - | 默认确定性实现 |
| aclnnQuantGroupedMatMulAlltoAllvV2 | 兼容aclnnQuantGroupedMatMulAlltoAllv支持的功能,在此基础上新增commMode参数,供用户指定通信引擎参数。 | - | - | 默认确定性实现 |
| aclnnGroupedMatmulFinalizeRouting | GroupedMatMul和MoeFinalizeRouting的融合算子。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | - |
| aclnnGroupedMatmulFinalizeRoutingV2 | GroupedMatmul和MoeFinalizeRouting的融合算子,GroupedMatmul计算后的输出按照索引做combine动作。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | - |
| aclnnGroupedMatmulFinalizeRoutingV3 | GroupedMatmul和MoeFinalizeRouting的融合算子,GroupedMatmul计算后的输出按照索引做combine动作。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认确定性实现 |
| aclnnGroupedMatmulFinalizeRoutingWeightNz | GroupedMatMul和MoeFinalizeRouting的融合算子,GroupedMatmul计算后的输出按照索引做combine动作,支持输入Weight为AI处理器亲和数据排布格式(NZ)。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | - |
| aclnnGroupedMatmulFinalizeRoutingWeightNzV2 | GroupedMatmul和MoeFinalizeRouting的融合算子,GroupedMatmul计算后的输出按照索引做combine动作,支持输入Weight为AI处理器亲和数据排布格式(NZ)。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认确定性实现 |
| aclnnGroupedMatmulSwigluQuant | 融合GroupedMatMul、Dequant、Swiglu和Quant。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnGroupedMatmulSwigluQuantV2 | 融合GroupedMatmul 、Dequant、Swiglu和Quant。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnGroupedMatmulSwigluQuantWeightNZ | 融合GroupedMatMul、Dequant、Swiglu和Quant,输入权重Weight会被强制视为NZ格式。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnGroupedMatmulSwigluQuantWeightNzV2 | 融合GroupedMatMul、Dequant、Swiglu和Quant,输入权重Weight会被强制视为NZ格式。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnGroupedMatmulSwigluQuantWeightNzV3 | 融合GroupedMatmul、Dequant、SwiGLU和MXFP8量化,支持weight为FRACTAL_NZ格式的单Tensor输入,swigluMode仅支持2。 | - | - | 默认确定性实现 |
| aclnnGroupedMatmulWeightNz | 实现分组矩阵乘计算,每组矩阵乘的维度大小可以不同,输入权重Weight会被强制视为NZ格式。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnIncreFlashAttentionV4 | 在全量推理场景的FlashAttention算子的基础上实现增量推理。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnIndexerQuantCache | 在Indexer注意力机制的Epilog阶段,对KV Cache进行原地逐块动态量化压缩更新,支持MX-FP8、Normal、HiFloat8、MX-FP4四种量化模式。 | - | - | 默认确定性实现 |
| aclnnInplaceAttentionWorkerScheduler | Attention和FFN分离部署场景下,Attention侧数据扫描算子。该算子接收来自FFNToAttention算子的输出数据,并对数据进行逐步扫描,确保数据准备就绪。 | - | 默认确定性实现 | 默认确定性实现 |
| aclnnInplaceFfnWorkerScheduler | Attention和FFN分离场景下,FFN侧数据扫描算子。该算子接收AttentionToFFN算子发送的数据,进行扫描并完成数据整理。 | - | 默认确定性实现 | 默认确定性实现 |
| aclnnInplacePartialRotaryMul | 执行单路旋转位置编码的Inplace计算,直接修改输入张量,不产生新的输出张量。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnInplacePartialRotaryMulGrad | 执行局部旋转位置编码InplacePartialRotaryMul的反向计算,对输入dy的D维度上切片[start, end)区域执行旋转位置编码梯度计算,结果inplace写回dy。 | - | - | 默认确定性实现 |
| aclnnInterleaveRope | 针对单输入x进行旋转位置编码。 | - | - | 默认确定性实现 |
| aclnnKvCompressEpilog | 在KV Cache的Epilog阶段,对缓存进行原地逐组动态量化压缩更新,将bfloat16激活值压缩为FP8格式并按slotMapping散写。 | - | - | 默认确定性实现 |
| aclnnLightningIndexer | 稀疏attention前处理的计算,目的是选出关键的稀疏token位置。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnLightningIndexerGrad | 训练场景下,实现LightningIndexer反向,其中输入有Query, Key, Weights, Dy, Indices,反向主要利用正向计算的Indices从Key中提取TopK序列从而降低Matmul计算量。 | 默认非确定性实现,不支持配置开启 | 默认非确定性实现,不支持配置开启 | 默认非确定性实现,不支持配置开启 |
| aclnnLightningIndexerKLLoss | 训练场景下,计算LightningIndexer中teacher分布与student分布之间的KL散度损失函数。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | - |
| aclnnLightningIndexerV2 | 稀疏attention前处理的计算,目的是选出关键的稀疏token位置。支持KV压缩场景。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnLightningIndexerV2Metadata | aclnnLightningIndexerV2接口的前置接口,用于计算aclnnLightningIndexerV2的负载均衡。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMaskedCausalConv1d | 对hidden层的token之间进行带mask的因果一维分组卷积操作。 | - | - | 默认确定性实现 |
| aclnnMaskedCausalConv1dBackward | 对hidden层的token之间进行一维分组卷积操作的反向梯度计算。 | - | - | 默认确定性实现 |
| aclnnMatmulAlltoAll | 完成MatMul计算与AlltoAll通信融合。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMatmulAlltoAllV2 | 兼容aclnnMatmulAlltoAll支持的功能,在此基础上新增commMode参数,供用户指定通信引擎参数。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMatmulAllReduce | 完成MatMul计算与AllReduce通信融合。 | 默认非确定性实现,支持配置开启 | - | 默认确定性实现 |
| aclnnMatmulAllReduceV2 | 完成MatMul计算与AllReduce通信融合。 | 默认非确定性实现,支持配置开启 | - | 默认确定性实现 |
| aclnnMatmulAllReduceV3 | 兼容aclnnMatmulAllReduceV2支持的功能,在此基础上新增commMode参数,供用户指定通信引擎参数。 | 默认非确定性实现,支持配置开启 | - | 默认确定性实现 |
| aclnnMatmulReduceScatter | 完成mm + reduce_scatter_base计算。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认确定性实现 |
| aclnnMatmulReduceScatterV2 | aclnnMatmulReduceScatterV2接口是对aclnnMatmulReduceScatter接口的功能扩展。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMixedQuantSparseFlashMla | 支持量化场景下SWA、CSA、HCA三类Attention计算场景。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMixedQuantSparseFlashMlaMetadata | aclnnMixedQuantSparseFlashMla接口的前置接口,用于计算aclnnMixedQuantSparseFlashMla的负载均衡。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnQuantSparseFlashMla | 支持全量化场景下SWA、CSA、HCA三类Attention计算场景。 | - | - | 默认确定性实现 |
| aclnnQuantSparseFlashMlaMetadata | aclnnQuantSparseFlashMla接口的前置接口,用于计算aclnnQuantSparseFlashMla的负载均衡。 | - | - | 默认确定性实现 |
| aclnnMlaPreprocess | Multi-Head Latent Attention前处理的计算。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnMlaPreprocessV2 | 推理场景,Multi-Head Latent Attention前处理的计算。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnMlaProlog | Multi-Head Latent Attention前处理的计算。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnMlaPrologV2WeightNz | Multi-Head Latent Attention前处理的计算。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnMlaPrologV3WeightNz | Multi-Head Latent Attention前处理的计算。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认确定性实现 |
| aclnnMlaPrologV4WeightNz | Multi-Head Latent Attention前处理的计算。支持doRope参数控制是否执行旋转位置编码。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认确定性实现 |
| aclnnMoeComputeExpertTokens | MoE计算中,通过二分查找的方式查找每个专家处理的最后一行的位置。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeDistributeCombine | 当存在TP域通信时,先进行ReduceScatterV通信,再进行AlltoAllV通信,最后将接收的数据整合;当不存在TP域通信时,进行AlltoAllV通信,最后将接收的数据整合。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeDistributeCombineV2 | 当存在TP域通信时,先进行ReduceScatterV通信,再进行AllToAllV通信,最后将接收的数据整合;当不存在TP域通信时,进行AllToAllV通信,最后将接收的数据整合。expertScales非空时乘权重再相加,为空Tensor时直接相加。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeDistributeCombineV3 | 当存在TP域通信时,先进行ReduceScatterV通信,再进行AlltoAllV通信,最后将接收的数据整合;当不存在TP域通信时,进行AlltoAllV通信,最后将接收的数据整合。expertScales非空时乘权重再相加,为空Tensor时直接相加。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeDistributeCombineV4 | 当存在TP域通信时,先进行ReduceScatterV通信,再进行AllToAllV通信,最后将接收的数据整合;当不存在TP域通信时,进行AllToAllV通信,最后将接收的数据整合。expertScales非空时乘权重再相加,为空Tensor时直接相加。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeDistributeCombineAddRmsNorm | 当存在TP域通信时,先进行ReduceScatterV通信,再进行AlltoAllV通信,最后将接收的数据整合;当不存在TP域通信时,进行AlltoAllV通信,最后将接收的数据整合,之后完成Add + RmsNorm融合。 | - | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeDistributeCombineAddRmsNormV2 | 当存在TP域通信时,先进行ReduceScatterV通信,再进行AlltoAllV通信,最后将接收的数据整合;当不存在TP域通信时,进行AlltoAllV通信,最后将接收的数据整合,之后完成Add + RmsNorm融合。 | - | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeDistributeCombineSetup | 进行AlltoAllV通信,将数据写入对端GM。 | - | - | 默认确定性实现 |
| aclnnMoeDistributeCombineTeardown | 接收aclnnMoeDistributeCombineSetup发来的数据并整合数据(乘权重再相加)。 | - | - | 默认确定性实现 |
| aclnnMoeDistributeDispatch | 对Token数据进行量化,当存在TP域通信时,先进行EP域的AllToAllV通信,再进行TP域的AllGatherV通信;当不存在TP域通信时,进行EP域的AllToAllV通信。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeDistributeDispatchV2 | 对token数据进行量化,当存在TP域通信时,先进行EP域的AllToAllV通信,再进行TP域的AllGatherV通信;当不存在TP域通信时,进行EP域的AllToAllV通信。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeDistributeDispatchV3 | 对token数据进行量化,当存在TP域通信时,先进行EP域的AllToAllV通信,再进行TP域的AllGatherV通信;当不存在TP域通信时,进行EP域的AllToAllV通信。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeDistributeDispatchV4 | 对token数据进行量化,当存在TP域通信时,先进行EP域的AllToAllV通信,再进行TP域的AllGatherV通信;当不存在TP域通信时,进行EP域的AllToAllV通信。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeDistributeDispatchSetup | 对Token数据进行量化(可选),根据token选择的topK专家在EP(Expert Parallelism)域的AllToAllV通信,只进行数据发送和通信状态发送,通信指令发出后算子即刻退出,无需等待通信完成。数据的接收和后处理由aclnnMoeDistributeDispatchTeardown接口完成。 | - | - | 默认确定性实现 |
| aclnnMoeDistributeDispatchTeardown | 接收MoE层EP(Expert Parallelism)域的AllToAllV通信发过来的数据,数据发送端由aclnnMoeDistributeDispatchSetup完成,本接口内完成通信状态确认和数据整理。 | - | - | 默认确定性实现 |
| aclnnMoeFinalizeRouting | MoE计算中,最后处理合并MoE FFN的输出结果。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnMoeFinalizeRoutingV2 | MoE计算中,最后处理合并MoE FFN的输出结果,支持配置dropPadMode。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeFinalizeRoutingV2Grad | aclnnMoeFinalizeRoutingV2的反向传播。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeFinalizeRoutingV3 | MoE计算中,最后处理合并MoE FFN的输出结果。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeFinalizeRoutingV4 | MoE计算中,最后处理合并MoE FFN的输出结果。相比aclnnMoeFinalizeRoutingV3新增属性k,支持scalesOptional为空时自定义top-K值。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeFusedTopk | MoE计算中,对输入x做Sigmoid计算,对计算结果分组进行排序,最后根据分组排序的结果选取前k个专家。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeGatingTopK | MoE计算中,对输入x做Sigmoid、SoftMax或者SqrtSoftplus计算,对计算结果分组进行排序,最后根据分组排序的结果选取前k个专家。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeGatingTopKV2 | MoE计算中,对输入x做Sigmoid、SoftMax或者SqrtSoftplus计算,对计算结果分组进行排序,最后根据分组排序的结果选取前k个专家,支持两种模式。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeGatingTopKBackward | aclnnMoeGatingTopK的反向算子。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeGatingTopKSoftmax | MoE计算中,对x的输出做Softmax计算,取TopK操作。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeGatingTopKSoftmaxV2 | MoE计算中,如果renorm=0,先对x的输出做Softmax计算,再取TopK操作;如果renorm=1,先对x的输出做TopK操作,再进行Softmax操作。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeInitRouting | MoE的routing计算,根据aclnnMoeGatingTopKSoftmax的计算结果做Routing处理。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeInitRoutingV2 | 该算子对应MoE中的Routing计算,以MoeGatingTopKSoftmax算子的输出x和expert_idx作为输入,并输出Routing矩阵expanded_x等结果供后续计算使用。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeInitRoutingV3 | MoE的routing计算,根据aclnnMoeGatingTopKSoftmaxV2的计算结果做routing处理,支持不量化和动态量化模式。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeInitRoutingV4 | MoE的routing计算,根据aclnnMoeGatingTopKSoftmaxV2的计算结果做routing处理,支持非量化、静态量化和动态量化模式。 | - | - | 默认确定性实现 |
| aclnnMoeInitRoutingQuant | MoE的Routing计算,根据aclnnMoeGatingTopKSoftmax的计算结果做Routing处理,并对结果进行量化。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnMoeInitRoutingQuantV2 | MoE的Routing计算,根据aclnnMoeGatingTopKSoftmaxV2的计算结果做Routing处理。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeInitRoutingV2Grad | aclnnMoeInitRoutingV2的反向传播,完成Tokens的加权求和。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenPermute | MoE的permute计算,根据索引indices将tokens广播并排序。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenPermuteGrad | aclnnMoeTokenPermute的反向传播计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenPermuteV2 | MoE的permute计算,根据索引indices将tokens广播并排序。相比aclnnMoeTokenPermute新增quantMode和expandedScaleOut,在Ascend 950平台上支持MXFP8和MXFP4量化输出。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenPermuteWithEp | MoE的permute计算,根据索引indices将tokens和可选probs广播后排序并按照rangeOptional中范围切片。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenPermuteWithEpGrad | aclnnMoeTokenPermuteWithEp的反向传播计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenPermuteWithRoutingMap | MoE的permute计算,将token和expert的标签作为routingMap传入,根据routingMaps将tokens和可选probsOptional广播后排序 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenPermuteWithRoutingMapGrad | aclnnMoeTokenPermuteWithRoutingMap的反向传播。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnMoeTokenUnpermute | 根据sortedIndices存储的下标,获取permutedTokens中存储的输入数据;如果存在probs数据,permutedTokens会与probs相乘;最后进行累加求和,并输出计算结果。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenUnpermuteGrad | aclnnMoeTokenUnpermute的反向传播。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenUnpermuteWithEp | 根据sortedIndices存储的下标位置,去获取permutedTokens中的输入数据与probs相乘,并进行合并累加。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenUnpermuteWithEpGrad | aclnnMoeTokenUnpermuteWithEp的反向传播。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenUnpermuteWithRoutingMap | 对经过aclnnMoeTokenUpermuteWithRoutingMap处理的permutedTokens,累加回原unpermutedTokens。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMoeTokenUnpermuteWithRoutingMapGrad | aclnnMoeTokenUnpermuteWithRoutingMap的反向传播。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnMoeUpdateExpert | 本API支持负载均衡和专家剪枝功能。经过映射后的专家表和Mask可传入MoE层进行数据分发和处理。 | - | 默认确定性实现 | 默认确定性实现 |
| aclnnMsaIndexScore | 计算 MSA Index Branch 的 block score,对每个 query token 与 KV sparse block 做 matmul+maxpool 得到重要性分数。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMhcPre | 基于一系列计算得到MHC架构中hidden层的HresH^{res}和HpostH^{post}投影矩阵以及Attention或MLP层的输入矩阵hinh^{in}。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMhcPreV2 | 兼容aclnnMhcPre支持的功能,在此基础上新增opImplMode参数,供用户选择MhcPre计算模式。 | - | - | 默认确定性实现 |
| aclnnMhcPreBackward | aclnnMhcPre的反向传播。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMhcPreBackwardV2 | 兼容aclnnMhcPreBackward支持的功能,在此基础上新增opImplMode参数,供用户选择MhcPreBackward的Cube计算模式。 | - | - | 默认确定性实现 |
| aclnnMhcPreSinkhorn | 基于一系列计算得到MHC架构中hidden层的Hres′\mathbf{H}'_{\text{res}}和Hpost\mathbf{H}_{\text{post}}投影矩阵以及Attention或MLP层的输入矩阵hin\mathbf{h}_{\text{in}}。对Hres′\mathbf{H}'_{\text{res}}矩阵执行Sinkhorn迭代归一化变换,最终得到双随机矩阵Hres\mathbf{H}_{\text{res}};支持输出中间计算结果,用于反向梯度计算。其中,该接口在Cube中使用的计算模式为HF32。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMhcPost | 基于一系列计算对mHC架构中上一层输出进行Post Mapping,对上一层的输入进行Res Mapping,然后对二者进行残差连接,得到下一层的输入。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMhcPostBackward | mhc_post基于一系列计算对mHC架构中上一层输出进行Post Mapping,对上一层的输入进行Res Mapping,然后对二者进行残差连接,得到下一层的输入。该算子实现前述过程的反向。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnMhcSinkhorn | 对mHC架构中的Hres′\mathbf{H}'_{\text{res}}矩阵执行Sinkhorn迭代归一化变换,最终得到双随机矩阵Hres\mathbf{H}_{\text{res}};支持输出迭代过程中的中间归一化结果(norm_out)和求和结果(sum_out),用于反向梯度计算。 | - | - | 默认确定性实现 |
| aclnnMhcSinkhornBackward | aclnnMhcSinkhorn的反向传播。 | - | - | 默认确定性实现 |
| aclnnMhcPreSinkhornBackward | aclnnMhcPreSinkhorn的反向传播。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认确定性实现 |
| aclnnNormRopeConcat | transformer注意力机制中,针对query、key和Value实现归一化(Norm)、旋转位置编码(Rope)、特征拼接(Concat)。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnNormRopeConcatBackward | transformer注意力机制中,针对query、key和Value实现归一化(Norm)、旋转位置编码(Rope)、特征拼接(Concat)融合算子功能反向推导。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认确定性实现 |
| aclnnNsaCompress | 训练场景下,使用NSA Compress算法减轻long-context的注意力计算,实现在KV序列维度进行压缩。 | 默认确定性实现 | - | - |
| aclnnNsaCompressAttention | NSA中compress attention以及select topk索引计算。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnNsaCompressAttentionInfer | Native Sparse Attention推理过程中,Compress Attention的计算。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnNsaCompressGrad | aclnnNsaCompress算子的反向计算。 | 默认确定性实现 | - | - |
| aclnnNsaCompressWithCache | 实现Native-Sparse-Attention推理阶段的KV压缩。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnNsaSelectedAttention | 训练场景下,实现NativeSparseAttention算法中selected-attention(选择注意力)的计算。 | 默认确定性实现 | - | - |
| aclnnNsaSelectedAttentionGrad | 根据topkIndices对key和value选取大小为selectedBlockSize的数据重排,接着进行训练场景下计算注意力的反向输出。 | 默认非确定性实现,支持配置开启 | - | - |
| aclnnNsaSelectedAttentionInfer | Native Sparse Attention推理过程中,Selected Attention的计算。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnPoolKeyIndexer | 将多个连续token打包成一个pool(池),以pool为单位计算注意力相关性分数并选取top-k位置,从而在保持稀疏注意力优势的同时减少索引开销。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnPromptFlashAttentionV3 | 全量推理场景的FlashAttention算子。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnQkvRmsNormRopeCache | 输入qkv融合张量,通过SplitVD拆分q、k、v张量,执行RmsNorm、ApplyRotaryPosEmb、Quant、Scatter融合操作,输出qOut、kCache、vCache、qBeforeQuant(可选)、kBeforeQuant(可选)、vBeforeQuant(可选)。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnQkvRmsNormRopeCacheWithKScale | 输入Q/K/V融合张量,对Q/K执行RMSNorm、RoPE/M-RoPE及场景对应的量化,并按slotMapping更新KV Cache和K scale Cache,支持M-RoPE MX场景。 | - | - | 默认确定性实现 |
| aclnnQuantCompressor | Compressor的量化版本,将每4或128个token的KV cache压缩成一个,然后每个token与这些压缩的KV cache进行DSA计算。 | - | - | 默认确定性实现 |
| aclnnQuantGroupedMatmulDequantWeightNZ | 对输入x进行量化,分组矩阵乘以及反量化,输入权重Weight会被强制视为NZ格式。 | - | - | - |
| aclnnQuantLightningIndexer | QuantLightningIndexer在LightningIndexer的基础上支持了Per-Token-Head量化输入。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnQuantGroupedMatmulInplaceAdd | 实现分组矩阵乘计算和加法计算,基本功能为矩阵乘和加法的组合。 | - | - | 默认确定性实现 |
| aclnnQuantLightningIndexerV2 | 稀疏attention前处理的计算,选出关键的稀疏token,支持KV压缩和量化输入。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnQuantLightningIndexerV2Metadata | aclnnQuantLightningIndexerV2接口的前置接口,用于计算aclnnQuantLightningIndexerV2的负载均衡。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnQuantMatmulAllReduce | 对量化后的入参x1、x2进行MatMul计算后,接着进行Dequant计算,接着与x3进行Add操作,最后做AllReduce计算。 | 默认非确定性实现,支持配置开启 | - | 默认确定性实现 |
| aclnnQuantMatmulAllReduceV2 | aclnnQuantMatmulAllReduceV2接口是对aclnnQuantMatmulAllReduce接口的功能扩展。 | 默认非确定性实现,支持配置开启 | - | 默认确定性实现 |
| aclnnQuantMatmulAllReduceV3 | aclnnQuantMatmulAllReduceV3接口是对aclnnQuantMatmulAllReduceV2接口的功能扩展。 | 默认非确定性实现,支持配置开启 | - | 默认确定性实现 |
| aclnnQuantMatmulAllReduceV4 | 兼容aclnnQuantMatmulAllReduceV3支持的功能,在此基础上新增perblock量化方式的支持。 | 默认非确定性实现,支持配置开启 | - | 默认确定性实现 |
| aclnnQuantMatmulAllReduceV5 | 兼容aclnnQuantMatmulAllReduceV4支持的功能,在此基础上新增commMode参数,供用户指定通信引擎参数。 | 默认非确定性实现,支持配置开启 | - | 默认确定性实现 |
| aclnnQuantMatmulAlltoAll | 对量化后的入参x1、x2进行MatMul计算后,接着进行Dequant计算,最后做AlltoAll通信。 | 默认确定性实现 | - | 默认确定性实现 |
| aclnnQuantMatmulAlltoAllV2 | 兼容aclnnQuantMatmulAlltoAll支持的功能,在此基础上新增commMode参数,供用户指定通信引擎参数。 | 默认确定性实现 | - | 默认确定性实现 |
| aclnnQuantGroupedMatmulDequant | 对输入x进行量化,分组矩阵乘以及反量化。 | - | - | - |
| aclnnRainFusionAttention | RainFusionAttention稀疏注意力计算,支持灵活的块级稀疏模式,通过selectIdx指定每个Q块选择的KV块,实现高效的稀疏注意力计算。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnRecurrentGatedDeltaRule | 完成变步长的Recurrent Gated Delta Rule计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnRecurrentKda | 完成KDA(Kimi Delta Attention)的递归前向计算,面向decode和MTP短序列场景。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnRingAttentionUpdate | 将两次FlashAttention的输出根据其不同的softmax的max和sum更新。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnRingAttentionUpdateV2 | 指定softmax的输入排布,将两次FlashAttention的输出根据其不同的softmax的max和sum更新。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnRopeWithSinCosCache | 推理网络为了提升性能,将sin和cos输入通过cache传入,执行旋转位置编码计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnRopeWithSinCosCacheV2 | 对比V1增加cacheMode属性,指示cos和sin的拼接方式。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnRotaryPositionEmbedding | 执行单路旋转位置编码计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnRotaryPositionEmbeddingV2 | 执行单路旋转位置编码计算。本接口相较于aclnnRotaryPositionEmbedding,新增入参rotate。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnRotaryPositionEmbeddingGrad | 单路旋转位置编码aclnnRotaryPositionEmbedding的反向计算。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnScatterPaCache | 更新KCache中指定位置的key。 | - | - | 默认确定性实现 |
| aclnnScatterPaKvCache | 更新KvCache中指定位置的key和value。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnSparseFlashAttention | 根据sparse_indices选取重要性较高的key和value进行attention运算,得到attention_out输出。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnSparseFlashAttentionV2 | 根据sparse_indices选取重要性较高的key和value进行attention运算,得到attention_out输出。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnSparseFlashAttentionGrad | 根据topkIndices对key和value选取大小为selectedBlockSize的数据重排,接着进行训练场景下计算注意力的反向输出。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认确定性实现 |
| aclnnSparseFlashAttentionGradV2 | 根据topkIndices对key和value选取大小为selectedBlockSize的数据重排,接着进行训练场景下计算注意力的反向输出。本接口相较于aclnnSparseFlashAttentionGrad,新增可选OSS Sink输入与对应梯度输出。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认确定性实现 |
| aclnnSparseFlashMla | 支持SWA(Sliding Window Attention)、CSA(Compressed Sparse Attention)、HCA(Heavily Compressed Attention)三类Attention计算场景。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnSparseFlashMlaMetadata | 生成aclnnSparseFlashMla主算子使用的任务切分metadata。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnSparseFlashMlaGrad | 计算SparseFlashMla训练场景下注意力的反向输出,支持SWA(Sliding Window Attention)、CSA(Compressed Sparse Attention)以及HCA(Heavily Compressed Attention)。 | 默认非确定性实现,不支持配置开启 | 默认非确定性实现,不支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnSparseFlashMlaGradMetadata | aclnnSparseFlashMlaGrad接口的前置接口,用于计算aclnnSparseFlashMlaGrad的负载均衡。 | - | - | 默认确定性实现 |
| aclnnSparseLightningIndexerGradKLLoss | LightningIndexer的反向算子,再额外融合了Loss计算功能。 | 默认非确定性实现,不支持配置开启 | 默认非确定性实现,不支持配置开启 | 默认确定性实现 |
| aclnnSparseLightningIndexerGradKLLossV2 | LightningIndexer的反向算子,再额外融合了Loss计算功能,该接口支持A5的sinks场景计算P概率归一化。 | - | - | 默认确定性实现 |
| aclnnSparseLightningIndexerKLLossGrad | LightningIndexer的反向算子,支持输出Loss计算所需Index部分的分数。 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 | 默认非确定性实现,支持配置开启 |
| aclnnSparseLightningIndexerKLLossGradMetadata | aclnnSparseLightningIndexerKLLossGrad接口的前置接口,用于计算aclnnSparseLightningIndexerKLLossGrad的负载均衡。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnStemOamPrepPagedKv | 大模型推理动态稀疏注意力机制的前置评分模块,为block-sparse-attention的前置评分模块。 | - | - | 默认确定性实现 |
| aclnnStemOamPrepVarlenQ | Stem OAM block-sparse attention中Q侧预处理,将变长Q tensor转化为按stem block分组的flattened qFlat输出。 | - | - | 默认确定性实现 |
| aclnnSwinAttentionScoreQuant | 完成swin-transformer场景的Attention计算。 | - | - | - |
| aclnnSwinTransformerLnQkvQuant | Swin Transformer网络模型完成Q、K、V的计算。 | - | - | - |
| aclnnWeightQuantMatmulAllReduce | 对入参x2进行伪量化计算后,完成MatMul和AllReduce计算。 | 默认非确定性实现,支持配置开启 | - | 默认确定性实现 |
| aclnnWeightQuantMatmulAllReduceV2 | 对入参x2进行伪量化计算后,完成MatMul和AllReduce计算。兼容aclnnWeightQuantMatmulAllReduce支持的功能,在此基础上新增commMode参数,供用户指定通信引擎参数。 | 默认非确定性实现,支持配置开启 | - | 默认确定性实现 |
| aclnnKvRmsNormRopeCache | 对输入张量(kv)的尾轴,拆分出左半边用于rms_norm计算,右半边用于RoPE计算,再将计算结果分别scatter到两块cache中。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnKvRmsNormRopeCacheV2 | 融合了MLA(Multi-head Latent Attention)结构中RMSNorm归一化计算(对应rms_sizerms\_size)与RoPE(Rotary Position Embedding)位置编码(对应rope_sizerope\_size),以及更新KVCache的ScatterUpdate操作。本接口向下兼容aclnnKvRmsNormRopeCache。 | 默认确定性实现 | 默认确定性实现 | 默认确定性实现 |
| aclnnKdaInputProj | 推理场景下 Recurrent KDA 的前处理,对输入投影得到 qkv、beta、gate、g。 | - | - | 默认确定性实现 |
| aclnnFusedFloydAttention | 训练场景下,使用FloydAttention算法实现多维自注意力的计算。 | 默认确定性实现 | 默认确定性实现 | - |
| aclnnFusedFloydAttentionGrad | 训练场景下,计算Floyd注意力的反向输出,FloydAttn相较于传统FA主要是计算qk/pv注意力时会额外将seq作为batch轴从而转换为batchMatmul。 | 默认非确定性实现,不支持配置开启 | 默认非确定性实现,不支持配置开启 | - |
| aclnnScatterPaKvCacheWithKScale | 训练场景下,更新KvCache中指定位置的key和value,同时更新key的scale值。 | - | - | 默认确定性实现 |
| aclnnDenseLightningIndexerKLLossGrad | LightningIndexer的反向算子,支持输出Loss计算所需Index部分的分数。 | - | - | 默认非确定性实现,支持配置开启 |
| aclnnDenseLightningIndexerKLLossGradMetadata | aclnnDenseLightningIndexerKLLossGrad接口的前置接口,用于计算aclnnDenseLightningIndexerKLLossGrad的负载均衡。 | - | - | 默认确定性实现 |
| aclnnSparseFlashMlaSoftmaxL1Norm | aclnnDenseLightningIndexerKLLossGrad的前置接口,用于计算attnSoftmaxL1Norm。 | - | - | 默认确定性实现 |
| aclnnSparseFlashMlaSoftmaxL1NormMetadata | aclnnSparseFlashMlaSoftmaxL1NormGrad接口的前置接口,用于计算aclnnSparseFlashMlaSoftmaxL1Norm的负载均衡。 | - | - | 默认确定性实现 |
| aclnnUndGenQkvRmsNormRopeCache | 把理解阶段与生成阶段两段QKV输入按catIndices间接寻址拼成一条输出序列,逐token拆分Q/K/V后对Q/K执行RMSNorm和MRoPE,V透传;Q作为独立输出返回,K/V按slotMapping原地写入分页KV Cache。 | - | - | 默认确定性实现 |
| aclnnKeyPool | 对每个输入token分别执行K投影和Gate投影,将连续的cmpRatio个token分为一组,按Gate与位置偏置确定的权重将组内K合并为一个Key,并将未完成压缩组所需的中间状态写入分页stateCache。 |
默认确定性实现 | 默认确定性实现 | 默认确定性实现 |