Deep Neural Network Library (DNNL)  1.1.3
Performance library for Deep Learning
Functions

The convolution primitive computes a forward, backward, or weight update for a batched convolution operation on 1D, 2D, or 3D spatial data with bias. More...

Functions

dnnl_status_t DNNL_API dnnl_convolution_forward_desc_init (dnnl_convolution_desc_t *conv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a convolution descriptor conv_desc for forward propagation using prop_kind (possible values are dnnl_forward_training and dnnl_forward_inference), alg_kind, memory descriptors, strides, padding_l, and padding_r. More...
 
dnnl_status_t DNNL_API dnnl_dilated_convolution_forward_desc_init (dnnl_convolution_desc_t *conv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a dilated convolution descriptor conv_desc for forward propagation using prop_kind (possible values are dnnl_forward_training and dnnl_forward_inference), alg_kind, memory descriptors, strides, dilates, padding_l, and padding_r. More...
 
dnnl_status_t DNNL_API dnnl_convolution_backward_data_desc_init (dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a convolution descriptor conv_desc for backward propagation with respect to data using alg_kind, memory descriptors, strides, padding_l, and padding_r. More...
 
dnnl_status_t DNNL_API dnnl_dilated_convolution_backward_data_desc_init (dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a dilated convolution descriptor conv_desc for backward propagation with respect to data using alg_kind, memory descriptors, strides, dilates padding_l, and padding_r. More...
 
dnnl_status_t DNNL_API dnnl_convolution_backward_weights_desc_init (dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a convolution descriptor conv_desc for backward propagation with respect to weights using alg_kind, memory descriptors, strides, padding_l, and padding_r. More...
 
dnnl_status_t DNNL_API dnnl_dilated_convolution_backward_weights_desc_init (dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a convolution descriptor conv_desc for backward propagation with respect to weights using alg_kind, memory descriptors, strides, dilates padding_l, and padding_r. More...
 

Detailed Description

The convolution primitive computes a forward, backward, or weight update for a batched convolution operation on 1D, 2D, or 3D spatial data with bias.

See also
Convolution in developer guide
Convolution in C++ API

Function Documentation

◆ dnnl_convolution_forward_desc_init()

dnnl_status_t DNNL_API dnnl_convolution_forward_desc_init ( dnnl_convolution_desc_t conv_desc,
dnnl_prop_kind_t  prop_kind,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t src_desc,
const dnnl_memory_desc_t weights_desc,
const dnnl_memory_desc_t bias_desc,
const dnnl_memory_desc_t dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a convolution descriptor conv_desc for forward propagation using prop_kind (possible values are dnnl_forward_training and dnnl_forward_inference), alg_kind, memory descriptors, strides, padding_l, and padding_r.

In order to create a convolution without bias, bias_desc should either be NULL or point to a descriptor with memory format kind equal to dnnl_format_kind_undef.

Note
If padding_r is NULL, the padding is supposed to be symmetric.
Memory descriptors are allowed to be initialized with dnnl_format_kind_any value of format_kind.

Inputs:

Outputs:

Examples:
cnn_inference_f32.c, and cpu_cnn_training_f32.c.

◆ dnnl_dilated_convolution_forward_desc_init()

dnnl_status_t DNNL_API dnnl_dilated_convolution_forward_desc_init ( dnnl_convolution_desc_t conv_desc,
dnnl_prop_kind_t  prop_kind,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t src_desc,
const dnnl_memory_desc_t weights_desc,
const dnnl_memory_desc_t bias_desc,
const dnnl_memory_desc_t dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  dilates,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a dilated convolution descriptor conv_desc for forward propagation using prop_kind (possible values are dnnl_forward_training and dnnl_forward_inference), alg_kind, memory descriptors, strides, dilates, padding_l, and padding_r.

In order to create a dilated convolution without bias, bias_desc should either be NULL or point to a descriptor with memory format kind equals dnnl_format_kind_undef.

Note
If padding_r is NULL, the padding is supposed to be symmetric.
Memory descriptors are allowed to be initialized with dnnl_format_kind_any value of format_kind.

Inputs:

Outputs:

◆ dnnl_convolution_backward_data_desc_init()

dnnl_status_t DNNL_API dnnl_convolution_backward_data_desc_init ( dnnl_convolution_desc_t conv_desc,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t diff_src_desc,
const dnnl_memory_desc_t weights_desc,
const dnnl_memory_desc_t diff_dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a convolution descriptor conv_desc for backward propagation with respect to data using alg_kind, memory descriptors, strides, padding_l, and padding_r.

Note
Memory descriptors are allowed to be initialized with dnnl_format_kind_any value of format_kind.

Inputs:

Outputs:

◆ dnnl_dilated_convolution_backward_data_desc_init()

dnnl_status_t DNNL_API dnnl_dilated_convolution_backward_data_desc_init ( dnnl_convolution_desc_t conv_desc,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t diff_src_desc,
const dnnl_memory_desc_t weights_desc,
const dnnl_memory_desc_t diff_dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  dilates,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a dilated convolution descriptor conv_desc for backward propagation with respect to data using alg_kind, memory descriptors, strides, dilates padding_l, and padding_r.

Note
Memory descriptors are allowed to be initialized with dnnl_format_kind_any value of format_kind.

Inputs:

Outputs:

◆ dnnl_convolution_backward_weights_desc_init()

dnnl_status_t DNNL_API dnnl_convolution_backward_weights_desc_init ( dnnl_convolution_desc_t conv_desc,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t src_desc,
const dnnl_memory_desc_t diff_weights_desc,
const dnnl_memory_desc_t diff_bias_desc,
const dnnl_memory_desc_t diff_dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a convolution descriptor conv_desc for backward propagation with respect to weights using alg_kind, memory descriptors, strides, padding_l, and padding_r.

Note
Memory descriptors are allowed to be initialized with dnnl_format_kind_any value of format_kind.

Inputs:

Outputs:

Examples:
cpu_cnn_training_f32.c.

◆ dnnl_dilated_convolution_backward_weights_desc_init()

dnnl_status_t DNNL_API dnnl_dilated_convolution_backward_weights_desc_init ( dnnl_convolution_desc_t conv_desc,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t src_desc,
const dnnl_memory_desc_t diff_weights_desc,
const dnnl_memory_desc_t diff_bias_desc,
const dnnl_memory_desc_t diff_dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  dilates,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a convolution descriptor conv_desc for backward propagation with respect to weights using alg_kind, memory descriptors, strides, dilates padding_l, and padding_r.

Note
Memory descriptors are allowed to be initialized with dnnl_format_kind_any value of format_kind.

Inputs:

Outputs: