昇腾社区首页
中文
注册

img2colv2_cbuf_to_cb

功能说明

该指令将卷积核从L1搬运到L0B上。在搬运过程中将Co*Wk*Hk*Ci大小的卷积核按照co维度展开,展开后的每一列大小为Ci*Wk*Hk,共有Co列的二维矩阵。

  • Co表示卷积核个数,也就是输出通道数;
  • Wk表示卷积核的水平尺寸;
  • Hk表示卷积核的竖直尺寸;
  • Ci表示输入通道数;

接口原型

void img2colv2_cbuf_to_cb(__cb__ float *dst, __cbuf__ float *src, uint16_t stepK, uint16_t stepM, uint16_t posK, uint16_t posM, uint8_t strideW, uint8_t strideH, uint8_t Wk, uint8_t Hk, uint8_t dilationW, uint8_t dilationH, bool filterW, bool filterH, bool transpose, bool fmatrixCtrl, uint16_t sizeChannel);

void img2colv2_cbuf_to_cb(__cb__ half *dst, __cbuf__ half *src, uint16_t stepK, uint16_t stepM, uint16_t posK, uint16_t posM, uint8_t strideW, uint8_t strideH, uint8_t Wk, uint8_t Hk, uint8_t dilationW, uint8_t dilationH, bool filterW, bool filterH, bool transpose, bool fmatrixCtrl, uint16_t sizeChannel);

void img2colv2_cbuf_to_cb(__cb__ uint32_t *dst, __cbuf__ uint32_t *src, uint16_t stepK, uint16_t stepM, uint16_t posK, uint16_t posM, uint8_t strideW, uint8_t strideH, uint8_t Wk, uint8_t Hk, uint8_t dilationW, uint8_t dilationH, bool filterW, bool filterH, bool transpose, bool fmatrixCtrl, uint16_t sizeChannel);

void img2colv2_cbuf_to_cb(__cb__ int32_t *dst, __cbuf__ int32_t *src, uint16_t stepK, uint16_t stepM, uint16_t posK, uint16_t posM, uint8_t strideW, uint8_t strideH, uint8_t Wk, uint8_t Hk, uint8_t dilationW, uint8_t dilationH, bool filterW, bool filterH, bool transpose, bool fmatrixCtrl, uint16_t sizeChannel);

void img2colv2_cbuf_to_cb(__cb__ bfloat16_t *dst, __cbuf__ bfloat16_t *src, uint16_t stepK, uint16_t stepM, uint16_t posK, uint16_t posM, uint8_t strideW, uint8_t strideH, uint8_t Wk, uint8_t Hk, uint8_t dilationW, uint8_t dilationH, bool filterW, bool filterH, bool transpose, bool fmatrixCtrl, uint16_t sizeChannel);

流水类型

PIPE_MTE1