vec_add
功能说明
按element求和:
函数原型
vec_add(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(uint8/int8/float16/int16/float32/int32)]
返回值
无
支持的型号
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_add(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_add", inputs=[src0_gm, src1_gm], outputs=[dst_gm])
结果示例:
输入数据(src0_gm): [-6.773 -7.33 -1.764 -8.39 0.4177 -9.13 -9.6 -1.106 -0.6943 5.76 7.6 6.6 -1.243 -5.277 -1.083 3.39 -0.2964 4.99 -6.56 3.963 0.843 -8.016 9.2 -9.086 -0.1586 -4.758 1.671 1.057 9.85 3.035 9.914 -6.887 -6.215 -4.086 -0.511 -6.395 -0.5156 -3.936 4.535 8.61 -9.445 0.7974 -6.016 4.465 2.447 6.117 5.17 -1.91 2.475 -9.41 2.379 -7.164 2.756 -0.926 -2.64 -5.06 3.365 3.242 3.004 -4.168 -1.181 -3.8 1.993 -1.175 0.9062 -2.115 -0.07074 -1.468 8.52 -7.96 8.81 -3.234 -7.41 5.617 -4.258 4.25 -0.4036 -6.93 -6.145 3.615 -8.414 -2.943 -8.086 -4.453 -9.97 -3.148 2.549 8.91 -8.26 7.26 -8.414 6.766 0.7666 7.19 -9.086 -3.332 8.18 7.25 6.094 5.68 -4.574 1.378 -3.492 3.705 -8.336 6.547 -6.746 3.818 -2.637 6.195 -5.26 -1.465 7.273 -3.82 5.45 7.812 0.04193 6.066 3.564 -8.51 -2.963 -5.34 -6.6 -6.316 -7.125 -0.4104 -4.56 -5.098 ] 输入数据(src1_gm): [-3.3 2.986 6.734 3.537 1.665 1.862 -3.61 -2.756 -5.473 4.395 -6.754 -8.5 -5.13 -5.195 -9.055 4.72 -8.664 2.826 3.076 0.94 5.715 -5.375 -9.05 0.07605 6.223 6.098 6.266 8.305 -4.33 8.98 4.24 3.709 2.295 9.51 0.6846 -4.59 0.1074 3.365 -2.773 -0.07855 3.904 2.725 -7.332 7.375 -5.695 -3.748 2.438 -4.027 2.775 -3.643 -3.664 -1.112 3.02 -4.836 -3.361 5.227 5.863 6.758 -6.113 6.266 -7.754 -9.71 1.387 2.863 0.709 -4.125 -9.09 -5.07 9.914 0.2732 -8.74 3.59 8.25 -7.812 1.328 7.19 3.754 -2.518 -6.13 -6.543 8.34 -1.438 -6.5 -0.09564 8.56 -8.61 1.018 1.254 4.42 0.8765 7.57 -5.145 9.05 -8.31 6.777 -5.25 -9.54 4.113 4.617 0.1655 5.293 6.6 0.658 7.965 -2.223 -6.625 -9.81 9.664 6.91 -3.71 8.77 -7.18 -2.223 -6.312 -9.26 -9.05 -1.02 -9.91 4.203 -5.938 -5.91 -1.141 -0.901 7.395 -8.81 -9.2 9.52 4.906 ] 输出数据(dst_gm): [-10.08 -4.344 4.97 -4.85 2.082 -7.27 -13.21 -3.863 -6.168 10.16 0.8477 -1.898 -6.37 -10.47 -10.14 8.11 -8.96 7.812 -3.482 4.902 6.56 -13.39 0.1562 -9.01 6.062 1.34 7.938 9.36 5.523 12.016 14.16 -3.178 -3.92 5.42 0.1733 -10.984 -0.4082 -0.5703 1.762 8.53 -5.54 3.521 -13.34 11.84 -3.248 2.37 7.61 -5.938 5.25 -13.05 -1.285 -8.27 5.773 -5.76 -6. 0.168 9.23 10. -3.11 2.098 -8.94 -13.516 3.379 1.688 1.615 -6.242 -9.164 -6.54 18.44 -7.688 0.0703 0.3555 0.84 -2.195 -2.93 11.44 3.35 -9.445 -12.27 -2.928 -0.0703 -4.383 -14.586 -4.547 -1.406 -11.76 3.566 10.16 -3.836 8.14 -0.8438 1.621 9.81 -1.121 -2.309 -8.58 -1.359 11.36 10.71 5.844 0.7188 7.98 -2.834 11.67 -10.56 -0.0781 -16.56 13.484 4.273 2.484 3.512 -8.64 5.05 -10.13 -3.809 -1.234 -0.9775 -3.84 7.766 -14.445 -8.875 -6.48 -7.504 1.078 -15.94 -9.62 4.965 -0.1914]