vreduce指令抽象。
vreduce指令根据输入y向量的mask数据,决定取x向量中的某些元素存至z向量,由于mskpp中的tensor并无实际元素,因此增加了reserve_num的参数,z输出的shape由该参数决定。
class vreduce(x, y, z, reserve_num)
参数名 |
输入/输出 |
数据类型 |
说明 |
---|---|---|---|
x |
输入 |
tensor变量 |
输入x向量tensor。支持UINT16,UINT32。 |
y |
输入 |
tensor变量 |
输入y向量tensor。支持UINT16,UINT32。 |
reserve_num |
输入 |
int |
指定输出元素的个数。 |
z |
输出 |
tensor变量 |
输出z向量tensor。支持UINT16,UINT32。 |
ub_x, ub_y = Tensor("UB"), Tensor("UB") reserve_num = 16 ub_x.load(gm_x) out = vreduce(ub_x, ub_y, reserve_num)()