vec_abs

功能说明

按element取绝对值:

函数原型

vec_abs(mask, dst, src, repeat_times, dst_rep_stride, src_rep_stride)

参数说明

请参见参数说明

dst与src的数据类型需要保持一致。

Atlas 200/300/500 推理产品,dst/src支持的数据类型为:Tensor(float16/float32)

Atlas 训练系列产品,dst/src支持的数据类型为:Tensor(float16/float32)

返回值

支持的芯片型号

Atlas 200/300/500 推理产品

Atlas 训练系列产品

注意事项

请参考注意事项

调用示例

from tbe import tik
tik_instance = tik.Tik()
src_gm = tik_instance.Tensor("float16", (128,), name="src_gm", scope=tik.scope_gm)
dst_gm = tik_instance.Tensor("float16", (128,), name="dst_gm", scope=tik.scope_gm)
src_ub = tik_instance.Tensor("float16", (128,), name="src_ub", scope=tik.scope_ubuf)
dst_ub = tik_instance.Tensor("float16", (128,), name="dst_ub", scope=tik.scope_ubuf)
# 将用户输入数据从gm搬运到ub
tik_instance.data_move(src_ub, src_gm, 0, 1, 8, 0, 0)
tik_instance.vec_abs(128, dst_ub, src_ub, 1, 8, 8)
# 将计算结果从ub搬运gm
tik_instance.data_move(dst_gm, dst_ub, 0, 1, 8, 0, 0)

tik_instance.BuildCCE(kernel_name="vec_abs", inputs=[src_gm], outputs=[dst_gm])

结果数据:

输入数据(src_gm):
[-0.658   0.4937  3.76    4.406  -2.17    1.57    6.85    0.0899 -9.25
  8.2    -0.43   -2.898  -4.074   1.998  -7.      8.71   -2.7     4.84
 -1.128   7.766  -4.125   0.806  -6.688  -7.766   5.69   -7.504   6.195
  3.156  -0.6157  9.45    2.736  -8.5     7.324   9.44    4.766   0.203
 -2.285  -1.517   8.58   -8.93    8.51   -4.926   6.293  -6.89    4.21
  0.1958  4.24   -8.375   3.035   7.99    9.87   -5.082   1.276  -0.6094
  9.73    3.883  -5.434   0.5186 -6.855  -6.523   3.44   -6.39   -8.91
  5.562   9.125   8.09   -8.89   -9.195   3.326  -1.147   7.855   3.26
 -2.742  -4.203  -3.5     4.727   7.52   -8.25    2.809  -9.06   -5.242
 -1.373  -3.506   6.484  -7.367   3.396   2.41   -7.652   8.21   -2.707
  5.984   8.1     4.457   6.598   6.742  -7.71    3.252   0.706  -6.39
  0.9697 -1.089  -1.476  -1.011  -5.168  -8.586  -2.059  -8.22   -2.148
 -1.745   1.856  -0.292   7.188  -4.945   3.426   0.1533 -0.768   9.96
 -6.746  -8.266  -7.336  -0.3726 -2.584   3.031  -2.846  -0.3635 -1.975
  4.785  -9.83  ]

输出数据(dst_gm):
[0.658  0.4937 3.76   4.406  2.17   1.57   6.85   0.0899 9.25   8.2
 0.43   2.898  4.074  1.998  7.     8.71   2.7    4.84   1.128  7.766
 4.125  0.806  6.688  7.766  5.69   7.504  6.195  3.156  0.6157 9.45
 2.736  8.5    7.324  9.44   4.766  0.203  2.285  1.517  8.58   8.93
 8.51   4.926  6.293  6.89   4.21   0.1958 4.24   8.375  3.035  7.99
 9.87   5.082  1.276  0.6094 9.73   3.883  5.434  0.5186 6.855  6.523
 3.44   6.39   8.91   5.562  9.125  8.09   8.89   9.195  3.326  1.147
 7.855  3.26   2.742  4.203  3.5    4.727  7.52   8.25   2.809  9.06
 5.242  1.373  3.506  6.484  7.367  3.396  2.41   7.652  8.21   2.707
 5.984  8.1    4.457  6.598  6.742  7.71   3.252  0.706  6.39   0.9697
 1.089  1.476  1.011  5.168  8.586  2.059  8.22   2.148  1.745  1.856
 0.292  7.188  4.945  3.426  0.1533 0.768  9.96   6.746  8.266  7.336
 0.3726 2.584  3.031  2.846  0.3635 1.975  4.785  9.83  ]