按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 ]