Quantized convolution framework
A framework to accelerate Quantized convolution in Synet Framework. More...
Functions | |
SIMD_API void * | SimdSynetQuantizedConvolutionInit (size_t batch, const SimdConvolutionParameters *conv) |
Initilizes Quantized convolution algorithm. More... | |
SIMD_API size_t | SimdSynetQuantizedConvolutionExternalBufferSize (const void *context) |
Gets size in bytes of external temporary buffer required for Quantized convolution algorithm. More... | |
SIMD_API size_t | SimdSynetQuantizedConvolutionInternalBufferSize (const void *context) |
Gets size of internal buffer used inside Quantized convolution algorithm. More... | |
SIMD_API const char * | SimdSynetQuantizedConvolutionInfo (const void *context) |
Gets description of internal implementation of Quantized convolution algorithm. More... | |
SIMD_API void | SimdSynetQuantizedConvolutionSetParams (void *context, const float *srcScale, const uint8_t *srcZero, const int8_t *weight, const float *weightScale, const int32_t *bias, const float *params, const float *dstScale, const uint8_t *dstZero) |
Sets weights, biases, input/output parameters required for Quantized convolution algorithm. More... | |
SIMD_API void | SimdSynetQuantizedConvolutionForward (void *context, const uint8_t *src, uint8_t *buf, uint8_t *dst) |
Performs forward propagation of Quantized convolution algorithm. More... | |
Detailed Description
A framework to accelerate Quantized convolution in Synet Framework.
Function Documentation
◆ SimdSynetQuantizedConvolutionInit()
void * SimdSynetQuantizedConvolutionInit | ( | size_t | batch, |
const SimdConvolutionParameters * | conv | ||
) |
Initilizes Quantized convolution algorithm.
- Parameters
-
[in] batch - a batch size. [in] conv - a pointer to convolution parameters.
- Returns
- a pointer to Quantized convolution context. On error it returns NULL. It must be released with using of function SimdRelease. This pointer is used in functions SimdSynetQuantizedConvolutionExternalBufferSize, SimdSynetQuantizedConvolutionInternalBufferSize, SimdSynetQuantizedConvolutionInfo, SimdSynetQuantizedConvolutionSetParams and SimdSynetQuantizedConvolutionForward.
◆ SimdSynetQuantizedConvolutionExternalBufferSize()
size_t SimdSynetQuantizedConvolutionExternalBufferSize | ( | const void * | context | ) |
Gets size in bytes of external temporary buffer required for Quantized convolution algorithm.
- Parameters
-
[in] context - a pointer to Quantized convolution context. It must be created by function SimdSynetQuantizedConvolutionInit and released by function SimdRelease.
- Returns
- size of external temporary buffer required for Quantized convolution algorithm.
◆ SimdSynetQuantizedConvolutionInternalBufferSize()
size_t SimdSynetQuantizedConvolutionInternalBufferSize | ( | const void * | context | ) |
Gets size of internal buffer used inside Quantized convolution algorithm.
- Parameters
-
[in] context - a pointer to Quantized convolution context. It must be created by function SimdSynetQuantizedConvolutionInit and released by function SimdRelease.
- Returns
- size of internal buffer used inside Quantized convolution algorithm.
◆ SimdSynetQuantizedConvolutionInfo()
const char * SimdSynetQuantizedConvolutionInfo | ( | const void * | context | ) |
Gets description of internal implementation of Quantized convolution algorithm.
- Parameters
-
[in] context - a pointer to Quantized convolution context. It must be created by function SimdSynetQuantizedConvolutionInit and released by function SimdRelease.
- Returns
- string with description of internal implementation of Quantized convolution algorithm.
◆ SimdSynetQuantizedConvolutionSetParams()
void SimdSynetQuantizedConvolutionSetParams | ( | void * | context, |
const float * | srcScale, | ||
const uint8_t * | srcZero, | ||
const int8_t * | weight, | ||
const float * | weightScale, | ||
const int32_t * | bias, | ||
const float * | params, | ||
const float * | dstScale, | ||
const uint8_t * | dstZero | ||
) |
Sets weights, biases, input/output parameters required for Quantized convolution algorithm.
- Parameters
-
[in,out] context - a pointer to Quantized convolution context. It must be created by function SimdSynetQuantizedConvolutionInit and released by function SimdRelease. [in] srcScale - a pointer to 32-bit float point input tensor scale. [in] srcZero - a pointer to 8-bit unsigned integer input tensor zero. [in] weight - a pointer to 8-bit integer convolution weight. [in] weightScale - a pointer to 32-bit float point weight scale. [in] bias - a pointer to 32-bit integer bias. Can be NULL. [in] params - a pointer to 32-bit float point parameters of activation functions (see SimdConvolutionActivationType). Can be NULL. [in] dstScale - a pointer to 32-bit float point output tensor scale. [in] dstZero - a pointer to 8-bit unsigned integer output tensor zero.
◆ SimdSynetQuantizedConvolutionForward()
void SimdSynetQuantizedConvolutionForward | ( | void * | context, |
const uint8_t * | src, | ||
uint8_t * | buf, | ||
uint8_t * | dst | ||
) |
Performs forward propagation of Quantized convolution algorithm.
- Parameters
-
[in] context - a pointer to Quantized convolution context. It must be created by function SimdSynetQuantizedConvolutionInit 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 SimdSynetQuantizedConvolutionExternalBufferSize. Can be NULL (it causes usage of internal buffer). [out] dst - a pointer to output tensor.