算子列表

说明:

  • 算子目录:目录名为算子名小写下划线形式,每个目录承载该算子所有交付件,包括代码实现、examples、文档等,目录介绍参见项目目录

  • 算子执行硬件单元:大部分算子运行在AI Core,少部分算子运行在AI CPU。默认情况下,项目中提到的算子一般指AI Core算子。关于AI Core和AI CPU详细介绍参见《Ascend C算子开发》中“概念原理和术语 > 硬件架构与数据处理原理”。

  • 算子接口列表:为方便调用算子,CANN提供一套C API执行算子,一般以aclnn为前缀,全量接口参见aclnn列表

  • V版本演进说明:部分算子存在多个V版本,使用时选择最高V版本即可(高版本算子已兼容低版本算子的所有能力)。

项目提供的所有算子分类和算子列表如下:

算子分类 算子目录 算子实现 aclnn调用 图模式调用 算子执行硬件单元 说明
op_kernel op_host op_api op_graph
activation celu AI Core 标准CeLU激活函数的昇腾硬件优化实现,用于网络非线性建模,保障训练稳定并提升运行效率。
activation celu_v2 AI Core 正数直接输出,负数用平滑指数曲线输出。
activation clipped_swiglu AI Core 带截断的Swish门控线性单元激活函数,实现x的SwiGlu计算。本算子相较于SwiGlu算子,新增了部分输入参数:groupIndex、alpha、limit、bias、interleaved,用于支持GPT-OSS模型使用的变体SwiGlu以及MoE模型使用的分组场景。
activation confusion_softmax_grad AI Core 融合算子,将mul、sum、sub三个算子进行融合。
activation bnll AI Core 计算BNLL (Binomial Normal Log Likelihood)激活函数,即数值稳定版本的softplus:y = ln(1 + exp(x))。
activation elu AI Core/AI CPU 对输入张量self中的每个元素x调用指数线性单元激活函数ELU,并将得到的结果存入输出张量out中。
activation elu_grad AI Core 对应Elu操作的反向传播梯度。
activation elu_grad_v2 AI Core 激活函数的反向计算,输出ELU激活函数正向输入的梯度。
activation erfinv AI Core 高斯误差函数erf的反函数。
activation fast_gelu AI Core 快速高斯误差线性单元激活函数。
activation fast_gelu_grad AI Core FastGelu反向传播。
activation fast_gelu_v2 AI Core 对输入特征做非线性激活,用轻量化指数 /sigmoid近似替代原版GELU的复杂计算。
activation fatrelu_mul AI Core 将输入Tensor按照最后一个维度分为左右两个Tensor:x1和x2,对左边的x1进行Threshold计算,将计算结果与x2相乘。
activation ge_glu_grad_v2 AI Core 完成aclnnGeGlu和aclnnGeGluV3的反向。
activation ge_glu_v2 AI Core 高斯误差线性单元激活门函数,针对aclnnGeGlu,扩充了设置激活函数操作数据块方向的功能。
activation gelu AI Core 高斯误差线性单元激活函数。
activation gelu_grad AI Core 激活函数的反向传播算子,用于计算Gelu激活函数的梯度。
activation gelu_grad_v2 AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation gelu_mul AI Core 将输入Tensor按照最后一个维度分为左右两个Tensor:x1和x2,对左边的x1进行GELU计算,将计算结果与x2相乘。
activation gelu_quant AI Core 将GeluV2与DynamicQuant/AscendQuantV2进行融合,对输入的数据self进行GELU激活后,对激活的结果进行量化,输出量化后的结果。
activation gelu_v2 AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation glu AI Core GLU是一个门控线性单元函数,它将输入张量沿着指定的维度dim平均分成两个张量,并将其前部分张量与后部分张量的Sigmoid函数输出的结果逐元素相乘。
activation hard_shrink AI Core 将输入张量中绝对值小于等于阈值lambd的元素置零,大于阈值的元素保持不变。
activation hard_shrink_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation hard_sigmoid AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation hard_sigmoid_grad AI Core 对应Hardsigmoid操作的反向传播梯度。
activation hard_swish AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation hard_swish_grad AI Core 分段线性激活函数HardSwish的梯度函数贡献指南
activation hard_swish_grad_v2 AI Core aclnnHardswish的反向传播,完成张量self的梯度计算。
activation hardtanh_grad AI Core 激活函数aclnnHardtanh的反向。
activation heaviside AI Core 计算输入input中每个元素的Heaviside阶跃函数,作为模型的激活函数。
activation leaky_relu AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation leaky_relu_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation logsigmoid AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation logsigmoid_grad AI Core 对应logsigmoid操作的反向传播梯度。
activation log_softmax_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation log_softmax_v2 AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation mish AI Core 一个自正则化的非单调神经网络激活函数。
activation mish_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation p_relu AI Core 一种激活函数,当Tensor中value大于0,取该value,小于0时取权重与value的乘积。
activation p_relu_grad_reduce AI Core 对应PRelu的反向传播梯度实现的vector计算部分。
activation p_relu_grad_update AI Core 对应PRelu的反向传播梯度实现的reduce计算部分。
activation relu AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation relu_grad AI Core 对应Relu操作的反向传播梯度。
activation relu_grad_v2 AI Core 对应ReluV2操作的反向传播梯度。
activation relu_v2 AI Core 激活函数,返回与输入tensor shape相同的tensor,tensor中value大于等于0时,取该value,小于0,取0。
activation relu6 AI Core ReLU6是受限版ReLU激活函数,将输出钳位在 [0, 6] 区间,具备数值稳定、抗溢出、适合量化与端侧推理的特点,广泛用于轻量级卷积神经网络。
activation relu6_grad AI Core 对应ReLU6操作的反向传播梯度,对前向输入落在开区间(0, 6)的位置透传上游梯度,落在区间外(含端点0与6)的位置输出0。
activation selu AI Core 对输入Tensor逐元素计算SELU(Scaled Exponential Linear Unit)激活函数。
activation selu_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation shrink AI Core 对输入张量进行非线性变换,根据输入值self与阈值lambd的关系,对输入通过偏移量bias进行缩放和偏移处理。
activation sigmoid AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation sigmoid_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation silu_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation softmax_cross_entropy_with_logits AI Core 计算softmax和cross entropy的交叉熵损失,并给出对输入logits的反向梯度。
activation softmax_grad AI Core 完成softmax的反向传播。
activation softmax_v2 AI Core 对输入张量计算Softmax值。
activation softplus AI Core 激活函数,用于将任意实数映射到正数区间。
activation softplus_v2 AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation softplus_v2_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation softsign_grad AI Core 对输入张量应用Softshrink激活函数。
activation softshrink_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation softsign_grad AI Core 完成Softsign激活函数的反向梯度计算。给定上游梯度gradients和前向输入特征features,按元素计算输出梯度。
activation squared_relu AI Core SquaredRelu函数是一个基于标准Relu函数的变体,其主要特点是对Relu函数的输出进行平方,常作为模型的激活函数。
activation swi_glu AI Core Swish门控线性单元激活函数,实现x的SwiGlu计算。
activation swi_glu_grad AI Core 完成aclnnSwiGlu的反向计算,完成x的SwiGlu反向梯度计算。
activation swiglu_group_quant AI Core 在SwiGlu激活函数后执行分组低比特量化,实现输入x的SwigluGroupQuant计算,支持FP8和FP4量化输出。
activation swiglu_group_quant_grad AI Core 完成SwiGLU激活函数分组量化的反向梯度计算。用于计算输入x梯度和输入权重weight梯度。
activation swish AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation swish_grad AI Core Swish激活函数的反向传播,用于计算Swish激活函数的梯度。
activation threshold AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
activation threshold_v2 AI Core 对输入x进行阈值操作。当x中的elements大于threshold时,返回elements;否则,返回value。
activation threshold_grad_v2_d AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
control assert AI CPU 断言给定条件为true,如果输入张量input_condition判定为false,则打印input_data中的张量列表。
conv conv3d_backprop_filter_v2 AI Core 计算三维卷积核权重张量w的梯度 ∂L/∂w。
conv conv3d_backprop_input_v2 AI Core 计算三维卷积正向的输入张量x对损失函数L的梯度 ∂L/∂x。
conv conv3d_transpose_v2 AI Core 计算三维卷积的转置(反卷积)相对于输入的梯度。
conv conv3d_v2 AI Core 实现3D卷积功能。
conv conv2d_v2 AI Core 实现2D卷积功能。
conv convolution_backward AI Core 卷积的反向传播。根据输出掩码设置计算输入、权重和偏差的梯度。此函数支持1D、2D和3D卷积。
conv convolution_forward AI Core 实现卷积功能,支持1D卷积、2D卷积、3D卷积,同时支持转置卷积、空洞卷积、分组卷积。
conv deformable_conv2d AI Core 实现卷积功能,支持2D卷积,同时支持可变形卷积、分组卷积。
conv deformable_offsets AI Core 用于计算变形卷积(Deformable Convolution)输出的函数。通过引入偏移参数offsets,使得卷积核在输入特征图上的位置可以动态调整,从而适配不规则的几何变化。
conv deformable_offsets_grad AI Core DeformableOffsets算子的目的是根据offsets( kernel采样点的偏移值)来收集用于卷积的特征采样点,并对其进行重组,方便Conv2d算子进行卷积计算。而DeformableOffsetsGrad即为这一过程的反向。
foreach foreach_abs AI Core 对输入张量列表中的每个张量执行逐元素绝对值运算。
foreach foreach_acos AI Core 对输入张量列表中的每个张量执行逐元素反余弦运算。
foreach foreach_add_list AI Core 两个Tensor列表中的元素逐个相加,并可以通过alpha参数调整相加系数。
foreach foreach_add_scalar AI Core 将指定的张量值加到张量列表中的每个张量中。
foreach foreach_add_scalar_list AI Core 输入张量列表和输入标量列表执行逐元素相加运算。
foreach foreach_addcdiv_list AI Core 对多个张量进行逐元素加、乘、除操作,x2_i和x3_i进行逐元素相除,并将结果乘以scalars,再与x1_i相加。
foreach foreach_addcdiv_scalar AI Core 对多个张量进行逐元素加、乘、除操作,x2_i和x3_i进行逐元素相除,并将结果乘以scalar,再与x1_i相加。
foreach foreach_addcdiv_scalar_list AI Core 对多个张量进行逐元素加、乘、除操作,x2_i和x3_i进行逐元素相除,并将结果乘以scalars_i,再与x1_i相加。
foreach foreach_addcmul_list AI Core 先对张量列表x2和张量列表x3执行逐元素乘法,并将结果乘以张量scalars,最后将之前计算的结果与张量列表x1执行逐元素相加。
foreach foreach_addcmul_scalar AI Core 先对张量列表x2和张量列表x3执行逐元素乘法,再乘以张量scalar,最后将之前计算的结果与张量列表x1执行逐元素相加。
foreach foreach_addcmul_scalar_list AI Core 先对张量列表x2和张量列表x3执行逐元素乘法,再与张量scalars进行逐元素乘法,最后将之前计算的结果与张量列表x1执行逐元素相加。
foreach foreach_asin AI Core 按元素进行反正弦函数运算。
foreach foreach_atan AI Core 按元素进行反正切函数运算。
foreach foreach_copy AI Core 用于实现两个张量列表内容的复制。
foreach foreach_cos AI Core 按元素进行余弦函数运算。
foreach foreach_cosh AI Core 按元素进行双曲余弦函数运算。
foreach foreach_div_list AI Core 对张量列表x1和张量列表x2执行逐元素除法。
foreach foreach_div_scalar AI Core 计算张量列表x除以张量scalar。
foreach foreach_div_scalar_list AI Core 对张量列表x和标量列表scalars执行逐元素除法。
foreach foreach_erf AI Core 按元素进行误差函数运算(也称之为高斯误差函数,error function or Gaussian error function)。
foreach foreach_erfc AI Core 按元素执行从x到无穷大积分的互补误差函数运算。
foreach foreach_exp AI Core 对输入张量列表的每个张量进行指数运算。
foreach foreach_expm1 AI Core 对输入张量列表的每个张量执行指数运算,然后将得到的结果减1。
foreach foreach_lerp_list AI Core 对两个张量列表对应位置元素执行插值计算,其中张量列表weight是插值系数。
foreach foreach_lerp_scalar AI Core 对两个张量列表对应位置元素执行插值计算,其中标量weight是插值系数。
foreach foreach_log AI Core 对张量列表执行逐元素自然对数运算(ln(x))。
foreach foreach_log10 AI Core 对张量列表中的每一个元素执行以10为底的对数函数运算。
foreach foreach_log1p AI Core 对张量列表中的每一个元素执行先加一再以e为底的对数函数运算。
foreach foreach_log2 AI Core 对张量列表中的每一个元素执行以2为底的对数函数运算。
foreach foreach_maximum_list AI Core 对张量列表x1和张量列表x2执行逐元素比较,计算每个元素对应的最大值。
foreach foreach_maximum_scalar AI Core 对张量列表和张量scalar执行逐元素比较,计算每个元素对应的最大值。
foreach foreach_maximum_scalar_list AI Core 对张量列表x和标量列表scalars执行逐元素比较,计算每个元素对应的最大值。
foreach foreach_minimum_list AI Core 对张量列表x1和张量列表x2执行逐元素比较,计算每个元素对应的最小值。
foreach foreach_minimum_scalar AI Core 对张量列表x和张量scalar执行逐元素比较,计算每个元素对应的最小值。
foreach foreach_minimum_scalar_list AI Core 对张量列表x和标量列表scalars执行逐元素比较,计算每个元素对应的最小值。
foreach foreach_mul_list AI Core 对两个输入张量列表执行逐元素相乘。
foreach foreach_mul_scalar AI Core 对输入张量列表的每个张量与张量scalar执行相乘运算。
foreach foreach_mul_scalar_list AI Core 对输入张量列表与标量列表执行逐元素相乘运算。
foreach foreach_neg AI Core 计算输入张量列表中每个张量的相反数。
foreach foreach_non_finite_check_and_unscale AI Core 遍历scaledGrads中的所有Tensor,检查是否存在Inf或NaN,如果存在则将foundInf设置为1.0,否则foundInf的值保持不变,并对scaledGrads中的所有Tensor进行反缩放。
foreach foreach_norm AI Core 对输入张量列表的每个张量进行范数运算。
foreach foreach_pow_list AI Core 对输入张量列表的每个张量进行幂运算(底数为x1,指数为x2)。
foreach foreach_pow_scalar AI Core 对输入张量列表的每个张量进行n次方运算。
foreach foreach_pow_scalar_and_tensor AI Core 对输入张量列表x中的每个张量进行指数运算,底数为输入的标量scalar。
foreach foreach_pow_scalar_list AI Core 对输入张量列表x中的每个张量进行指数运算,指数为标量列表exponent中对应的标量。
foreach foreach_reciprocal AI Core 对输入张量列表的每个张量进行倒数运算。
foreach foreach_round_off_number AI Core 对输入张量列表的每个张量执行指定精度的四舍五入运算,可通过roundMode指定舍入方式。
foreach foreach_sigmoid AI Core 对输入张量列表的每个张量进行Sigmoid函数运算。
foreach foreach_sign AI Core 计算输入张量列表中每个张量的符号值。
foreach foreach_sin AI Core 对输入张量列表的每个张量进行正弦函数运算。
foreach foreach_sinh AI Core 对输入张量列表的每个张量进行双曲正弦函数运算。
foreach foreach_sqrt AI Core 对输入张量列表的每个张量进行平方根运算。
foreach foreach_sub_list AI Core 对输入的两个张量列表执行逐元素相减运算,并可以通过alpha参数调整相减系数。
foreach foreach_sub_scalar AI Core 对输入张量列表的每个张量与张量scalar执行相减运算。
foreach foreach_sub_scalar_list AI Core 对输入张量列表的每个张量与标量列表scalars的每个标量逐元素执行相减运算。
foreach foreach_tan AI Core 对输入张量列表的每个张量进行正切函数运算。
foreach foreach_tanh AI Core 对输入张量列表的每个张量进行双曲正切函数运算。
foreach foreach_zero_inplace AI Core 原地更新输入张量列表,输入张量列表的每个张量置为0。
index apply_top_k_top_p_with_sorted AI Core 对原始输入logits进行top-k和top-p采样过滤。
index broadcast_gradient_args AI Core 接收两个输入shape,并输出两个整数向量,通过广播机制,分别得出两个输入shape在梯度计算时需要在哪些维度上进行聚合。
index bucketize_v2 AI Core 用于将张量中的值按照给定的边界进行离散化,根据给定的边界将输入张量中的每个值映射到对应的分箱区间,并返回该值所属区间索引。
index data_format_dim_map AI Core 根据源数据格式和目标数据格式的维度映射关系,将输入的维度索引转换为目标格式下的对应维度索引。
index embedding AI Core 把数据集合映射到向量空间,进而将数据进行量化。embedding的二维权重张量为weight(m+1行,n列),对于任意输入索引张量indices(如1行3列),输出out是一个3行n列的张量。
index embedding_bag AI Core 根据indices从weight中获得一组被聚合的数,然后根据offsets的偏移和mode指定的聚合模式对获取的数进行max、sum、mean聚合。其余参数则更细化了计算过程的控制。
index embedding_dense_grad AI Core 实现Embedding的反向计算,将相同索引indices对应grad的一行累加到out上。
index embedding_dense_grad_v2 AI Core 实现Embedding的反向计算,将相同索引indices对应grad的一行累加到out上。
index expand_into_jagged_permute AI Core 将稀疏数据置换索引从表维度扩展到批次维度,适用于稀疏特征在不同rank中具有不同批次大小的情况。
index gather_elements AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
index gather_elements_v2 AI Core 对输入tensor中指定的维度dim进行数据聚集。
index gather_nd AI Core 对于输入张量self和输入张量indices,将数据切片收集到输出张量out中。
index gather_v2 AI Core/AI CPU 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
index index AI Core 根据索引indices将输入x对应坐标的数据取出。
index index_fill AI Core 沿输入x的给定轴dim,将indices指定位置的值使用value进行非原地填充替换。
index index_fill AI Core 在输入Tensor副本上指定维度dim,根据index填写特定的数value。
index index_check AI Core 检查索引是否越界。
index index_fill_d AI Core 沿输入self的给定轴dim,将index指定位置的值使用value进行替换。
index index_put_v2 AI Core 根据索引indices将输入self对应坐标的数据与输入values进行替换或累加。
index index_put_with_sort AI Core 执行scatter操作,根据pos_idx的值循环对应的values,累加/替换到linear_index指向的self的位置。
index index_put_with_sort_v2 AI Core 执行scatter操作,根据pos_idx的值循环对应的values,累加/替换到linear_index指向的self的位置。
index inplace_index_add_with_sorted AI Core 将alpha和value相乘,并按照sorted_indices中的顺序,累加到var张量的指定axis维度中。
index inplace_index_fill AI Core 在输入Tensor的指定维度dim,根据index填写特定的数value。
index inplace_scatter_add AI Core 根据给定的indices,将updates中的值加到输入张量var的第一维度上。
index linear_index AI Core 将多维数组 / 矩阵的元素位置映射为单一整数的索引方式。
index linear_index_v2 AI Core 将多维数组 / 矩阵的元素位置映射为单一整数的索引方式。
index map_index AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
index masked_scatter AI Core 根据掩码(mask)张量中元素为True的位置,复制(source)中的元素到(selfRef)对应的位置上。
index masked_scatter_with_position AI Core 根据掩码(mask)张量进行模拟广播到x的shape,mask中为True位置,复制对应(updates)到输入(x)对应位置。其中position为mask广播前的前缀和张量。
index matrix_inverse AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
index non_zero AI Core 找出`self`中非零元素的位置,设self的维度为D,self中非零元素的个数为N,则返回`out`的shape为N * D,每一列表示一个非零元素的位置坐标。
index quant_update_scatter AI Core 先将updates在quantAxis轴上进行量化:quantScales对updates做缩放操作,quantZeroPoints做偏移。然后将量化后的updates中的值按指定的轴axis,根据索引张量indices逐个更新selfRef中对应位置的值。
index repeat_interleave AI Core 将tensor self进行flatten后,重复Tensor repeats中的相应次数。
index repeat_interleave_grad AI Core 算子RepeatInterleave的反向,将y_grad tensor的axis维度按repeats进行ReduceSum。
index reverse_v2 AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
index scatter AI Core 将tensor updates中的值按指定的轴axis和索引indices逐个更新tensor data中的值。
index scatter_add AI Core 将tensor src中的值按指定的轴和方向以及对应的位置关系逐个替换/累加/累乘至tensor self中。
index scatter_add_with_sorted AI Core 将tensor src中的值按指定的轴和方向和对应的位置关系逐个替换/累加/累乘至tensor self中。
index scatter_elements AI Core/AI CPU 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
index scatter_elements_v2 AI Core 将tensor src中的值按指定的轴和方向以及对应的位置关系逐个替换/累加/累乘至tensor self中。
index scatter_list AI Core 将稀疏矩阵更新应用到变量引用中。
index scatter_nd AI Core 算子功能:拷贝data的数据至out,同时在指定indices处根据updates更新out中的数据。
index scatter_nd_max AI Core 算子功能:根据indices在给定变量内,在updates和单个值或切片之间求最大值。
index scatter_nd_min AI Core 算子功能:根据indices在给定变量内,在updates和单个值或切片之间求最小值。
index scatter_nd_update AI Core 算子功能:根据indices在给定变量内,将updates应用于变量的单个值或切片。
index scatter_update AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
index sparse_to_dense AI Core 将一个稀疏表示(Sparse Representation)转换为一个稠密张量。
index tensor_scatter_update AI CPU 根据indices指定的位置,将updates中的数据更新到输入张量x的对应位置,生成输出张量y。
index tf_scatter_add AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
index top_k_top_p_sample AI Core 根据输入词频logits、topK/topP采样参数、随机采样权重分布q,进行topK-topP-sample采样计算,输出每个batch的最大词频logitsSelectIdx,以及topK-topP采样后的词频分布logitsTopKPSelect。
index top_k_top_p_sample_v2 AI Core 根据输入词频logits、topK/topP/minP采样参数、随机采样权重分布q,进行topK-topP-minP-sample采样计算。当输入isNeedSampleResult为false时,输出每个batch的最大词频logitsSelectIdx,以及topK-topP-minP采样后的词频分布logitsTopKPSelect;当输入isNeedSampleResult为true时,输出topK-topP-minP采样后的中间计算结果logitsIdx和logitsSortMasked,其中logitsSortMasked为词频logits经过topK-topP-minP采样计算后的中间结果,logitsIdx为logitsSortMasked在logits中对应的索引。
index unique_consecutive AI Core 去除每一个元素后的重复元素。
index unique_with_counts_ext2 AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
index where AI CPU 找出张量`x`中非零或True元素的位置,设张量`x`的维度为D,非零元素的个数为N,则返回`y`的shape为D * N,每一列表示一个非零元素的位置坐标。
loss binary_cross_entropy AI Core 计算x和y的二元交叉熵。
loss binary_cross_entropy_grad AI Core 求二元交叉熵反向传播的梯度值。
loss chamfer_distance_grad AI Core ChamferDistance(倒角距离)的反向算子,根据正向的输入对输出的贡献及初始梯度求出输入对应的梯度。
loss cross_entropy_loss AI Core 计算输入的交叉熵损失。
loss cross_entropy_loss_grad AI Core aclnnCrossEntropyLoss的反向传播。
loss sigmoid_cross_entropy_with_logits AI Core 用于计算经过Sigmoid激活后的交叉熵损失的函数。
loss cross_v2 AI Core 用于计算x1和x2张量在维度dim上的向量叉积。
loss ctc_loss_v2 AI Core 计算连接时序分类损失值。
loss ctc_loss_v2_grad AI Core ctcLoss的反向传播,计算CTC的损失梯度。
loss ctc_loss_v3 AI Core 计算连续(未分段)时间序列与目标序列之间的损失。
loss ctc_loss_v3_grad AI Core 计算连续(未分段)时间序列与目标序列之间的损失的反向。
loss kl_div_loss_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
loss kl_div_target_loss_grad AI Core 进行KL散度的target反向计算。
loss l1_loss_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
loss logit AI Core 该算子是概率到对数几率(log-odds)转换的一个数学运算,常用于概率值的反变换。它可以将一个介于0和1之间的概率值转换为一个实数值。
loss logit_grad AI Core aclnnLogit的反向传播。
loss lp_loss AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
loss mse_loss AI Core 计算输入和目标中每个元素之间的均方误差。
loss mse_loss_grad AI Core 均方误差函数aclnnMseLoss的反向传播。
loss mse_loss_grad_v2 AI Core 均方误差函数aclnnMseLoss的反向传播。
loss mse_loss_v2 AI Core 计算输入x和目标y中每个元素之间的均方误差。
loss multilabel_margin_loss AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
loss nll_loss AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
loss nll_loss_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
loss sigmoid_cross_entropy_with_logits_grad_v2 AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
loss sigmoid_cross_entropy_with_logits_v2 AI Core 计算输入logits与标签target之间的BCELoss损失
loss smooth_l1_loss_grad_v2 AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
loss smooth_l1_loss_v2 AI Core 计算SmoothL1损失函数。
loss soft_margin_loss AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
loss soft_margin_loss_grad AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
matmul addmv AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
matmul batch_mat_mul_v3 AI Core 完成带batch的矩阵乘计算。
matmul convert_weight_to_int4_pack AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
matmul dual_level_quant_batch_matmul AI Core 完成二级量化mxfp4的矩阵乘计算。
matmul fused_linear_cross_entropy_loss_grad AI Core 词汇表并行场景下交叉熵损失中的梯度计算实现。
matmul fused_linear_online_max_sum AI Core 功能等价Megatron的matmul与fused_vocab_parallel_cross_entropy的实现。
matmul fused_mat_mul AI Core 矩阵乘与通用向量计算融合。
matmul fused_quant_mat_mul AI Core 量化矩阵乘与通用向量计算融合。
matmul gemm AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
matmul gemm_v2 AI Core 计算α乘以A与B的乘积,再与β和input C的乘积求和。
matmul gemm_v3 AI Core 计算α乘以A与B的乘积,再与β和input C的乘积求和。
matmul mat_mul_v3 AI Core 完成通用矩阵乘计算。
matmul matmul_compress AI Core 完成无损解压缩、矩阵乘计算。
matmul matmul_v2_compress_dequant AI Core 完成无损解压缩、矩阵乘、反量化计算。
matmul mv AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
matmul quant_batch_matmul_v3 AI Core 完成量化的矩阵乘计算,最小支持输入维度为2维,最大支持输入维度为6维。
matmul quant_batch_matmul_v4 AI Core 完成量化的矩阵乘计算。
matmul quant_batch_matmul_inplace_add AI Core 完成量化的矩阵乘计算和原地累加。
matmul quant_matmul AI Core 完成量化的矩阵乘计算。
matmul quant_matmul_dequant AI Core 完成量化的矩阵乘计算后,进行反量化。
matmul quant_matmul_reduce_sum AI Core 完成量化的分组矩阵计算,然后所有组的矩阵计算结果相加后输出
matmul rotate_quant AI Core 对张量x进行旋转变换,然后执行可选的clamp操作,最后执行对称动态量化(目的数据类型为int8或者quint4x2)或者MX量化(目的数据类型为FLOAT4类、FLOAT8类)。
matmul sparse_tensor_dense_mat_mul AI Core 完成稀疏矩阵x1乘以稠密矩阵x2,其中x1用x1_indices、x1_values、x1_shape三个Tensor来表达,x2为直接传入rank=2的Tensor(即矩阵)。
matmul sparse4to2quant_matmul AI Core 完成稀疏4:2量化的矩阵乘计算。
matmul transpose_batch_mat_mul AI Core 完成张量x1与张量x2的矩阵乘计算。仅支持三维的Tensor传入。Tensor支持转置,转置序列根据传入的序列进行变更。permX1代表张量x1的转置序列,permX2代表张量x2的转置序列,序列值为0的是batch维度,其余两个维度做矩阵乘法。
matmul transpose_quant_batch_mat_mul AI Core 完成张量x1与张量x2量化的矩阵乘计算。仅支持三维的Tensor传入。Tensor支持转置,转置序列根据传入的序列进行变更。permX1代表张量x1的转置序列,permX2代表张量x2的转置序列,序列值为0的是batch维度,其余两个维度做矩阵乘法。
matmul weight_quant_batch_matmul AI Core 完成一个输入为伪量化场景的矩阵乘计算,并可以实现对于输出的量化计算。
matmul weight_quant_batch_matmul_v2 AI Core 完成一个输入为伪量化场景的矩阵乘计算,并可以实现对于输出的量化计算。
norm ada_layer_norm AI Core AdaLayerNorm算子将LayerNorm和下游的Add、Mul融合起来,通过自适应参数scale和shift来调整归一化过程。
norm ada_layer_norm_grad AI Core AdaLayerNormV2的反向传播。用于计算输入张量的梯度,以便在反向传播过程中更新模型参数。
norm ada_layer_norm_quant AI Core AdaLayerNormQuant算子将AdaLayerNorm和下游的量化(目前仅支持DynamicQuant)融合起来。该算子主要是用于执行自适应层归一化的量化操作,即将输入数据进行归一化处理,并将其量化为低精度整数,以提高计算效率和减少内存占用。
norm ada_layer_norm_v2 AI Core AdaLayerNormV2算子将LayerNorm和下游的Add、Mul融合起来,通过自适应参数scale和shift来调整归一化过程。相比AdaLayerNorm算子,输出新增2个参数(输入的均值和输入的标准差的倒数);weight和bias支持的数据类型增加对应约束。
norm add_layer_norm AI Core 实现AddLayerNorm功能。
norm add_layer_norm_grad AI Core LayerNorm是一种归一化方法,可以将网络层输入数据归一化为均值为0、方差为1的分布。LayerNormGrad算子是深度学习中用于反向传播阶段的一个关键算子,主要用于计算LayerNorm操作的梯度。AddLayerNormGrad算子是将Add和LayerNormGrad融合起来,减少搬入搬出操作。
norm add_layer_norm_quant AI Core LayerNorm算子是大模型常用的归一化操作。AddLayerNormQuant算子将LayerNorm前的Add算子和LayerNorm归一化输出给1个或2个下游的量化算子融合起来,减少搬入搬出操作。
norm add_layer_norm_quant_v2 AI Core LayerNorm算子是大模型常用的归一化操作。AddLayerNormQuantV2算子将LayerNorm前的Add算子和LayerNorm归一化输出给1个下游的量化算子融合起来,减少搬入搬出操作。
norm add_rms_norm AI Core RmsNorm算子是大模型常用的归一化操作,相比LayerNorm算子,其去掉了减去均值的部分。AddRmsNorm算子将RmsNorm前的Add算子融合起来,减少搬入搬出操作。
norm add_rms_norm_cast AI Core RmsNorm算子是大模型常用的归一化操作,AddRmsNormCast算子将AddRmsNorm后的Cast算子融合起来,减少搬入搬出操作。
norm add_rms_norm_dynamic_mx_quant AI Core RmsNorm算子是大模型常用的归一化操作,相比LayerNorm算子,其去掉了减去均值的部分。DynamicMxQuant算子则是在尾轴上按blocksize分组进行动态MX量化的算子。AddRmsNormDynamicMxQuant算子将RmsNorm前的Add算子和RmsNorm归一化输出给到的DynamicMxQuant算子融合起来,减少搬入搬出操作。AddRmsNormDynamicMxQuant算子相较于AddRmsNormQuant在RmsNorm计算过程中增加了偏置项betaOptional参数,即计算公式中的beta。
norm add_rms_norm_dynamic_quant AI Core RmsNorm算子是大模型常用的归一化操作,相比LayerNorm算子,其去掉了减去均值的部分。DynamicQuant算子则是为输入张量进行对称动态量化的算子。AddRmsNormDynamicQuant算子将RmsNorm前的Add算子和RmsNorm归一化输出给到的1个或2个DynamicQuant算子融合起来,减少搬入搬出操作。AddRmsNormDynamicQuant算子相较于AddRmsNormDynamicQuantV2在RmsNorm计算过程中增加了偏置项betaOptional参数,即计算对应公式中的beta,以及新增输出配置项output_mask参数,用于配置是否输出对应位置的量化结果。
norm add_rms_norm_dynamic_quant_v2 AI Core RmsNorm算子是大模型常用的归一化操作,相比LayerNorm算子,其去掉了减去均值的部分。DynamicQuant算子则是为输入张量进行对称动态量化的算子。AddRmsNormDynamicQuantV2算子将RmsNorm前的Add算子和RmsNorm归一化输出给到的1个或2个DynamicQuant算子融合起来,减少搬入搬出操作。
norm add_rms_norm_quant AI Core RmsNorm是大模型常用的标准化操作,相比LayerNorm,其去掉了减去均值的部分。AddRmsNormQuant算子将RmsNorm前的Add算子以及RmsNorm归一化的输出给到1个或2个Quantize算子融合起来,减少搬入搬出操作。
norm add_rms_norm_quant_v2 AI Core RmsNorm是大模型常用的标准化操作,相比LayerNorm,其去掉了减去均值的部分。AddRmsNormQuant算子将RmsNorm前的Add算子以及RmsNorm归一化的输出给到1个或2个Quantize算子融合起来,减少搬入搬出操作。AddRmsNormQuantV2算子相较于AddRmsNormQuant在RmsNorm计算过程中增加了偏置项bias参数,即计算公式中的`bias`。
norm batch_norm AI Core 对一个批次的数据做批量归一化处理,正则化之后生成的数据的统计结果为0均值、1标准差。
norm batch_norm_elemt AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
norm batch_norm_grad_v3 AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
norm batch_norm_v3 AI Core 对一个批次的数据做批量归一化处理,正则化之后生成的数据的统计结果为0均值、1标准差。
norm bn_training_reduce AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
norm deep_norm AI Core 对输入张量x的元素进行深度归一化,通过计算其均值和标准差,将每个元素标准化为具有零均值和单位方差的输出张量。
norm deep_norm_grad AI Core DeepNorm的反向传播,完成张量x、张量gx、张量gamma的梯度计算,以及张量dy的求和计算。
norm dua_quantize_add_layer_norm AI Core DuaQuantizeAddLayerNorm是一个复杂的计算,结合了量化、加法和层归一化(Layer Normalization)的功能。
norm euclidean_norm AI Core EuclideanNorm算子是欧几里得范数的实现。
norm gemma_rms_norm AI Core GemmaRmsNorm算子是大模型常用的归一化操作,相比RmsNorm算子,在计算时对gamma执行了+1操作。
norm group_norm AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
norm group_norm_grad AI Core GroupNorm用于计算输入张量的组归一化结果,均值,标准差的倒数,该算子是对GroupNorm的反向计算。用于计算输入张量的梯度,以便在反向传播过程中更新模型参数。
norm group_norm_silu_quant AI Core 计算输入self的组归一化,均值meanOut,标准差的倒数rstdOut,以及对silu的输出进行量化的结果out。
norm group_norm_silu AI Core 计算输入self的组归一化结果out,均值meanOut,标准差的倒数rstdOut,以及silu的输出。
norm group_norm_swish AI Core 计算输入x的组归一化结果out,均值meanOut,标准差的倒数rstdOut,以及swish的输出。
norm group_norm_swish_grad AI Core aclnnGroupNormSwish的反向操作。
norm group_norm_v2 AI Core 计算输入x的组归一化结果out,均值meanOut,以及标准差的倒数rstdOut。
norm inplace_add_layer_norm AI Core 是一种结合了原位加法和层归一化的算法。输出参数`x1`(对应公式中的`y`)、`x2`(对应公式中的`x`)复用了输入参数`x1`、`x2`输入地址,实现InplaceAddLayerNorm功能。
norm inplace_add_rms_norm AI Core RmsNorm算子是大模型常用的归一化操作,相比LayerNorm算子,其去掉了减去均值的部分。AddRmsNorm算子将RmsNorm前的Add算子融合起来,减少搬入搬出操作。InplaceAddRmsNorm是一种结合了原位加法和RMS归一化的操作。
norm instance_norm AI Core 用于执行Instance Normalization(实例归一化)操作。相比BatchNorm算子,InstanceNorm在每个样本的实例上进行归一化,而不是在整个批次上进行归一化,这使得该函数更适合处理图像等数据。
norm instance_norm_v3 AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
norm layer_norm AI Core 对指定层进行均值为0、标准差为1的归一化计算。
norm layer_norm_grad AI Core LayerNorm的反向传播。用于计算输入张量的梯度,以便在反向传播过程中更新模型参数。
norm layer_norm_grad_v3 AI Core LayerNormV4的反向传播。用于计算输入张量的梯度,以便在反向传播过程中更新模型参数。
norm layer_norm_quant AI Core 算子将LayerNorm归一化输出和下游的量化算子融合起来,减少搬入搬出操作。
norm layer_norm_v3 AI Core 对指定层进行均值为0、标准差为1的归一化计算。
norm layer_norm_v4 AI Core 对指定层进行均值为0、标准差为1的归一化计算。
norm lp_norm_v2 AI Core 返回给定张量的矩阵范数或者向量范数。
norm masked_softmax_with_rel_pos_bias AI Core 替换在swinTransformer中使用window attention计算softmax的部分。
norm multi_add_rms_norm_dynamic_quant AI Core RmsNorm算子是大模型常用的归一化操作。DynamicQuant算子则是为输入张量进行对称动态量化的算子。MultiAddRmsNormDynamicQuant算子将RmsNorm前的n个Add算子和RmsNorm归一化输出给到的DynamicQuant算子融合起来,减少搬入搬出操作(n支持0到4)。
norm quantize_add_layer_norm AI Core 是一种结合了量化、加法和层归一化的操作。
norm quantized_batch_norm AI Core 将输入Tensor执行一个反量化的计算,再根据输入的weight、bias、epsilon执行归一化,最后根据输入的outputScale以及outputZeroPoint执行量化。
norm renorm AI Core 返回一个张量,其中输入张量self沿维度dim的每个子张量都经过归一化,使得子张量的p范数低于maxnorm值。
norm rms_norm AI Core RmsNorm算子是大模型常用的归一化操作,相比LayerNorm算子,其去掉了减去均值的部分。
norm rms_norm_grad AI Core RmsNorm的反向计算。用于计算RmsNorm的梯度,即在反向传播过程中计算输入张量的梯度。
norm rms_norm_grad_quant AI Core RmsNormGrad是用于计算RmsNorm的梯度,即在反向传播过程中计算输入张量的梯度的算子。RmsNormGradQuant算子将RmsNormGrad和Quantize两个算子融合,RmsNormGrad计算完dx后进行quant计算,减少搬入搬出操作。
norm rms_norm_quant AI Core RmsNorm算子是大模型常用的标准化操作,相比LayerNorm算子,其去掉了减去均值的部分。RmsNormQuant算子将RmsNorm算子以及RmsNorm后的Quantize算子融合起来,减少搬入搬出操作。
norm rms_norm_quant_v2 AI Core RmsNorm算子是大模型常用的标准化操作,相比LayerNorm算子,其去掉了减去均值的部分。RmsNormQuantV2算子将RmsNorm算子以及RmsNorm归一化的输出给到1个或2个Quantize算子融合起来,减少搬入搬出操作。
norm rms_norm_quant_v3 AI Core RmsNorm算子是大模型常用的标准化操作,相比LayerNorm算子,其去掉了减去均值的部分。RmsNormQuantV3算子将RmsNorm算子以及RmsNorm归一化的输出给到1个或2个Quantize算子融合起来,减少搬入搬出操作。同时在RmsNormQuantV2算子的基础上新增了Rstd的输出。
norm rms_norm_dynamic_mx_quant AI Core RmsNorm算子是大模型常用的归一化操作,相比LayerNorm算子,其去掉了减去均值的部分。DynamicMxQuant算子则是在尾轴上按blocksize分组进行动态MX量化的算子。RmsNormDynamicMxQuant算子将RmsNorm归一化输出给到的DynamicMxQuant算子融合起来,减少搬入搬出操作。
norm sync_batch_norm_backward_elemt AI Core SyncBatchNormBackwardElemt算子用于计算输入张量的元素级梯度,以便在反向传播过程中更新模型参数。
norm sync_batch_norm_backward_reduce AI Core SyncBatchNormBackwardReduce用于反向传播过程中计算BatchNorm操作的所需的权重梯度gradWeight和中间量sumDyXmu。
norm sync_batch_norm_gather_stats AI Core SyncBatchNormGatherStats算子用于收集所有device的均值和方差,更新全局的均值和方差。
norm sync_batch_norm_gather_stats_fused AI Core SyncBatchNormGatherStatsFused算子用于计算在BatchNormTraining过程中的全局的均值和全局标准差倒数,以及更新全局方差。
norm sync_batch_norm_gather_stats_with_counts AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
norm sync_bn_training_update AI Core SyncBNTrainingUpdate算子用于更新在BatchNormTraining过程中的全局的均值。
optim advance_step AI Core vLLM是一个高性能的LLM推理和服务框架,专注于优化大规模语言模型的推理效率。它的核心特点包括PageAttention和高效内存管理。advance_step算子的主要作用是推进推理步骤,即在每个生成步骤中更新模型的状态并生成新的inputTokens、inputPositions、seqLens和slotMapping,为vLLM的推理提升效率。
optim apply_adadelta AI Core 执行Adadelta优化器的单步参数更新,根据当前梯度、梯度平方累积accum和更新量平方累积accum_update,原地更新权重参数var以及accum、accum_update。
optim apply_adamax AI Core 执行AdaMax优化器的单步参数更新,基于无穷范数的Adam变种,根据当前梯度更新一阶矩m和无穷范数v,原地更新权重参数var以及m、v。
optim apply_rms_prop AI Core 执行RMSProp优化器(非centered版本)的单步参数更新,根据当前梯度更新梯度平方移动平均ms和动量累积mom,原地更新权重参数var以及ms、mom。对标TensorFlow的tf.raw_ops.ApplyRMSProp接口。
optim apply_adagrad_d AI Core ApplyAdagrad是自适应梯度算法的核心更新操作,主要用于在优化器(如随机梯度下降)中更新模型参数。
optim apply_adam_w_v2 AI Core 实现adamW优化器功能。
optim adam_apply_one AI Core 对模型中的一个参数(如权重),完成Adam优化算法的单步计算和更新。
optim adam_apply_one_with_decay AI Core 对模型中的一个参数(如权重),完成Adam优化算法的单步计算和更新,在adam_apply_one基础上增加了权重衰减。
optim adam_apply_one_with_decay_assign AI Core 对模型中的一个参数(如权重),完成Adam优化算法的单步计算和更新,在adam_apply_one_with_decay基础上增加了赋值操作,确保更新后的值被正确地保存。
optim apply_gradient_descent AI Core 用于在梯度下降训练过程中更新模型参数。
optim apply_gradient_descent AI Core 用于在梯度下降训练过程中更新模型参数。
optim apply_fused_ema_adam AI Core 实现FusedEmaAdam融合优化器功能,结合了Adam优化器和指数移动平均(EMA)技术。
optim apply_proximal_adagrad AI Core 结合Adagrad自适应学习率与FOBOS(Forward-Backward Splitting)Proximal近端算法的优化器,基于梯度平方累加器自适应调整学习率,并通过软阈值(L1正则化)与缩放(L2正则化)对模型参数进行原地更新。
optim fused_sgd AI Core 实现FusedSgd融合优化器功能。
pooling adaptive_avg_pool3d AI Core 在指定三维输出shape信息的情况下,完成输入张量的3D自适应平均池化计算。
pooling adaptive_avg_pool2d AI Core 在指定二维输出shape信息的情况下,完成输入张量的2D自适应平均池化计算。
pooling adaptive_avg_pool3d_grad AI Core AdaptiveAvgPool3d的反向计算。
pooling adaptive_max_pool2d AI Core 根据输入的output_size计算每次kernel的大小,对输入x进行2维最大池化操作,输出池化后的值y和索引indices。
pooling adaptive_max_pool3d AI Core 根据输入的outputSize计算每次kernel的大小,对输入self进行3维最大池化操作,输出池化后的值outputOut和索引indicesOut。aclnnAdaptiveMaxPool3d与aclnnMaxPool3d的区别在于,只需指定outputSize大小,并按outputSize的大小来划分pooling区域。
pooling adaptive_max_pool2d AI Core 根据输入的outputSize计算每次kernel的大小,对输入self进行2维最大池化操作,输出池化后的值outputOut和索引indicesOut。aclnnAdaptiveMaxPool2d与aclnnMaxPool2d的区别在于,只需指定outputSize大小,并按outputSize的大小来划分pooling区域。
pooling adaptive_max_pool3d_grad AI Core 正向自适应最大池化的反向传播,将梯度回填到每个自适应窗口最大值的坐标处,相同坐标处累加。
pooling avg_pool AI Core 对输入Tensor进行窗口为kH * kW、步长为sH * sW的二维平均池化操作,其中k为kernelSize,表示池化窗口的大小,s为stride,表示池化操作的步长。
pooling avg_pool_v2 AI Core 对输入Tensor进行窗口为kH * kW、步长为sH * sW的二维平均池化操作,其中k为kernelSize,表示池化窗口的大小,s为stride,表示池化操作的步长。
pooling avg_pool_v2_grad AI Core 二维平均池化的反向传播,计算二维平均池化正向传播的输入梯度。
pooling avg_pool3_d AI Core 对输入Tensor进行窗口为kD * kH * kW、步长为sD * sH * sW的三维平均池化操作,其中k为kernelSize,表示池化窗口的大小,s为stride,表示池化操作的步长。
pooling avg_pool3_d_grad AI Core 三维平均池化的反向传播,计算三维平均池化正向传播的输入梯度。
pooling max_pool3d AI Core 对于输入信号的输入通道,提供3维最大池化(Max pooling)操作。
pooling max_pool_v2 AI Core 对于4维的输入张量,进行最大池化(max pooling)操作。
pooling max_pool_v3 AI Core 对于3维或4维的输入张量,进行最大池化(max pooling)操作。
pooling max_pool_with_argmax AI Core 对于输入数据计算2维最大池化操作,同时输出池化后的最大值和对应位置的索引。
pooling max_pool_with_argmax_v3 AI Core 对于输入数据计算2维最大池化操作。
pooling max_pool_grad_with_argmax AI Core 正向最大池化MaxPoolWithArgmax的反向梯度计算。
pooling max_pool_grad_with_argmax_v3 AI Core 正向最大池化MaxPoolGradWithArgmaxV3的反向梯度。
pooling max_pool3d_grad_with_argmax AI Core 正向最大池化的反向传播,将梯度回填到每个窗口最大值的坐标处,相同坐标处累加。
pooling max_pool3d_grad AI Core 正向最大池化后反向传播,将梯度回填到每个窗口最大值的坐标处,相同坐标处累加。
pooling max_pool3d_with_argmax_v2 AI Core 对于输入信号的输入通道,提供3维最大池化(Max pooling)操作,输出池化后的值out和索引indices。
quant anti_mx_quant AI Core 将调用DynamicMxQuant量化得到的FLOAT4/FLOAT8的Tensor反量化为FLOAT16/BFLOAT16/FLOAT32格式。
quant ascend_anti_quant AI Core 根据输入的scale和offset对输入x进行反量化。
quant ascend_anti_quant_v2 AI Core 根据输入的scale和offset对输入x进行反量化。
quant ascend_dequant AI Core 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
quant ascend_quant AI Core 根据输入的scale和offset对输入x进行量化,且scale和offset的size需要是x的最后一维或1。
quant ascend_quant_v2 AI Core 对输入x进行量化操作,支持设置axis以指定scale和offset对应的轴,scale和offset的shape需要满足和axis指定x的轴相等或1。axis当前支持设置最后两个维度。
quant dequant_bias AI Core 对输入x反量化操作,将输入的int32的数据转化为FLOAT16/BFLOAT16输出。
quant dequant_swiglu_quant AI Core 在Swish门控线性单元激活函数前后添加dequant和quant操作,实现x的DequantSwigluQuant计算。
quant dynamic_block_quant AI Core 对输入张量,通过给定的row_block_size和col_block_size将输入划分成多个数据块,以数据块为基本粒度进行量化。在每个块中,先计算出当前块对应的量化参数scale,并根据scale对输入进行量化。输出最终的量化结果,以及每个块的量化参数scale。
quant dynamic_quant AI Core 为输入张量进行per-token对称动态量化。
quant dynamic_dual_level_mx_quant AI Core 通过给定的level0BlockSize和level1BlockSize将输入进行两次划分,以数据块为粒度,进行目的数据类型为FLOAT4类的MX二级量化。
quant grouped_dynamic_block_quant AI Core 根据传入的分组索引的起始值对各个group以基本块的粒度进行量化,并输出量化参数scale。
quant grouped_dynamic_mx_quant AI Core 根据传入的分组索引的起始值,对传入的数据进行分组的float8的动态量化。
quant dynamic_block_mx_quant AI Core 对输入变量,以数据块(32*32)为基本块进行MX量化转换为目的数据类型。
quant dynamic_mx_quant AI Core 对传入的数据进行分组的float8的动态量化。
quant dynamic_quant_update_scatter AI Core 将DynamicQuantV2和ScatterUpdate单算子自动融合为DynamicQuantUpdateScatterV2融合算子,以实现INT4类型的非对称量化。
quant dynamic_quant_update_scatter_v2 AI Core 将DynamicQuantV2和ScatterUpdate单算子自动融合为DynamicQuantUpdateScatterV2融合算子,以实现INT4类型的非对称量化。
quant dynamic_quant_v2 AI Core 为输入张量进行per-token对称/非对称动态量化。在MOE场景下,每个专家的smooth_scales是不同的,根据输入的group_index进行区分。
quant fake_quant_affine_cachemask AI Core 对于输入数据self,使用scale和zeroPoint对输入self在指定轴axis上进行伪量化处理,并根据quantMin和quantMax对伪量化输出进行值域更新,最终返回结果out及对应位置掩码mask。
quant fake_quant_with_min_max_args AI Core 对输入x进行per-tensor假量化(Fake Quantization),通过Nudge算法将min/max调整为量化步长的整数倍后,执行量化-反量化操作。
quant fake_quant_with_min_max_args_gradient AI Core FakeQuantWithMinMaxArgs的反向梯度算子,通过Nudge后的nudgedMin/nudgedMax构建0/1 mask,对梯度进行乘法门控。
quant flat_quant AI Core 该融合算子为输入矩阵x一次进行两次小矩阵乘法,即右乘输入矩阵kroneckerP2,左乘输入矩阵kroneckerP1,然后针对矩阵乘的结果进行per-token量化处理。
quant group_quant AI Core 对输入x进行分组量化操作。
quant quant_max AI Core 根据输入的scale对输入x进行量化,并计算输入x的绝对值的最大值amax。
quant quantize AI Core 对输入张量x进行量化处理。
quant swi_glu_quant AI Core 在SwiGlu激活函数后添加quant操作,实现输入x的SwiGluQuant计算,支持int8或int4量化输出。
quant swiglu_mx_quant AI Core 在SwiGlu激活函数后添加mx_quant操作,实现输入x的SwigluMxQuant计算,支持FP8或FP4量化输出。
quant swiglu_mx_quant_with_dual_axis AI Core 在SwiGlu激活函数后添加group_mx_quant操作,实现输入x的Swiglu操作后-1轴和-2轴同时量化计算,支持FP8或FP4量化输出。
quant swiglu_backward_mx_quant_with_dual_axis AI Core 在SwiGlu激活的反向梯度计算函数后添加group_mx_quant操作,实现输入x的Swiglu反向梯度操作后-1轴和-2轴同时量化计算,支持FP8量化输出。
quant trans_quant_param AI CPU 该算子暂无Ascend C代码实现,欢迎开发者补充贡献,贡献方式参考贡献指南
quant trans_quant_param_v2 AI Core 完成量化计算参数scale数据类型的转换,将FLOAT32的数据类型转换为硬件需要的UINT64类型。
quant ifmr AI Core 输入特征图重建的量化方法。
rnn bidirection_lstm AI Core 进行LSTM网络计算,接收输入序列和初始状态,返回输出序列和最终状态。
rnn bidirection_lstmv2 AI Core 进行LSTM网络计算,接收输入序列和初始状态,返回输出序列和最终状态。
rnn dynamic_rnn AI Core 基础循环神经网络(Recurrent Neural Network)算子,用于处理序列数据。它通过隐藏状态传递时序信息,适合处理具有时间/顺序依赖性的数据。
rnn dynamic_rnnv2 AI Core 基础循环神经网络(Recurrent Neural Network)算子,用于处理序列数据。它通过隐藏状态传递时序信息,适合处理具有时间/顺序依赖性的数据,仅支持单层RNN。
index unsorted_segment_sum AI Core unsorted_segment_sum主要功能是对一个张量分段求和。
rnn single_layer_lstm_grad AI Core 单层单向LSTM的反向传播,计算正向输入x、权重w、偏置b、初始隐藏状态initH与初始细胞状态initC的梯度。
rnn thnn_fused_lstm_cell AI Core 实现长短期记忆网络单元(LSTM Cell)的单步前向计算中,矩阵乘法后的后续计算。
rnn thnn_fused_lstm_cell_grad AI Core LSTMCell中四个门中matmul后剩余计算的反向传播,计算正向输出四个门激活前的值gates、输入cx、偏置b的梯度。
vfusion multi_scale_deformable_attention_grad AI Core MultiScaleDeformableAttention正向算子功能主要通过采样位置(sample location)、注意力权重(attention weights)、映射后的value特征、多尺度特征起始索引位置、多尺度特征图的空间大小(便于将采样位置由归一化的值变成绝对位置)等参数来遍历不同尺寸特征图的不同采样点。而反向算子的功能为根据正向的输入对输出的贡献及初始梯度求出输入对应的梯度。
vfusion multi_scale_deformable_attn_function AI Core 通过采样位置(sample location)、注意力权重(attention weights)、映射后的value特征、多尺度特征起始索引位置、多尺度特征图的空间大小(便于将采样位置由归一化的值变成绝对位置)等参数来遍历不同尺寸特征图的不同采样点。
vfusion scaled_masked_softmax_grad_v2 AI Core softmax的反向传播,并对结果进行缩放以及掩码。
vfusion scaled_masked_softmax_v2 AI Core 将输入的数据x先进行scale缩放和mask,然后执行softmax的输出。
optim apply_adam_w AI Core 实现adamW优化器功能。
optim apply_adam AI Core 实现adam优化器功能。
optim apply_adam_d AI Core 实现adam优化器功能。
optim apply_ftrl AI Core 实现ftrl优化器功能。
optim apply_momentum AI Core 实现momentum优化器功能。
optim apply_proximal_gradient_descent AI Core 实现带L1/L2正则化的近端梯度下降一步更新,常用于带稀疏正则的优化场景。
hash embedding_hash_table_apply_adam_w AI Core 查询hash表是否存在key,如果存在,则更新其value,如果不存在,则插入key。
hash embedding_hash_table_export AI Core 导出整个table表。
hash embedding_hash_table_import AI Core 将输入的key和value插入hash表。
hash embedding_hash_table_lookup_or_insert AI Core 根据key值查看table中是否存在key;如果存在则不插入value值,并且导出key当前位置上的值;如果不存在则对key进行hash,找到位置后插入value。
hash init_embedding_hash_table AI Core 初始化hash表。