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.