vcgadd/vcgmax/vcgmin
功能说明
以block(32Byte)为单位完成向量的累加(或计算其中的最大值/最小值),每次迭代计算8个block,输出为每个block 的计算结果,共8个值,连续写入dst地址(half类型输出占16Byte,float 类型输出占32Byte)。
上述接口均支持通过MASK控制哪些元素参与计算。MASK应用于输入元素。如果某个块/组的掩码全部为0,则该接口不会写入对应的目标元素。
接口原型
// 相同接口的不同原型区别在于源地址和目的地址的数据类型不同 // vcgadd void vcgadd(__ubuf__ half *dst, __ubuf__ half *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride); void vcgadd(__ubuf__ float *dst, __ubuf__ float *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride); // vcgmax void vcgmax(__ubuf__ half *dst, __ubuf__ half *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride); void vcgmax(__ubuf__ float *dst, __ubuf__ float *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride); // vcgmin void vcgmin(__ubuf__ half *dst, __ubuf__ half *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride); void vcgmin(__ubuf__ float *dst, __ubuf__ float *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride);
参数说明
参数含义见表1。
流水类型
PIPE_V
父主题: 规约运算