Simd Library Documentation.

Home | Release Notes | Download | Documentation | Issues | GitHub
FP32 deconvolution framework

A framework to accelerate FP32 deconvolution in Synet Framework. More...

Functions

SIMD_API void * SimdSynetDeconvolution32fInit (size_t batch, const SimdConvolutionParameters *conv, SimdGemm32fNNPtr gemm)
 Initilizes FP32 deconvolution algorithm. More...
 
SIMD_API size_t SimdSynetDeconvolution32fExternalBufferSize (const void *context)
 Gets size of external temporary buffer required for FP32 deconvolution algorithm. More...
 
SIMD_API size_t SimdSynetDeconvolution32fInternalBufferSize (const void *context)
 Gets size of internal buffer used inside FP32 deconvolution algorithm. More...
 
SIMD_API void SimdSynetDeconvolution32fSetParams (void *context, const float *weight, SimdBool *internal, const float *bias, const float *params)
 Sets weights, beases and parameters of activation function required for FP32 deconvolution algorithm. More...
 
SIMD_API void SimdSynetDeconvolution32fForward (void *context, const float *src, float *buf, float *dst)
 Performs forward propagation of FP32 deconvolution algorithm. More...
 

Detailed Description

A framework to accelerate FP32 deconvolution in Synet Framework.

Function Documentation

◆ SimdSynetDeconvolution32fInit()

void * SimdSynetDeconvolution32fInit ( size_t  batch,
const SimdConvolutionParameters conv,
SimdGemm32fNNPtr  gemm 
)

Initilizes FP32 deconvolution algorithm.

Parameters
[in]batch- a batch size.
[in]conv- a pointer to deconvolution parameters.
[in]gemm- a pointer to external function of matrix multiplication. Can be NULL.
Returns
a pointer to FP32 deconvolution context. On error it returns NULL. It must be released with using of function SimdRelease. This pointer is used in functions SimdSynetDeconvolution32fExternalBufferSize, SimdSynetDeconvolution32fInternalBufferSize, SimdSynetDeconvolution32fSetParams and SimdSynetDeconvolution32fForward.

◆ SimdSynetDeconvolution32fExternalBufferSize()

size_t SimdSynetDeconvolution32fExternalBufferSize ( const void *  context)

Gets size of external temporary buffer required for FP32 deconvolution algorithm.

Parameters
[in]context- a pointer to FP32 deconvolution context. It must be created by function SimdSynetDeconvolution32fInit and released by function SimdRelease.
Returns
size of external temporary buffer required for FP32 deconvolution algorithm.

◆ SimdSynetDeconvolution32fInternalBufferSize()

size_t SimdSynetDeconvolution32fInternalBufferSize ( const void *  context)

Gets size of internal buffer used inside FP32 deconvolution algorithm.

Parameters
[in]context- a pointer to FP32 deconvolution context. It must be created by function SimdSynetDeconvolution32fInit and released by function SimdRelease.
Returns
size of internal buffer used inside FP32 deconvolution algorithm.

◆ SimdSynetDeconvolution32fSetParams()

void SimdSynetDeconvolution32fSetParams ( void *  context,
const float *  weight,
SimdBool internal,
const float *  bias,
const float *  params 
)

Sets weights, beases and parameters of activation function required for FP32 deconvolution algorithm.

Parameters
[in,out]context- a pointer to FP32 deconvolution context. It must be created by function SimdSynetDeconvolution32fInit and released by function SimdRelease.
[in]weight- a pointer to deconvolution weights.
[out]internal- a flag signalized that weight is stored in the internal buffer. Can be NULL.
[in]bias- a pointer to bias. Can be NULL.
[in]params- a pointer to parameters of activation functions (see SimdConvolutionActivationType). Can be NULL.

◆ SimdSynetDeconvolution32fForward()

void SimdSynetDeconvolution32fForward ( void *  context,
const float *  src,
float *  buf,
float *  dst 
)

Performs forward propagation of FP32 deconvolution algorithm.

Parameters
[in]context- a pointer to FP32 deconvolution context. It must be created by function SimdSynetDeconvolution32fInit and released by function SimdRelease.
[in]src- a pointer to input tensor.
[out]buf- a pointer to external temporary buffer. The size of the external temporary buffer is determined by function SimdSynetDeconvolution32fExternalBufferSize. Can be NULL (it causes usage of internal buffer).
[out]dst- a pointer to output tensor.