文件最后提交记录最后更新时间
1 个月前
3 个月前
2 个月前
8 个月前
2 个月前
README

ScatterAddWithSorted

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×
Kirin X90 处理器系列产品
Kirin 9030 处理器系列产品

功能说明

  • 算子功能: 将tensor src中的值按指定的轴和方向和对应的位置关系逐个替换/累加/累乘至tensor self中。

  • 示例: 对于一个3D tensor,self会按照如下的规则进行更新:

    self[index[i][j][k]][j][k] += src[i][j][k] # 如果dim == 0 && reduction == 1
    self[i][index[i][j][k]][k] *= src[i][j][k] # 如果dim == 1 && reduction == 2
    self[i][j][index[i][j][k]] = src[i][j][k]  # 如果dim == 2 && reduction == 0
    

    在计算时需要满足以下要求:

    • self、index和src的维度数量必须相同。
    • 对于每一个维度d,有index.size(d) <= src.size(d)的限制。
    • 对于每一个维度d,如果d != dim,有index.size(d) <= self.size(d)的限制。
    • dim的值的大小必须在 [-self的维度数量, self的维度数量-1] 之间。
    • self的维度数应该小于等于8。
    • index中对应维度dim的值大小必须在[0, self.size(dim)-1]之间。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
var 输入 公式中的`self`,Device侧的aclTensor。 FLOAT16、FLOAT32、BFLOAT16 ND
value 输入 公式中的`index`,Device侧的aclTensor。 FLOAT16、FLOAT32、BFLOAT16 ND
sorted_index 输入 公式中的`src`,Device侧的aclTensor。 INT32、INT64 ND
pos 输入 公式中的`src`,Device侧的aclTensor。 INT32、INT64 ND
var 输出 公式中的`self`,公式中的输出。 FLOAT16、FLOAT32、BFLOAT16 ND
  • Kirin X90/Kirin 9030 处理器系列产品:不支持BFLOAT16。

约束说明