Simd Library Documentation.

Home | Release Notes | Download | Documentation | Issues | GitHub
BF16 convolution framework

A framework to accelerate BF16 convolution in Synet Framework. More...

Functions

SIMD_API void * SimdSynetConvolution16bInit (size_t batch, const SimdConvolutionParameters *conv, SimdSynetCompatibilityType compatibility)
 Initilizes BF16 convolution algorithm. More...
 
SIMD_API size_t SimdSynetConvolution16bExternalBufferSize (const void *context)
 Gets size in bytes of external temporary buffer required for BF16 convolution algorithm. More...
 
SIMD_API size_t SimdSynetConvolution16bInternalBufferSize (const void *context)
 Gets size (in bytes) of internal buffer used inside BF16 convolution algorithm. More...
 
SIMD_API const char * SimdSynetConvolution16bInfo (const void *context)
 Gets description of internal implementation of BF16 convolution algorithm. More...
 
SIMD_API void SimdSynetConvolution16bForward (void *context, const uint8_t *src, uint8_t *buf, uint8_t *dst)
 Performs forward propagation of BF16 convolution algorithm. More...
 

Detailed Description

A framework to accelerate BF16 convolution in Synet Framework.

Function Documentation

◆ SimdSynetConvolution16bInit()

void * SimdSynetConvolution16bInit ( size_t  batch,
const SimdConvolutionParameters conv,
SimdSynetCompatibilityType  compatibility 
)

Initilizes BF16 convolution algorithm.

Parameters
[in]batch- a batch size.
[in]conv- a pointer to convolution parameters.
[in]compatibility- a flags of calculation compatibility.
Returns
a pointer to BF16 convolution context. On error it returns NULL. It must be released with using of function SimdRelease. This pointer is used in functions SimdSynetConvolution16bExternalBufferSize, SimdSynetConvolution16bInternalBufferSize, SimdSynetConvolution16bInfo, SimdSynetConvolution16bSetParams and SimdSynetConvolution16bForward.

◆ SimdSynetConvolution16bExternalBufferSize()

size_t SimdSynetConvolution16bExternalBufferSize ( const void *  context)

Gets size in bytes of external temporary buffer required for BF16 convolution algorithm.

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

◆ SimdSynetConvolution16bInternalBufferSize()

size_t SimdSynetConvolution16bInternalBufferSize ( const void *  context)

Gets size (in bytes) of internal buffer used inside BF16 convolution algorithm.

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

◆ SimdSynetConvolution16bInfo()

const char * SimdSynetConvolution16bInfo ( const void *  context)

Gets description of internal implementation of BF16 convolution algorithm.

Parameters
[in]context- a pointer to BF16 convolution context. It must be created by function SimdSynetConvolution16bInit and released by function SimdRelease.
Returns
string with description of internal implementation of BF16 convolution algorithm.

◆ SimdSynetConvolution16bForward()

void SimdSynetConvolution16bForward ( void *  context,
const uint8_t *  src,
uint8_t *  buf,
uint8_t *  dst 
)

Performs forward propagation of BF16 convolution algorithm.

Parameters
[in]context- a pointer to BF16 convolution context. It must be created by function SimdSynetConvolution16bInit 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 SimdSynetConvolution16bExternalBufferSize. Can be NULL (it causes usage of internal buffer).
[out]dst- a pointer to output tensor.