昇腾社区首页
中文
注册
开发者
下载

vrelu

功能说明

对向量每个元素做 ReLU 操作,如果元素大于或等于0,则保持原值不变,如果元素小于0,则目标值为0,公式如下:

[dst] = [src] < 0 ? 0 : [src]

以 block(32Byte)为单位完成计算,一次完成8个 block 的计算。

该接口支持通过MASK控制哪些元素参与计算。

接口原型

// 相同接口的不同原型区别在于源地址和目的地址的数据类型不同。
void vrelu(__ubuf__ half *dst, __ubuf__ half *src, uint8_t repeat, uint16_t dstBlockStride, uint16_t srcBlockStride, uint16_t dstRepeatStride, uint16_t srcRepeatStride);

void vrelu(__ubuf__ int32_t *dst, __ubuf__ int32_t *src, uint8_t repeat, uint16_t dstBlockStride, uint16_t srcBlockStride, uint16_t dstRepeatStride, uint16_t srcRepeatStride);

void vrelu(__ubuf__ float *dst, __ubuf__ float *src, uint8_t repeat, uint16_t dstBlockStride, uint16_t srcBlockStride, uint16_t dstRepeatStride, uint16_t srcRepeatStride);

参数说明

参数含义见 表1 单目运算参数说明

流水类型

PIPE_V