DSPLIB User Guide
DSPLIB_minerror

Introduction

Performs a dot product on 256 pairs of 9 element vectors and searches for the pair of vectors which produces the maximum dot product result and returns the value of the highest dot product. This is a large part of the Vector sum excited linear prediction (VSELP) vocoder codebook search.

Data Structures

struct  DSPLIB_minerror_InitArgs
 Structure containing the parameters to initialize the kernel. More...
 

Functions

int32_t DSPLIB_minerror_getHandleSize (DSPLIB_minerror_InitArgs *pKerInitArgs)
 This is a query function to calculate the size of internal handle. More...
 
DSPLIB_STATUS DSPLIB_minerror_init (DSPLIB_kernelHandle handle, DSPLIB_bufParams2D_t *bufParamsIn, DSPLIB_bufParams1D_t *bufParamsErrCoefs, DSPLIB_bufParams1D_t *bufParamsOutIndex, DSPLIB_bufParams1D_t *bufParamsOutVal, DSPLIB_minerror_InitArgs *pKerInitArgs)
 This function should be called before the DSPLIB_minerror_exec function is called. This function takes care of any one-time operations such as setting up the configuration of required hardware resources such as the streaming engine. The results of these operations are stored in the handle. More...
 
DSPLIB_STATUS DSPLIB_minerror_init_checkParams (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsErrCoefs, const DSPLIB_bufParams1D_t *bufParamsOutIndex, const DSPLIB_bufParams1D_t *bufParamsOutVal, const DSPLIB_minerror_InitArgs *pKerInitArgs)
 This function checks the validity of the parameters passed to DSPLIB_minerror_init function. This function is called with the same parameters as the DSPLIB_minerror_init, and this function must be called before the DSPLIB_minerror_init is called. More...
 
DSPLIB_STATUS DSPLIB_minerror_exec_checkParams (DSPLIB_kernelHandle handle, const void *restrict pIn, const void *restrict pErrCoefs, const int *restrict pMaxIndex, const void *restrict pMaxVal)
 This function checks the validity of the parameters passed to DSPLIB_minerror_exec function. This function is called with the same parameters as the DSPLIB_minerror_init, and this function must be called before the DSPLIB_minerror_init is called. More...
 
DSPLIB_STATUS DSPLIB_minerror_exec (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pErrCoefs, int *restrict pMaxIndex, void *restrict pMaxVal)
 This function is the main kernel compute function. More...
 

Function Documentation

◆ DSPLIB_minerror_getHandleSize()

int32_t DSPLIB_minerror_getHandleSize ( DSPLIB_minerror_InitArgs pKerInitArgs)

This is a query function to calculate the size of internal handle.

Parameters
[in]pKerInitArgs: Pointer to structure holding init parameters
Returns
Size of the buffer in bytes
Remarks
Application is expected to allocate buffer of the requested size and provide it as input to other functions requiring it.

Definition at line 25 of file DSPLIB_minerror.cpp.

◆ DSPLIB_minerror_init()

DSPLIB_STATUS DSPLIB_minerror_init ( DSPLIB_kernelHandle  handle,
DSPLIB_bufParams2D_t bufParamsIn,
DSPLIB_bufParams1D_t bufParamsErrCoefs,
DSPLIB_bufParams1D_t bufParamsOutIndex,
DSPLIB_bufParams1D_t bufParamsOutVal,
DSPLIB_minerror_InitArgs pKerInitArgs 
)

This function should be called before the DSPLIB_minerror_exec function is called. This function takes care of any one-time operations such as setting up the configuration of required hardware resources such as the streaming engine. The results of these operations are stored in the handle.

Parameters
[in]handle: Active handle to the kernel
[in]bufParamsIn: Pointer to the structure containing dimensional information of input buffer
[in]bufParamsErrCoefs: Pointer to the structure containing error coefficients information of input buffer
[out]bufParamsOutIndex: Pointer to the structure containing information of ouput buffer
[out]bufParamsOutVal: Pointer to the structure containing information of ouput buffer
[in]pKerInitArgs: Pointer to the structure holding init parameters
Returns
Status value indicating success or failure. Refer to DSPLIB_STATUS.
Remarks
Application is expected to provide a valid handle.

