load_gm_to_ca
功能说明
实现数据从GM搬运到L0A。
接口原型
void load_gm_to_ca(__ca__ half *dst, __gm__ half *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ int8_t *dst, __gm__ int8_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint8_t sid); void load_gm_to_ca(__ca__ half *dst, __gm__ half *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, bool hw_wait_ctrl, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ int32_t *dst, __gm__ int32_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ bfloat16_t *dst, __gm__ bfloat16_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint8_t sid); void load_gm_to_ca(__ca__ bfloat16_t *dst, __gm__ bfloat16_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, bool hw_wait_ctrl, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ bfloat16_t *dst, __gm__ bfloat16_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ int8_t *dst, __gm__ int8_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ uint8_t *dst, __gm__ uint8_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, bool hw_wait_ctrl, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ uint32_t *dst, __gm__ uint32_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, bool hw_wait_ctrl, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ uint8_t *dst, __gm__ uint8_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ half *dst, __gm__ half *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint8_t sid); void load_gm_to_ca(__ca__ float *dst, __gm__ float *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, bool hw_wait_ctrl, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ uint8_t *dst, __gm__ uint8_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint8_t sid); void load_gm_to_ca(__ca__ uint32_t *dst, __gm__ uint32_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ int32_t *dst, __gm__ int32_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, bool hw_wait_ctrl, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ float *dst, __gm__ float *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, __cce_scalar::addr_cal_mode_t addr_cal_mode); void load_gm_to_ca(__ca__ int8_t *dst, __gm__ int8_t *src, uint16_t baseIdx, uint8_t repeat, uint16_t srcStride, uint16_t dstStride, uint8_t sid, bool hw_wait_ctrl, __cce_scalar::addr_cal_mode_t addr_cal_mode);
流水类型
PIPE_MTE2
父主题: 矩阵输入搬运