CANN/asc-devkit SIMD高阶API列表
高阶API列表【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit数学计算接口名功能描述Acos按元素做反余弦函数计算。Acosh按元素做双曲反余弦函数计算。Asin按元素做反正弦函数计算。Asinh按元素做反双曲正弦函数计算。Atan按元素做三角函数反正切运算。Atanh按元素做反双曲正切余弦函数计算。Axpy源操作数中每个元素与标量求积后和目的操作数中的对应元素相加。Ceil获取大于或等于x的最小的整数值即向正无穷取整操作。ClampMax将srcTensor中大于scalar的数替换为scalar小于等于scalar的数保持不变作为dstTensor输出。ClampMin将srcTensor中小于scalar的数替换为scalar大于等于scalar的数保持不变作为dstTensor输出。Cos按元素做三角函数余弦运算。Cosh按元素做双曲余弦函数计算。CumSum对数据按行依次累加或按列依次累加。Digamma按元素计算x的gamma函数的对数导数。Erf按元素做误差函数计算也称为高斯误差函数。Erfc返回输入x的互补误差函数结果积分区间为x到无穷大。Exp按元素取自然指数。Floor获取小于或等于x的最小的整数值即向负无穷取整操作。Fmod按元素计算两个浮点数相除后的余数。Frac按元素做取小数计算。Hypot按元素计算两个浮点数平方和的平方根。IsFinite按元素判断输入的浮点数是否非NAN、非±INF。Lgamma按元素计算x的gamma函数的绝对值并求自然对数。Log按元素以e、2、10为底做对数运算。Power实现按元素做幂运算功能。Round将输入的元素四舍五入到最接近的整数。Sign按元素执行Sign操作Sign是指返回输入数据的符号。Sin按元素做正弦函数计算。Sinh按元素做双曲正弦函数计算。Tan按元素做正切函数计算。Tanh按元素做逻辑回归Tanh。Trunc按元素做浮点数截断操作即向零取整操作。Xor按元素执行Xor异或运算。Fma按元素计算两个输入相乘后与第三个输入相加的结果。IsNan按元素判断输入的浮点数是否为nan。IsInf按元素判断输入的浮点数是否为±INF。Rint获取与输入数据最接近的整数。SinCos按元素进行正弦计算和余弦计算分别获得正弦和余弦的结果。LogicalNot按元素进行取反操作。LogicalAnd按元素进行与操作。LogicalAnds输入矢量内的每个元素与标量进行与操作。LogicalOr按元素进行或操作。LogicalOrs输入矢量内的每个元素与标量进行或操作。LogicalXor按元素进行逻辑异或操作。BitwiseNot逐比特对输入进行取反。BitwiseAnd逐比特对两个输入进行与操作。BitwiseOr逐比特对两个输入进行或操作。BitwiseXor逐比特对两个输入进行异或操作。Where根据指定的条件从两个源操作数中选择元素生成目标操作数。量化操作接口名功能描述AntiQuantize按元素做伪量化计算比如将int8_t数据类型伪量化为half数据类型。AscendAntiQuant按元素做伪量化计算比如将int8_t数据类型伪量化为half数据类型。Dequantize按元素做反量化计算比如将int32_t数据类型反量化为half/float等数据类型。AscendDequant按元素做反量化计算比如将int32_t数据类型反量化为half/float等数据类型。Quantize按元素做量化计算比如将half/float数据类型量化为int8_t数据类型。AscendQuant按元素做量化计算比如将half/float数据类型量化为int8_t数据类型。归一化操作接口名功能描述BatchNorm对于每个batch中的样本对其输入的每个特征在batch的维度上进行归一化。DeepNorm在深层神经网络训练过程中可以替代LayerNorm的一种归一化方法。GroupNorm将输入的C维度分为groupNum组对每一组数据进行标准化。LayerNorm将输入数据收敛到[0, 1]之间可以规范网络层输入输出数据分布的一种归一化方法。LayerNorm-TilingLayerNorm的Tiling参数配置接口用于获取LayerNorm kernel计算时所需的Tiling参数。LayerNormGrad用于计算LayerNorm的反向传播梯度。LayerNormGrad-TilingLayerNormGrad的Tiling参数配置接口用于设置反向传播梯度计算所需的分片参数。LayerNormGradBeta用于获取反向beta/gmma的数值和LayerNormGrad共同输出pdx, gmma和beta。LayerNormGradBeta-TilingLayerNormGradBeta的Tiling参数配置接口。NormalizeLayerNorm中已知均值和方差计算shape为[AR]的输入数据的标准差的倒数rstd和归一化输出y。RmsNorm实现对shape大小为[BSH]的输入数据的RmsNorm归一化。WelfordUpdate实现Welford算法的前处理。WelfordFinalize实现Welford算法的后处理。激活函数接口名功能描述AdjustSoftMaxRes用于对SoftMax相关计算结果做后处理调整SoftMax的计算结果为指定的值。FasterGeluFastGelu化简版本的一种激活函数。FasterGeluV2实现FastGeluV2版本的一种激活函数。GeGLU采用GeLU作为激活函数的GLU变体。GeluGELU是一个重要的激活函数其灵感来源于relu和dropout在激活中引入了随机正则的思想。LogSoftMax对输入tensor做LogSoftmax计算。ReGlu一种GLU变体使用Relu作为激活函数。Sigmoid按元素做逻辑回归Sigmoid。Silu按元素做Silu运算。SimpleSoftMax使用计算好的sum和max数据对输入tensor做softmax计算。SoftMax对输入tensor按行做Softmax计算。SoftmaxFlashSoftMax增强版本除了可以对输入tensor做softmaxflash计算还可以根据上一次softmax计算的sum和max来更新本次的softmax计算结果。SoftmaxFlashV2SoftmaxFlash增强版本对应FlashAttention-2算法。SoftmaxFlashV3SoftmaxFlash增强版本对应Softmax PASA算法。SoftmaxGrad对输入tensor做grad反向计算的一种方法。SoftmaxGradFront对输入tensor做grad反向计算的一种方法。SwiGLU采用Swish作为激活函数的GLU变体。Swish神经网络中的Swish激活函数。归约操作接口名功能描述Sum获取最后一个维度的元素总和。Mean根据最后一轴的方向对各元素求平均值。ReduceXorSum按照元素执行Xor按位异或运算并将计算结果ReduceSum求和。ReduceSum对一个多维向量按照指定的维度进行数据累加。ReduceMean对一个多维向量按照指定的维度求平均值。ReduceMax对一个多维向量在指定的维度求最大值。ReduceMin对一个多维向量在指定的维度求最小值。ReduceAny对一个多维向量在指定的维度求逻辑或。ReduceAll对一个多维向量在指定的维度求逻辑与。ReduceProd对一个多维向量在指定的维度求积。排序操作接口名功能描述TopK获取最后一个维度的前k个最大值或最小值及其对应的索引。Concat对数据进行预处理将要排序的源操作数srcLocal一一对应的合入目标数据concatLocal中数据预处理完后可以进行Sort。Extract处理Sort的结果数据输出排序后的value和index。Sort排序函数按照数值大小进行降序排序。MrgSort将已经排好序的最多4条队列合并排列成1条队列结果按照score域由大到小排序。数据过滤接口名功能描述Select给定两个源操作数src0和src1根据maskTensor相应位置的值非bit位选取元素得到目的操作数dst。DropOut提供根据MaskTensor对源操作数进行过滤的功能得到目的操作数。张量变换接口名功能描述Transpose对输入数据进行数据排布及Reshape操作。TransData将输入数据的排布格式转换为目标排布格式。Broadcast将输入按照输出shape进行广播。Pad对height * width的二维Tensor在width方向上pad到32B对齐。UnPad对height * width的二维Tensor在width方向上进行unpad。Fill将Global Memory上的数据初始化为指定值。索引计算接口名功能描述Arange给定起始值等差值和长度返回一个等差数列。矩阵计算接口名功能描述MatmulMatmul矩阵乘法的运算。HCCL通信类接口名功能描述HCCL通信类在AI Core侧编排集合通信任务。卷积计算接口名功能描述Conv3D3维卷积正向矩阵运算。Conv3DBackpropInput卷积的反向运算求解特征矩阵的反向传播误差。Conv3DBackpropFilter卷积的反向运算求解权重的反向传播误差。随机函数接口名功能描述PhiloxRandom基于Philox随机数生成算法给定随机数种子生成若干的随机数。【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考