Basic Convolution
Module: Filtering Functions
Modules
Name |
---|
Basic Convolution Kernels |
Functions
Name | |
---|---|
void | plp_conv_i16(const int16_t * pSrcA, const uint32_t srcALen, const int16_t * pSrcB, const uint32_t srcBLen, int32_t * pRes) Glue code for convolution of 16-bit integer vectors. |
void | plp_conv_i16_parallel(const int16_t * pSrcA, const uint32_t srcALen, const int16_t * pSrcB, const uint32_t srcBLen, const uint8_t nPE, int32_t * pRes) Glue code for parallel convolution of 16-bit integer vectors. |
void | plp_conv_i32(const int32_t * pSrcA, const uint32_t srcALen, const int32_t * pSrcB, const uint32_t srcBLen, int32_t *restrict pRes) Glue code for convolution of 32-bit integer vectors. |
void | plp_conv_i32_parallel(const int32_t * pSrcA, const uint32_t srcALen, const int32_t * pSrcB, const uint32_t srcBLen, const uint8_t nPE, int32_t * pRes) Glue code for parallel convolution of 32-bit integer vectors. |
void | plp_conv_i8(const int8_t * pSrcA, const uint32_t srcALen, const int8_t * pSrcB, const uint32_t srcBLen, int32_t * pRes) Glue code for convolution of 8-bit integer vectors. |
void | plp_conv_i8_parallel(const int8_t * pSrcA, const uint32_t srcALen, const int8_t * pSrcB, const uint32_t srcBLen, const uint8_t nPE, int32_t * pRes) Glue code for parallel convolution of 8-bit integer vectors. |
void | plp_conv_valid_i16(const int16_t * pSrcA, const uint32_t srcALen, const int16_t * pSrcB, const uint32_t srcBLen, int32_t * pRes) Glue code for convolution of 16-bit integer vectors in valid range. |
void | plp_conv_valid_i32(const int32_t * pSrcA, const uint32_t srcALen, const int32_t * pSrcB, const uint32_t srcBLen, int32_t * pRes) Glue code for convolution of 32-bit integer vectors in valid range. |
void | plp_conv_valid_i8(const int8_t * pSrcA, const uint32_t srcALen, const int8_t * pSrcB, const uint32_t srcBLen, int32_t * pRes) Glue code for convolution of 8-bit integer vectors in valid range. |
void | plp_conv_valid_rep_i16(const int16_t * pSrcA, const uint32_t srcALen, const int16_t * pSrcB, const uint32_t srcBLen, int32_t * pRes) Glue code for convolution of 16-bit integer vectors in valid range. |
void | plp_conv_valid_rep_i8(const int8_t * pSrcA, const uint32_t srcALen, const int8_t * pSrcB, const uint32_t srcBLen, int32_t * pRes) Glue code for convolution of 8-bit integer vectors in valid range. |
Detailed Description
This module contains the glue code for Basic Convolution. The kernel codes (kernels) are in the Moducle Basic Convolution Kernels.
Functions Documentation
function plp_conv_i16
void plp_conv_i16(
const int16_t * pSrcA,
const uint32_t srcALen,
const int16_t * pSrcB,
const uint32_t srcBLen,
int32_t * pRes
)
Glue code for convolution of 16-bit integer vectors.
Parameters:
- pSrcA points to the first input vector
- srcALen Length of the first input vector
- pSrcB points to the second input vector
- srcBLen Length of the second input vector
- pRes output result returned here
Return: none
function plp_conv_i16_parallel
void plp_conv_i16_parallel(
const int16_t * pSrcA,
const uint32_t srcALen,
const int16_t * pSrcB,
const uint32_t srcBLen,
const uint8_t nPE,
int32_t * pRes
)
Glue code for parallel convolution of 16-bit integer vectors.
Parameters:
- pSrcA points to the first input vector
- srcALen Length of the first input vector
- pSrcB points to the second input vector
- srcBLen Length of the second input vector
- nPE Number of cores to compute on
- pRes output result returned here
Return: none
function plp_conv_i32
void plp_conv_i32(
const int32_t * pSrcA,
const uint32_t srcALen,
const int32_t * pSrcB,
const uint32_t srcBLen,
int32_t *__restrict__ pRes
)
Glue code for convolution of 32-bit integer vectors.
Parameters:
- pSrcA points to the first input vector
- srcALen Length of the first input vector
- pSrcB points to the second input vector
- srcBLen Length of the second input vector
- pRes output result returned here
Return: none
function plp_conv_i32_parallel
void plp_conv_i32_parallel(
const int32_t * pSrcA,
const uint32_t srcALen,
const int32_t * pSrcB,
const uint32_t srcBLen,
const uint8_t nPE,
int32_t * pRes
)
Glue code for parallel convolution of 32-bit integer vectors.
Parameters:
- pSrcA points to the first input vector
- srcALen Length of the first input vector
- pSrcB points to the second input vector
- srcBLen Length of the second input vector
- nPE Number of cores to compute on
- pRes output result returned here
Return: none
function plp_conv_i8
void plp_conv_i8(
const int8_t * pSrcA,
const uint32_t srcALen,
const int8_t * pSrcB,
const uint32_t srcBLen,
int32_t * pRes
)
Glue code for convolution of 8-bit integer vectors.
Parameters:
- pSrcA points to the first input vector
- srcALen Length of the first input vector
- pSrcB points to the second input vector
- srcBLen Length of the second input vector
- pRes output result returned here
Return: none
function plp_conv_i8_parallel
void plp_conv_i8_parallel(
const int8_t * pSrcA,
const uint32_t srcALen,
const int8_t * pSrcB,
const uint32_t srcBLen,
const uint8_t nPE,
int32_t * pRes
)
Glue code for parallel convolution of 8-bit integer vectors.
Parameters:
- pSrcA points to the first input vector
- srcALen Length of the first input vector
- pSrcB points to the second input vector
- srcBLen Length of the second input vector
- nPE Number of cores to compute on
- pRes output result returned here
Return: none
function plp_conv_valid_i16
void plp_conv_valid_i16(
const int16_t * pSrcA,
const uint32_t srcALen,
const int16_t * pSrcB,
const uint32_t srcBLen,
int32_t * pRes
)
Glue code for convolution of 16-bit integer vectors in valid range.
Parameters:
- pSrcA points to the first input vector
- srcALen ength of the first input vector
- pSrcB points to the second input vector
- srcBLen Length of the second input vector
- pRes output result returned here, of size |srcALen - srcBLen| + 1
Return: none
Glue code for convolution (valid) of 16-bit integer vectors.
function plp_conv_valid_i32
void plp_conv_valid_i32(
const int32_t * pSrcA,
const uint32_t srcALen,
const int32_t * pSrcB,
const uint32_t srcBLen,
int32_t * pRes
)
Glue code for convolution of 32-bit integer vectors in valid range.
Parameters:
- pSrcA points to the first input vector
- srcALen ength of the first input vector
- pSrcB points to the second input vector
- srcBLen Length of the second input vector
- pRes output result returned here, of size |srcALen - srcBLen| + 1
Return: none
Glue code for convolution (valid) of 32-bit integer vectors.
function plp_conv_valid_i8
void plp_conv_valid_i8(
const int8_t * pSrcA,
const uint32_t srcALen,
const int8_t * pSrcB,
const uint32_t srcBLen,
int32_t * pRes
)
Glue code for convolution of 8-bit integer vectors in valid range.
Parameters:
- pSrcA points to the first input vector
- srcALen ength of the first input vector
- pSrcB points to the second input vector
- srcBLen Length of the second input vector
- pRes output result returned here, of size |srcALen - srcBLen| + 1
Return: none
Glue code for convolution (valid) of 8-bit integer vectors.
function plp_conv_valid_rep_i16
void plp_conv_valid_rep_i16(
const int16_t * pSrcA,
const uint32_t srcALen,
const int16_t * pSrcB,
const uint32_t srcBLen,
int32_t * pRes
)
Glue code for convolution of 16-bit integer vectors in valid range.
Parameters:
- pSrcA points to the first input vector, must be on L2
- srcALen ength of the first input vector
- pSrcB points to the second input vector, must be on L2
- srcBLen Length of the second input vector
- pRes output result returned here, of size |srcALen - srcBLen| + 1, preferably in L1
Return: none
Glue code for convolution (valid with replication) of 16-bit integer vectors.
function plp_conv_valid_rep_i8
void plp_conv_valid_rep_i8(
const int8_t * pSrcA,
const uint32_t srcALen,
const int8_t * pSrcB,
const uint32_t srcBLen,
int32_t * pRes
)
Glue code for convolution of 8-bit integer vectors in valid range.
Parameters:
- pSrcA points to the first input vector, must be on L2
- srcALen ength of the first input vector
- pSrcB points to the second input vector, must be on L2
- srcBLen Length of the second input vector
- pRes output result returned here, of size |srcALen - srcBLen| + 1, preferably in L1
Return: none
Glue code for convolution (valid with data replication) of 8-bit integer vectors.
Updated on 2023-03-01 at 16:16:32 +0000