A primitive to perform 1D, 2D or 3D convolution. More...
Classes | |
struct | dnnl::convolution_forward |
Convolution forward propagation primitive. More... | |
struct | dnnl::convolution_backward_data |
Convolution backward propagation primitive. More... | |
struct | dnnl::convolution_backward_weights |
Convolution weights gradient primitive. More... | |
struct | dnnl_convolution_desc_t |
A descriptor of a convolution operation. 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 descriptor for a convolution forward propagation primitive. 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 descriptor for a dilated convolution forward propagation primitive. 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 descriptor for a convolution backward propagation primitive. 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 descriptor for a dilated convolution backward propagation primitive. 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 descriptor for a convolution weights gradient primitive. 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 descriptor for a dilated convolution weights gradient primitive. More... | |
A primitive to perform 1D, 2D or 3D convolution.
Supported variants are forward propagation, backward propagation, and weights gradient with or without bias.
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 descriptor for a convolution forward propagation primitive.
Inputs:
Outputs:
conv_desc | Output descriptor for a convolution primitive. |
prop_kind | Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference. |
alg_kind | Convolution algorithm. Possible values are dnnl_convolution_direct, dnnl_convolution_winograd, dnnl_convolution_auto. |
src_desc | Source memory descriptor. |
weights_desc | Weights memory descriptor. |
bias_desc | Bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to dnnl_format_kind_undef disables the bias term. |
dst_desc | Destination memory descriptor. |
strides | Array of strides for spatial dimension. |
padding_l | Array of padding values for low indices for each spatial dimension (front, top, left). |
padding_r | Array of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical. |
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 descriptor for a dilated convolution forward propagation primitive.
Inputs:
Outputs:
conv_desc | Output descriptor for a convolution primitive. |
prop_kind | Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference. |
alg_kind | Convolution algorithm. Possible values are dnnl_convolution_direct, dnnl_convolution_winograd, dnnl_convolution_auto. |
src_desc | Source memory descriptor. |
weights_desc | Weights memory descriptor. |
bias_desc | Bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to dnnl_format_kind_undef disables the bias term. |
dst_desc | Destination memory descriptor. |
strides | Array of strides for spatial dimension. |
dilates | Array of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension. |
padding_l | Array of padding values for low indices for each spatial dimension (front, top, left). |
padding_r | Array of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical. |
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 descriptor for a convolution backward propagation primitive.
Inputs:
Outputs:
conv_desc | Output descriptor for a convolution primitive. |
alg_kind | Convolution algorithm. Possible values are dnnl_convolution_direct, dnnl_convolution_winograd, dnnl_convolution_auto. |
diff_src_desc | Diff source memory descriptor. |
weights_desc | Weights memory descriptor. |
diff_dst_desc | Diff destination memory descriptor. |
strides | Array of strides for spatial dimension. |
padding_l | Array of padding values for low indices for each spatial dimension (front, top, left). |
padding_r | Array of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical. |
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 descriptor for a dilated convolution backward propagation primitive.
Inputs:
Outputs:
conv_desc | Output descriptor for a convolution primitive. |
alg_kind | Convolution algorithm. Possible values are dnnl_convolution_direct, dnnl_convolution_winograd, dnnl_convolution_auto. |
diff_src_desc | Diff source memory descriptor. |
weights_desc | Weights memory descriptor. |
diff_dst_desc | Diff destination memory descriptor. |
strides | Array of strides for spatial dimension. |
dilates | Array of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension. |
padding_l | Array of padding values for low indices for each spatial dimension (front, top, left). |
padding_r | Array of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical. |
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 descriptor for a convolution weights gradient primitive.
Inputs:
Outputs:
conv_desc | Output descriptor for a convolution primitive. |
alg_kind | Convolution algorithm. Possible values are dnnl_convolution_direct, dnnl_convolution_winograd, dnnl_convolution_auto. |
src_desc | Source memory descriptor. |
diff_weights_desc | Diff weights memory descriptor. |
diff_bias_desc | Diff bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to dnnl_format_kind_undef disables the bias term. |
diff_dst_desc | Diff destination memory descriptor. |
strides | Array of strides for spatial dimension. |
padding_l | Array of padding values for low indices for each spatial dimension (front, top, left). |
padding_r | Array of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical. |
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 descriptor for a dilated convolution weights gradient primitive.
Inputs:
Outputs:
conv_desc | Output descriptor for a convolution primitive. |
alg_kind | Convolution algorithm. Possible values are dnnl_convolution_direct, dnnl_convolution_winograd, dnnl_convolution_auto. |
src_desc | Source memory descriptor. |
diff_weights_desc | Diff weights memory descriptor. |
diff_bias_desc | Diff bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to dnnl_format_kind_undef disables the bias term. |
diff_dst_desc | Diff destination memory descriptor. |
strides | Array of strides for spatial dimension. |
dilates | Array of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension. |
padding_l | Array of padding values for low indices for each spatial dimension (front, top, left). |
padding_r | Array of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical. |