下载
中文
注册

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推理系列产品AI Core,dst/src支持的数据类型为:Tensor(float16/float32)

Atlas推理系列产品Vector Core,dst/src支持的数据类型为:Tensor(float16/float32/int16)

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

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

返回值

支持的型号

Atlas 200/300/500 推理产品

Atlas 训练系列产品

Atlas推理系列产品AI Core

Atlas推理系列产品Vector Core

Atlas A2训练系列产品/Atlas 800I A2推理产品

Atlas 200/500 A2推理产品

注意事项

请参考注意事项

调用示例

此样例是针对数据量较小、一次搬运就可以完成的场景,目的是让大家了解接口的功能,更复杂的数据量较大的样例可参见调用示例

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  ]