vcpadd
功能说明
对于一个向量,将其元素两两相加,即获取元素对(元素n和元素n+1,n为偶数)的和。单次repeat,对于 f16 类型,结果连续128Byte(64个元素)写入目的地址;对于 f32 类型,结果连续 128Byte(32个元素)写入目的地址。
需要注意的是,dstRepeatStride 的单位是128Byte,而非通常的32Byte。
该接口支持通过MASK控制哪些元素参与计算。
接口原型
// 相同接口的不同原型区别在于源地址和目的地址的数据类型不同 void vcpadd(__ubuf__ half *dst, __ubuf__ half *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride); void vcpadd(__ubuf__ float *dst, __ubuf__ float *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride);
数据类型 |
目的数据 |
源数据 |
||
|---|---|---|---|---|
dstBlockStride |
dstRepeatStride |
srcBlockStride |
srcRepeatStride |
|
f16 |
/ |
128B |
32B |
32B |
f32 |
/ |
128B |
32B |
32B |
参数说明
函数中的运算参数含义见表1。
流水类型
PIPE_V
父主题: 规约运算