PULP DSP  Version 1.0
Digital Signal Processing library for PULP processors (pulp-platform.org)
 All Classes Files Functions Groups Pages
Modules | Functions
Basic Convolution

Modules

 Basic Convolution Kernels
 

Functions

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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

This module contains the glue code for Basic Convolution. The kernel codes (kernels) are in the Moducle Basic Convolution Kernels.

Function Documentation

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
[in]pSrcApoints to the first input vector
[in]srcALenLength of the first input vector
[in]pSrcBpoints to the second input vector
[in]srcBLenLength of the second input vector
[out]pResoutput result returned here
Returns
none
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
[in]pSrcApoints to the first input vector
[in]srcALenLength of the first input vector
[in]pSrcBpoints to the second input vector
[in]srcBLenLength of the second input vector
[in]nPENumber of cores to compute on
[out]pResoutput result returned here
Returns
none
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
[in]pSrcApoints to the first input vector
[in]srcALenLength of the first input vector
[in]pSrcBpoints to the second input vector
[in]srcBLenLength of the second input vector
[out]pResoutput result returned here
Returns
none
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
[in]pSrcApoints to the first input vector
[in]srcALenLength of the first input vector
[in]pSrcBpoints to the second input vector
[in]srcBLenLength of the second input vector
[in]nPENumber of cores to compute on
[out]pResoutput result returned here
Returns
none
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
[in]pSrcApoints to the first input vector
[in]srcALenLength of the first input vector
[in]pSrcBpoints to the second input vector
[in]srcBLenLength of the second input vector
[out]pResoutput result returned here
Returns
none
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
[in]pSrcApoints to the first input vector
[in]srcALenLength of the first input vector
[in]pSrcBpoints to the second input vector
[in]srcBLenLength of the second input vector
[in]nPENumber of cores to compute on
[out]pResoutput result returned here
Returns
none