vec_muls
功能说明
矢量内每个element与标量求积:
函数原型
vec_muls(mask, dst, src, scalar, repeat_times, dst_rep_stride, src_rep_stride, mask_mode="normal")
参数说明
请参见参数说明。
dst/src类型需要保持一致 。scalar为Scalar时,要求和dst/src数据类型保持一致。
Atlas 200/300/500 推理产品,dst/src/scalar支持的数据类型为:Tensor(float16/float32/)。
Atlas 训练系列产品,dst/src/scalar支持的数据类型为:Tensor(float16/float32/)。
Atlas推理系列产品(Ascend 310P处理器)AI Core,dst/src/scalar支持的数据类型为:Tensor(float16/int16/float32/int32/)。
Atlas推理系列产品(Ascend 310P处理器)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)。
AS31XM1X AI处理器,dst/src/scalar支持的数据类型为:Tensor(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() 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_muls(128, dst_ub, src_ub, 2.0, 1, 8, 8) # 将计算结果从ub搬运到gm tik_instance.data_move(dst_gm, dst_ub, 0, 1, 8, 0, 0) tik_instance.BuildCCE(kernel_name="vec_muls", inputs=[src_gm], outputs=[dst_gm])
结果示例:
输入数据(src_gm): [-9.07 8.33 6.125 4.523 -7.94 -1.386 3.107 -8.14 -6.977 -0.176 -6.242 8.41 -3.512 -3.066 2.367 -9.516 9.73 5.016 -1.171 -6.715 -1.323 -2.008 -9.4 -0.93 9.67 -8.484 -6.71 4.926 9.805 -8.67 0.5967 6.6 2.912 7.906 -7.227 5.91 -0.8555 6.38 5.06 -2.615 5.074 4.586 -6.734 -5.535 1.108 -0.798 6.57 3.98 2.523 -9.305 5.414 -3.299 -0.893 5.188 1.198 -3.443 8.4 -9.016 -5.523 -6.164 -8.04 -6.48 1.253 8.92 6.863 1.884 6.17 -0.979 6.434 3.414 3.783 1.468 -9.26 1.493 -7.938 -4.26 -3.668 1.008 -4.047 6.676 6.57 5.62 4.535 4.504 -4.477 -1.615 4.688 3.627 -6.516 -2.305 7.312 -0.486 5.684 -6.76 9.81 5.26 4.785 0.851 -7.76 9.31 -7.668 7.125 3.59 -2.402 -8.9 8.914 -6.066 -0.0893 5.195 6.05 0.229 -5.24 4.645 -5.707 -9.336 -2.23 0.966 5.543 2.812 -2.299 9.47 -8.6 4.97 -9.95 9.8 7.902 0.08844 -7.88 ] 输出数据(dst_gm): [-18.14 16.66 12.25 9.05 -15.88 -2.771 6.215 -16.28 -13.95 -0.352 -12.484 16.81 -7.023 -6.133 4.734 -19.03 19.45 10.03 -2.342 -13.43 -2.646 -4.016 -18.8 -1.86 19.34 -16.97 -13.42 9.85 19.61 -17.34 1.193 13.2 5.824 15.81 -14.45 11.82 -1.711 12.76 10.12 -5.23 10.15 9.17 -13.47 -11.07 2.217 -1.596 13.14 7.96 5.047 -18.61 10.83 -6.598 -1.786 10.375 2.396 -6.887 16.8 -18.03 -11.05 -12.33 -16.08 -12.96 2.506 17.84 13.73 3.768 12.34 -1.958 12.87 6.83 7.566 2.936 -18.52 2.986 -15.875 -8.52 -7.336 2.016 -8.09 13.35 13.14 11.24 9.07 9.01 -8.95 -3.23 9.375 7.254 -13.03 -4.61 14.625 -0.972 11.37 -13.52 19.62 10.52 9.57 1.702 -15.52 18.62 -15.336 14.25 7.18 -4.805 -17.8 17.83 -12.13 -0.1786 10.39 12.1 0.458 -10.48 9.29 -11.414 -18.67 -4.46 1.932 11.086 5.625 -4.598 18.94 -17.2 9.94 -19.9 19.6 15.805 0.1769 -15.76 ]