Definition at line 90 of file DSPLIB_minerror.cpp.

◆ DSPLIB_minerror_init_checkParams()

DSPLIB_STATUS DSPLIB_minerror_init_checkParams ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsIn,
const DSPLIB_bufParams1D_t bufParamsErrCoefs,
const DSPLIB_bufParams1D_t bufParamsOutIndex,
const DSPLIB_bufParams1D_t bufParamsOutVal,
const DSPLIB_minerror_InitArgs pKerInitArgs 
)

This function checks the validity of the parameters passed to DSPLIB_minerror_init function. This function is called with the same parameters as the DSPLIB_minerror_init, and this function must be called before the DSPLIB_minerror_init is called.

Parameters
[in]handle: Active handle to the kernel
[in]bufParamsIn: Pointer to the structure containing dimensional information of input buffer
[in]bufParamsErrCoefs: Pointer to the structure containing error coefficients information of input buffer
[out]bufParamsOutIndex: Pointer to the structure containing information of ouput buffer
[out]bufParamsOutVal: Pointer to the structure containing information of ouput buffer
[in]pKerInitArgs: Pointer to the structure holding init parameters
Returns
Status value indicating success or failure. Refer to DSPLIB_STATUS.
Remarks
None

Definition at line 33 of file DSPLIB_minerror.cpp.

◆ DSPLIB_minerror_exec_checkParams()

DSPLIB_STATUS DSPLIB_minerror_exec_checkParams ( DSPLIB_kernelHandle  handle,
const void *restrict  pIn,
const void *restrict  pErrCoefs,
const int *restrict  pMaxIndex,
const void *restrict  pMaxVal 
)

This function checks the validity of the parameters passed to DSPLIB_minerror_exec function. This function is called with the same parameters as the DSPLIB_minerror_init, and this function must be called before the DSPLIB_minerror_init is called.

Parameters
[in]handle: Active handle to the kernel
[in]pIn: Pointer to buffer holding the input data
[in]pErrCoefs: Pointer to buffer holding the error coefficients
[out]pMaxIndex: Pointer to buffer holding the index to the element vector that resulted in the maximum dot product
[out]pMaxVal: Pointer to buffer holding the value of the maximum dot product
Returns
Status value indicating success or failure. Refer to DSPLIB_STATUS.
Remarks
None

Definition at line 70 of file DSPLIB_minerror.cpp.

◆ DSPLIB_minerror_exec()

DSPLIB_STATUS DSPLIB_minerror_exec ( DSPLIB_kernelHandle  handle,
void *restrict  pIn,
void *restrict  pErrCoefs,
int *restrict  pMaxIndex,
void *restrict  pMaxVal 
)

This function is the main kernel compute function.

Please refer to details under DSPLIB_minerror_exec

Parameters
[in]handle: Active handle to the kernel
[in]pIn: Pointer to buffer holding the input data
[in]pErrCoefs: Pointer to buffer holding the error coefficients
[out]pMaxIndex: Pointer to buffer holding the index to the element vector that resulted in the maximum dot product
[out]pMaxVal: Pointer to buffer holding the value of the maximum dot product
Returns
Status value indicating success or failure. Refer to DSPLIB_STATUS.
Assumptions:
  • None
Performance Considerations:
For best performance,
  • the input and output data buffers are expected to be in L2 memory
  • the buffer pointers are assumed to be 64-byte aligned
Remarks
Before calling this function, application is expected to call DSPLIB_minerror_init and DSPLIB_minerror_exec_checkParams functions. This ensures resource configuration and error checks are done only once for several invocations of this function.

Definition at line 205 of file DSPLIB_minerror.cpp.