vec_adds
功能说明
矢量内每个element与标量求和:
函数原型
vec_adds(mask, dst, src, scalar, repeat_times, dst_rep_stride, src_rep_stride, mask_mode="normal")
参数说明
请参见参数说明。
dst/src/scalar操作数的类型需要保持一致 。
Atlas 200/300/500 推理产品,dst/src/scalar支持的数据类型为:Tensor(float16/float32/)。
Atlas 训练系列产品,dst/src/scalar支持的数据类型为:Tensor(float16/float32/)。
Atlas推理系列产品AI Core,dst/src/scalar支持的数据类型为:Tensor(float16/int16/float32/int32/)。
Atlas推理系列产品Vector Core,dst/src/scalar支持的数据类型为:Tensor(float16/int16/float32/int32/)。
Atlas A2训练系列产品/Atlas 800I A2推理产品,dst/src/scalar支持的数据类型为:Tensor(float16/int16/float32/int32/)。
Atlas 200/500 A2推理产品,dst/src/scalar支持的数据类型为:Tensor(float16/int16/float32/int32/int8/uint8)。
返回值
无
支持的型号
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) # 定义scalar并赋初始值为2.0 scalar = tik_instance.Scalar(dtype="float16", init_value=2.0) tik_instance.vec_adds(128, dst_ub, src_ub, scalar, 1, 8, 8) # 将计算结果从ub搬运到gm tik_instance.data_move(dst_gm, dst_ub, 0, 1, 8, 0, 0) tik_instance.BuildCCE(kernel_name="vec_adds", inputs=[src_gm], outputs=[dst_gm])
结果示例:
输入数据(src_gm): [ -4.5 -8.7 7.16 -3.89 5.47 5.992 1.921 -2.672 6.2 -7.695 -9.86 0.8354 -4.52 9.03 0.689 1.7 -7.03 -0.658 -6.13 -7.246 -7.86 -2.34 1.379 -6.49 5.125 -9.73 8.12 -5.062 -7.562 9.1 4.184 6.93 -2.678 4.344 3.904 -3.123 9.08 3.986 2.295 -4.234 -5.605 9.52 8.08 3.727 -1.413 -2.062 -6.21 -5.676 9.28 -7.13 -1.329 -1.236 3.137 -0.5293 4.96 5.332 -1.962 4.133 -6.617 3.383 4.06 -4.16 1.146 -7.043 -4.773 3.049 0.757 9.5 -2.018 3.41 -6.316 7.37 9.93 -5.133 -5.305 8.59 -5.727 -1.143 -2.2 4.766 3.695 -7.438 7.645 -0.508 -2.752 3.838 2.135 2.64 -8.82 -4.75 -4.89 2.37 -1.686 -1.867 8.89 -0.6562 3.115 -6.953 2.307 4.94 -7.63 -8.086 8.82 0.1056 -0.3682 -3.342 5.77 6.016 -3.295 9.79 -2.889 -1.579 -2.092 -3.066 9.91 -10. -6.516 5.176 -2.08 -5.04 9.75 -3.018 4.105 6.77 -1.656 -6.324 -8.31 1.606 ] 输出数据(dst_gm): [-2.5 -6.703 9.16 -1.891 7.47 7.992 3.922 -0.672 8.2 -5.695 -7.86 2.836 -2.52 11.03 2.69 3.7 -5.03 1.342 -4.13 -5.246 -5.86 -0.3398 3.379 -4.49 7.125 -7.727 10.12 -3.062 -5.562 11.1 6.184 8.93 -0.6777 6.344 5.906 -1.123 11.08 5.984 4.297 -2.234 -3.605 11.52 10.08 5.727 0.587 -0.0625 -4.21 -3.676 11.28 -5.13 0.671 0.7637 5.137 1.471 6.96 7.332 0.0381 6.133 -4.617 5.383 6.06 -2.16 3.146 -5.043 -2.773 5.047 2.758 11.5 -0.01758 5.41 -4.316 9.375 11.93 -3.133 -3.305 10.59 -3.727 0.8574 -0.1992 6.766 5.695 -5.438 9.64 1.492 -0.752 5.836 4.133 4.64 -6.82 -2.75 -2.89 4.367 0.3145 0.1328 10.89 1.344 5.117 -4.953 4.305 6.94 -5.63 -6.086 10.82 2.105 1.632 -1.342 7.77 8.016 -1.295 11.79 -0.8887 0.421 -0.0918 -1.066 11.91 -8. -4.516 7.176 -0.0801 -3.04 11.75 -1.018 6.105 8.766 0.3438 -4.324 -6.312 3.605 ]