vsubreluconv
功能说明
对 src1 和 src2 进行元素级别的减法运算,然后执行ReLU操作并转换为另一种数据类型,将结果写入dst。
该接口遵循双目向量模板,计算宽度取决于较大的数据元素,规则和vconv类似。在这条接口中,数据宽度都是减半的,对应目标仅包含4个block而非8个,原因见vmulconv。因此,填写对应的参数时,如果希望 dst 连续存放,dstRepeatStride 应该设为4(而不是常见的8)。
计算公式如下:
[dst] = convert(ReLU([src0] - [src1]))
该接口支持通过MASK控制哪些元素参与计算。
接口原型
// 相同接口的不同原型区别在于源地址和目的地址的数据类型不同。 void vsubreluconv_f322f16(__ubuf__ half *dst, __ubuf__ float *src0, __ubuf__ float *src1, uint8_t repeat, uint8_t dstBlockStride, uint8_t src0BlockStride, uint8_t src1BlockStride, uint8_t dstRepeatStride, uint8_t src0RepeatStride, uint8_t src1RepeatStride, bool h) void vsubreluconv_f162s8(__ubuf__ int8_t *dst, __ubuf__ half *src0, __ubuf__ half *src1, uint8_t repeat, uint8_t dstBlockStride, uint8_t src0BlockStride, uint8_t src1BlockStride, uint8_t dstRepeatStride, uint8_t src0RepeatStride, uint8_t src1RepeatStride, bool h) void vsubreluconv_s162s8(__ubuf__ int8_t *dst, __ubuf__ int16_t *src0, __ubuf__ int16_t *src1, uint8_t repeat, uint8_t dstBlockStride, uint8_t src0BlockStride, uint8_t src1BlockStride, uint8_t dstRepeatStride, uint8_t src0RepeatStride, uint8_t src1RepeatStride, bool h)
参数说明
参数含义见 表2 双目运算参数说明。
流水类型
PIPE_V
父主题: 双目运算