文档
注册
评分
提单
论坛
小AI

vec_and

功能说明

每对elements按位与运算:

函数原型

vec_and(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(uint16/int16)

Atlas 训练系列产品,dst/src0/src1支持的数据类型为:Tensor(uint16/int16)

Atlas推理系列产品(Ascend 310P处理器)AI Core,dst/src0/src1支持的数据类型为:Tensor(uint16/int16)

Atlas推理系列产品(Ascend 310P处理器)Vector Core,dst/src0/src1支持的数据类型为:Tensor(uint16/int16)

Atlas A2训练系列产品/Atlas 800I A2推理产品,dst/src0/src1支持的数据类型为:Tensor(uint16/int16)

Atlas 200/500 A2推理产品,dst/src0/src1支持的数据类型为:Tensor(uint8/int8/uint16/int16)

返回值

支持的型号

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("int16", (128,), name="src0_gm", scope=tik.scope_gm)
src1_gm = tik_instance.Tensor("int16", (128,), name="src1_gm", scope=tik.scope_gm)
dst_gm = tik_instance.Tensor("int16", (128,), name="dst_gm", scope=tik.scope_gm)
src0_ub = tik_instance.Tensor("int16", (128,), name="src0_ub", scope=tik.scope_ubuf)
src1_ub = tik_instance.Tensor("int16", (128,), name="src1_ub", scope=tik.scope_ubuf)
dst_ub = tik_instance.Tensor("int16", (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_and(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_and", inputs=[src0_gm, src1_gm], outputs=[dst_gm])

结果示例:

输入数据(src0_gm):
[-9  0 -7  7  0 -7 -3 -4  4 -8 -9  5  0  5  0 -6 -1 -9  6  1  4 -4  5  9
  6  9  4  8  3  7 -9  2 -1  5  1 -2  0 -3 -2 -3  0  4  0  4 -6  2 -8  5
 -4 -7  2 -2  0 -3  1  7 -9 -2  6 -3 -1  6 -5 -7  9  3 -3 -7  5 -4  0 -4
  7 -2  8 -9  7 -1 -2  0  2  9  0 -4  8 -8  7  0  3  4  0  5 -8 -5  3 -9
 -8 -9 -7  9  4  0  7  0 -1  0 -1  1 -1 -8 -1 -5  3  3 -7 -7 -7  2  6  6
  7  5 -2 -5 -3 -3 -6 -4]

输入数据(src1_gm):
[-1  8 -9  0 -7  6  5 -7 -6  7  3 -1  6  7  8  1 -6 -8 -6 -4  0  5  7 -6
 -2  5 -2 -3  0 -6 -9 -5  1  7  0 -6  8 -8  3  4  2 -7 -3  8 -3 -6  1 -8
  9 -2 -4  0 -2  6  3  5 -9  0 -1  6 -3 -7  8  4 -2 -7 -3  3 -9  6  5 -3
  8 -2  8 -5  9 -8  3 -6 -1 -7  0 -1  0  9  8 -7  4  8 -8  8 -6 -6  7 -3
  2 -8  0  0 -3  1 -2 -6 -2 -7 -9 -1  5  1  1 -8 -1  9 -2 -5  6  9  2 -5
 -4  9  9 -1 -7  6  9  5]

输出数据(dst_gm):
[ -9   0 -15   0   0   0   5  -8   0   0   3   5   0   5   0   0  -6 -16
   2   0   0   4   5   8   6   1   4   8   0   2  -9   2   1   5   0  -6
   0  -8   2   4   0   0   0   0  -8   2   0   0   8  -8   0   0   0   4
   1   5  -9   0   6   4  -3   0   8   0   8   1  -3   1   5   4   0  -4
   0  -2   8 -13   1  -8   2   0   2   9   0  -4   0   8   0   0   0   0
   0   0  -8  -6   3 -11   0 -16   0   0   4   0   6   0  -2   0  -9   1
   5   0   1  -8   3   1  -8  -7   0   0   2   2   4   1   8  -5  -7   4
   8   4]
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词