vec_sub
功能说明
按element求差:
函数原型
vec_sub(mask, dst, src0, src1, repeat_times, dst_rep_stride, src0_rep_stride, src1_rep_stride)
参数说明
请参见参数说明。
dst/src0/src1的数据类型需要保持一致。
Atlas 200/300/500 推理产品,dst/src0/src1支持的数据类型为:Tensor(float16/float32/int32)
Atlas 训练系列产品,dst/src0/src1支持的数据类型为:Tensor(float16/float32/int32)
Atlas推理系列产品(Ascend 310P处理器)AI Core,dst/src0/src1支持的数据类型为:Tensor(float16/int16/float32/int32)
Atlas推理系列产品(Ascend 310P处理器)Vector Core,dst/src0/src1支持的数据类型为:Tensor(float16/int16/float32/int32)
Atlas A2训练系列产品/Atlas 800I A2推理产品,dst/src0/src1支持的数据类型为:Tensor(float16/int16/float32/int32)
Atlas 200/500 A2推理产品,dst/src0/src1支持的数据类型为:Tensor(float16/int16/float32/int32/int8/uint8)
返回值
无
支持的型号
Atlas 200/300/500 推理产品
Atlas 训练系列产品
Atlas推理系列产品(Ascend 310P处理器)AI Core
Atlas推理系列产品(Ascend 310P处理器)Vector Core
Atlas A2训练系列产品/Atlas 800I A2推理产品
Atlas 200/500 A2推理产品
注意事项
请参考注意事项。
调用示例
此样例是针对数据量较小、一次搬运就可以完成的场景,目的是让大家了解接口的功能,更复杂的数据量较大的样例可参见调用示例
from tbe import tik tik_instance = tik.Tik() src0_gm = tik_instance.Tensor("float16", (128,), name="src0_gm", scope=tik.scope_gm) src1_gm = tik_instance.Tensor("float16", (128,), name="src1_gm", scope=tik.scope_gm) dst_gm = tik_instance.Tensor("float16", (128,), name="dst_gm", scope=tik.scope_gm) src0_ub = tik_instance.Tensor("float16", (128,), name="src0_ub", scope=tik.scope_ubuf) src1_ub = tik_instance.Tensor("float16", (128,), name="src1_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(src0_ub, src0_gm, 0, 1, 8, 0, 0) tik_instance.data_move(src1_ub, src1_gm, 0, 1, 8, 0, 0) tik_instance.vec_sub(128, dst_ub, src0_ub, src1_ub, 1, 8, 8, 8) # 将计算结果从ub搬运到目标gm tik_instance.data_move(dst_gm, dst_ub, 0, 1, 8, 0, 0) tik_instance.BuildCCE(kernel_name="vec_sub", inputs=[src0_gm, src1_gm], outputs=[dst_gm])
结果示例:
输入数据(src0_gm): [-3.396 5.496 4.516 -1.594 -5.914 -0.582 -2.074 -6.523 3.773 5.8 2.16 5.285 -4.49 6.375 -5.918 4.547 -5.06 0.09094 -4.35 -8.3 -6.164 5.805 -4.336 -0.3928 7.574 7.203 6.13 0.4583 8.695 3.688 -5.84 -0.576 -8.96 -2.824 -9.25 1.599 -7.56 5.918 0.634 -4.85 5.33 -8.12 -7.996 7.76 -1.169 -2.148 -4.402 -2.11 4.496 -5.582 1.428 7.04 -2.484 -9.39 -3.613 0.3794 -1.989 6.1 -6.57 6.824 3.172 -2.83 -5.746 -4.117 7.965 5.19 6.19 3.953 -6.945 4.43 8.41 9.7 -3.283 -9.086 4.9 7.746 5.523 3.37 -1.391 -2.725 -6.965 -4.17 -3.79 -6.496 -1.997 -6.98 -6.1 1.143 2.496 -1.827 -2.97 0.7197 -6.2 2.37 3.096 -8.56 -6.883 -6.062 -1.898 5.848 8.92 0.991 6.74 9.945 0.2705 -5.957 -0.9683 -5.996 0.489 -1.329 5.156 8.46 3.82 9.52 9.41 6.867 -7.34 2.383 -0.974 -9.94 -9.28 -0.827 9.37 7.97 8.02 5.3 -1.761 8.305 ] 输入数据(src1_gm): [-4.855 9.35 -5.95 -6.15 2.363 -8.48 -8.3 -3.965 1.082 -5.61 1.649 8. -6.223 5.184 -8.45 -1.979 7.18 -1.473 7.406 6.754 8.09 4.65 7.133 -2. -6.875 -7.89 -5.668 5.742 5.22 1.867 -1.436 -9.92 -3.008 -2.076 -3.443 -7.168 -0.577 9.21 3.941 7.406 -1.71 2.848 -3.09 6.78 7.457 3.146 -5.832 8.64 7.4 1.14 1.409 1.39 -7.637 -5.215 7.082 8.23 -0.1774 -3.395 -7.64 -2.28 -4.64 -5.52 0.2345 -8.48 -6.19 4.41 -9.76 -1.48 5.97 3.646 -7.438 8.54 -6.855 -5.758 -3.084 8.3 8.02 -1.291 -1.763 -2.51 8.484 3.324 -3.47 -0.771 7.156 6.824 7.66 5.56 -9.164 -8.26 6.582 5.945 -5.324 -7.992 8.6 -0.2073 4.527 3.422 2.941 7.965 -1.053 8.68 -0.1338 -0.5913 9.95 -5.582 -4.242 8.11 0.07477 4.44 -9.24 -8.97 5.543 -8.48 6.637 3.223 -9.08 -4.285 2.65 -1.44 4.316 3.314 -2.062 -8.8 -0.5913 -6.445 -2.463 -6.348 ] 输出数据(dst_gm): [ 1.459 -3.855 10.47 4.555 -8.28 7.895 6.223 -2.559 2.691 11.41 0.5107 -2.715 1.734 1.191 2.535 6.523 -12.234 1.563 -11.76 -15.05 -14.26 1.156 -11.47 1.607 14.45 15.09 11.8 -5.285 3.477 1.82 -4.406 9.34 -5.953 -0.748 -5.805 8.766 -6.98 -3.293 -3.309 -12.26 7.04 -10.97 -4.906 0.9805 -8.625 -5.297 1.43 -10.75 -2.902 -6.723 0.01855 5.65 5.152 -4.176 -10.695 -7.848 -1.812 9.5 1.07 9.1 7.812 2.69 -5.98 4.36 14.16 0.7812 15.95 5.434 -12.914 0.783 15.84 1.164 3.572 -3.328 7.984 -0.551 -2.5 4.66 0.372 -0.2148 -15.45 -7.496 -0.3184 -5.727 -9.16 -13.805 -13.766 -4.414 11.66 6.43 -9.555 -5.227 -0.875 10.36 -5.508 -8.35 -11.41 -9.484 -4.84 -2.117 9.98 -7.688 6.87 10.54 -9.68 -0.375 3.273 -14.11 0.4143 -5.77 14.4 17.44 -1.723 18. 2.77 3.645 1.738 6.668 -3.625 -8.5 -13.59 -4.14 11.43 16.77 8.62 11.75 0.702 14.66 ]