copy_ubuf_to_gm_align
功能说明
从UB搬运至GM的align接口。
执行此接口时,硬件从UB读取的每个burst的实际数据大小为:
((burst_length – 1)/32 + 1)*32 (bytes).
如果burst_length与32B对齐,则不会从UB读取哑数据,从UB读取的所有数据将写入GM,如下图所示。
图1 copy_ubuf_to_gm_align图示,其中burst length是32B对齐的
如果burst_length未对齐到32B,则将从UB读取哑数据,并在写入GM时丢弃,如下所示。
图2 copy_ubuf_to_gm_align图示,其中burst length不是32B对齐的
接口原型
// 相同接口的不同原型区别在于源地址和目的地址的数据类型不同 void copy_ubuf_to_gm_align_b8(__gm__ void *dst, __ubuf__ void *src, uint8_t sid, uint16_t nBurst, uint32_t lenBurst, uint8_t leftPaddingNum, uint8_t rightPaddingNum, uint32_t srcGap, uint32_t dstGap); void copy_ubuf_to_gm_align_b32(__gm__ void *dst, __ubuf__ void *src, uint8_t sid, uint16_t nBurst, uint32_t lenBurst, uint8_t leftPaddingNum, uint8_t rightPaddingNum, uint32_t srcGap, uint32_t dstGap); void copy_ubuf_to_gm_align_b16(__gm__ void *dst, __ubuf__ void *src, uint8_t sid, uint16_t nBurst, uint32_t lenBurst, uint8_t leftPaddingNum, uint8_t rightPaddingNum, uint8_t srcGap, uint8_t dstGap);
流水类型
PIPE_MTE3
父主题: 搬运并补padding