下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

接口列表

融合算子简介

融合算子是指将多个独立的“小算子”融合成一个“大算子”,多个小算子的功能和大算子的功能等价,融合算子在性能或者内存等方面优于独立的小算子。可以根据具体算法的实现自由融合向量(Vector)、矩阵(Cube)算子以达到性能或者内存收益。

例如对于大语言模型(Large Language Model, LLM)核心计算为Scaled dot product attention。其核心实现如下图。图中Matmul算子(Cube)、Scale算子(Vector)、Mask算子(Vector)、SoftMax算子(Vector)融合为一个融合算子。

融合算子通常有如下优势:

  • 减少计算量:融合算子可以将多个算子合并为一个,简化计算过程,减少计算量,提高计算效率。
  • 减少内存占用:融合算子可以将多个算子的中间结果合并为一个,从而减少内存占用,提高内存利用率。
  • 优化数据流:融合算子可以优化数据流,减少数据在不同算子之间的传输,从而提高数据处理效率。
  • 简化代码实现:融合算子可以简化代码实现,减少代码量,提高代码可读性和可维护性。

融合算子归属领域

算子接口可被归属为如下领域:

  • aclnn_ops_infer:NN网络算子推理库
  • aclnn_ops_train:NN网络算子训练库
  • aclnn_math:数学算子库
  • aclnn_rand:随机数算子库

其中推理库依赖数学库,训练库依赖推理库、数学库与随机库。

每个算子接口所属领域如下所示。

aclnn api aclnn_ops_infer aclnn_ops_train aclnn_math aclnn_rand
aclnnAddLayerNorm
aclnnAddLayerNormGrad
aclnnAddRmsNorm
aclnnAllGatherMatmul
aclnnAlltoAllAllGatherBatchMatMul
aclnnApplyRotaryPosEmb
aclnnBatchMatMulReduceScatterAlltoAll
aclnnBidirectionLSTM
aclnnBidirectionLSTMV2
aclnnDeepNorm
aclnnDeepNormGrad
aclnnDynamicQuant
aclnnDynamicQuantV2
aclnnEinsum
aclnnFFN(代码开放)
aclnnFFNV2(代码开放)
aclnnFFNV3(代码开放)
aclnnFlashAttentionScore(代码开放)
aclnnFlashAttentionScoreGrad(代码开放)
aclnnFlashAttentionScoreGradV2(代码开放)
aclnnFlashAttentionScoreV2(代码开放)
aclnnFlashAttentionUnpaddingScoreGrad(代码开放)
aclnnFlashAttentionUnpaddingScoreGradV2(代码开放)
aclnnFlashAttentionVarLenScore(代码开放)
aclnnFlashAttentionVarLenScoreV2(代码开放)
aclnnFusedInferAttentionScore(代码开放)
aclnnFusedInferAttentionScoreV2(代码开放)
aclnnGroupedMatmul
aclnnGroupedMatmulV2
aclnnGroupedMatmulV3
aclnnGroupedMatmulV4
aclnnGroupedMatMulAllReduce
aclnnIncreFlashAttention(代码开放)
aclnnIncreFlashAttentionV2(代码开放)
aclnnIncreFlashAttentionV3(代码开放)
aclnnIncreFlashAttentionV4(代码开放)
aclnnInplaceMatmulAllReduceAddRmsNorm
aclnnInplaceQuantMatmulAllReduceAddRmsNorm
aclnnInplaceQuantScatter
aclnnInplaceWeightQuantMatmulAllReduceAddRmsNorm
aclnnInstanceNorm
aclnnMatmulAllReduce
aclnnMatmulAllReduceV2
aclnnMatmulAllReduceAddRmsNorm
aclnnMatmulReduceScatter
aclnnMoeComputeExpertTokens
aclnnMoeFinalizeRouting
aclnnMoeFinalizeRoutingV2
aclnnMoeFinalizeRoutingV2Grad
aclnnMoeGatingTopKSoftmax
aclnnMoeGatingTopKSoftmaxV2
aclnnMoeInitRouting
aclnnMoeInitRoutingV2
aclnnMoeInitRoutingV2Grad
aclnnMoeInitRoutingQuant
aclnnMoeInitRoutingQuantV2
aclnnMoeTokenPermute
aclnnMoeTokenPermuteGrad
aclnnMoeTokenUnpermute
aclnnMoeTokenUnpermuteGrad
aclnnMrgbaCustom
aclnnMultiScaleDeformableAttentionGrad
aclnnMultiScaleDeformableAttentionGrad
aclnnPromptFlashAttention(代码开放)
aclnnPromptFlashAttentionV2(代码开放)
aclnnPromptFlashAttentionV3(代码开放)
aclnnQuantMatmulAllReduce
aclnnQuantMatmulAllReduceV2
aclnnQuantMatmulAllReduceV3
aclnnQuantMatmulAllReduceAddRmsNorm
aclnnRingAttentionUpdate
aclnnRmsNorm
aclnnRmsNormGrad
aclnnSwinAttentionScoreQuant
aclnnSwinTransformerLnQkvQuant
aclnnWeightQuantBatchMatmulV2
aclnnWeightQuantMatmulAllReduce
aclnnWeightQuantMatmulAllReduceAddRmsNorm
aclRfft1D
aclStft
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词