asc.language.basic.brcb

asc.language.basic.brcb(dst: LocalTensor, src0: LocalTensor, repeat_times: int, repeat_params: BrcbRepeatParams) None

给定一个输入张量,每一次取输入张量中的8个数填充到结果张量的8个datablock(32Bytes)中去,每个数对应一个datablock。

对应的Ascend C函数原型

template <typename T>
__aicore__ inline void Brcb(const LocalTensor<T>& dst, const LocalTensor<T>& src0,
                            const uint8_t repeatTime, const BrcbRepeatParams& repeatParams)

参数说明

  • dst:目的操作数。类型为LocalTensor,支持的TPosition为VECIN/VECCALC/VECOUT。LocalTensor的起始地址需要32字节对齐。

  • src0:源操作数。类型为LocalTensor,支持的TPosition为VECIN/VECCALC/VECOUT。LocalTensor的起始地址需要32字节对齐。数据类型和dst保持一致。

  • repeat_time:指令迭代次数,每次迭代完成8个datablock的数据收集,数据范围:repeat_time∈[0,255]。

  • repeat_params:用于控制指令迭代的相关参数。

约束说明

  • 不支持src0与dst为同一块内存地址。

调用示例

brcb_params = asc.BrcbRepeatParams(1, 8)
asc.brcb(x_buf, y_buf, 2, brcb_params)