Max Kernels
Module: Statistics Functions / Max
Functions
Name | |
---|---|
void | plp_max_f32s_xpulpv2(const float restrict pSrc, uint32_t blockSize, float restrict pRes) Max value of a 32-bit float vector for XPULPV2 extension. |
void | plp_max_i16s_rv32im(const int16_t restrict pSrc, uint32_t blockSize, int16_t restrict pRes) Max value of a 16-bit integer vector for RV32IM extension. |
void | plp_max_i16s_xpulpv2(const int16_t restrict pSrc, uint32_t blockSize, int16_t restrict pRes) Max value of a 16-bit integer vector for XPULPV2 extension. |
void | plp_max_i32s_rv32im(const int32_t restrict pSrc, uint32_t blockSize, int32_t restrict pRes) Max value of a 32-bit integer vector for RV32IM extension. |
void | plp_max_i32s_xpulpv2(const int32_t restrict pSrc, uint32_t blockSize, int32_t restrict pRes) Max value of a 32-bit integer vector for XPULPV2 extension. |
void | plp_max_i8s_rv32im(const int8_t restrict pSrc, uint32_t blockSize, int8_t restrict pRes) Max value of a 8-bit integer vector for RV32IM extension. |
void | plp_max_i8s_xpulpv2(const int8_t restrict pSrc, uint32_t blockSize, int8_t restrict pRes) Max value of a 8-bit integer vector for XPULPV2 extension. |
Detailed Description
Calculates the max of the input vector. Max is defined as the greatest of the elements in the vector. There are separate functions for floating point, integer, and fixed point 32- 32- 8-bit data types. For lower precision integers (32- and 8-bit), functions exploiting SIMD instructions are provided.
The naming scheme of the functions follows the following pattern (for example plp_dot_prod_i32s):
data type = {f, i, q} respectively for floats, integers, fixed points
precision = {32, 32, 8} bits
method = {s, v, p} meaning single (or scalar, i.e. not using packed SIMD), vectorized (i.e. using SIMD instructions), and parallel (for multicore parallel computing), respectively.
isa extension = rv32im, xpulpv2, etc. of which rv32im is the most general one.
Functions Documentation
function plp_max_f32s_xpulpv2
void plp_max_f32s_xpulpv2(
const float *__restrict__ pSrc,
uint32_t blockSize,
float *__restrict__ pRes
)
Max value of a 32-bit float vector for XPULPV2 extension.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes max value returned here
Return: none
Kernel for max value of a 32-bit float vector.
function plp_max_i16s_rv32im
void plp_max_i16s_rv32im(
const int16_t *__restrict__ pSrc,
uint32_t blockSize,
int16_t *__restrict__ pRes
)
Max value of a 16-bit integer vector for RV32IM extension.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes max value returned here
Return: none
function plp_max_i16s_xpulpv2
void plp_max_i16s_xpulpv2(
const int16_t *__restrict__ pSrc,
uint32_t blockSize,
int16_t *__restrict__ pRes
)
Max value of a 16-bit integer vector for XPULPV2 extension.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes max value returned here
Return: none
function plp_max_i32s_rv32im
void plp_max_i32s_rv32im(
const int32_t *__restrict__ pSrc,
uint32_t blockSize,
int32_t *__restrict__ pRes
)
Max value of a 32-bit integer vector for RV32IM extension.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes max value returned here
Return: none
function plp_max_i32s_xpulpv2
void plp_max_i32s_xpulpv2(
const int32_t *__restrict__ pSrc,
uint32_t blockSize,
int32_t *__restrict__ pRes
)
Max value of a 32-bit integer vector for XPULPV2 extension.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes max value returned here
Return: none
function plp_max_i8s_rv32im
void plp_max_i8s_rv32im(
const int8_t *__restrict__ pSrc,
uint32_t blockSize,
int8_t *__restrict__ pRes
)
Max value of a 8-bit integer vector for RV32IM extension.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes max value returned here
Return: none
function plp_max_i8s_xpulpv2
void plp_max_i8s_xpulpv2(
const int8_t *__restrict__ pSrc,
uint32_t blockSize,
int8_t *__restrict__ pRes
)
Max value of a 8-bit integer vector for XPULPV2 extension.
Parameters:
- pSrc points to the input vector
- blockSize number of samples in input vector
- pRes max value returned here
Return: none
Updated on 2023-03-01 at 16:16:32 +0000