昇腾社区首页
中文
注册

vcmax/vcmin

功能说明

获取256Byte向量的元素最大值及其索引或地址,其中half类型有128个元素,float类型有64个元素。索引或地址的输出由order控制,向量数据类型为half时,其索引或地址数据类型是uint16_t;向量数据类型为float时,其索引或地址数据类型是uint32_t。

表1 地址与步长对齐单位

数据类型

order参数

描述目的数据参数

描述源数据参数

地址

数据块步长

重复步长

地址

数据块步长

重复步长

f16

2’b00

4B

/

4B

32B

32B

32B

2’b01

4B

/

4B

32B

32B

32B

2’b10

2B

/

2B

32B

32B

32B

2’b11

4B

/

4B

32B

32B

32B

f32

2’b00

8B

/

8B

32B

32B

32B

2’b01

8B

/

8B

32B

32B

32B

2’b10

4B

/

4B

32B

32B

32B

2’b11

4B

/

4B

32B

32B

32B

函数原型

void vcmax(__ubuf__ half *dst, __ubuf__ half *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride, Order_t order); 
void vcmax(__ubuf__ float *dst, __ubuf__ float *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride, Order_t order);

参数说明

表2 vcmax特有参数说明

参数名

说明

order

支持四种模式:

  • VALUE_INDEX:依次输出最大值和其索引,dst[0]为最大值,dst[1]是索引。
  • INDEX_VALUE:依次输出最大值和其地址。
  • ONLY_VALUE:只输出最大值。
  • ONLY_INDEX:只输出最大值的最小索引,索引数据类型为uint32_t,与输入数据类型无关。

流水类型

PIPE_V

同类型接口

void vcmin(__ubuf__ half *dst, __ubuf__ half *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride, Order_t order); 
void vcmin(__ubuf__ float *dst, __ubuf__ float *src, uint8_t repeat, uint16_t dstRepeatStride, uint16_t srcBlockStride, uint16_t srcRepeatStride, Order_t order);