Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)  0.10
Performance library for Deep Learning
mkldnn.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright 2016-2017 Intel Corporation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *******************************************************************************/
16 
17 #ifndef MKLDNN_H
18 #define MKLDNN_H
19 
20 #ifndef DOXYGEN_SHOULD_SKIP_THIS
21 
22 /* All symbols shall be internal unless marked as MKLDNN_API */
23 #if defined _WIN32 || defined __CYGWIN__
24 # define MKLDNN_HELPER_DLL_IMPORT __declspec(dllimport)
25 # define MKLDNN_HELPER_DLL_EXPORT __declspec(dllexport)
26 #else
27 # if __GNUC__ >= 4
28 # define MKLDNN_HELPER_DLL_IMPORT __attribute__ ((visibility ("default")))
29 # define MKLDNN_HELPER_DLL_EXPORT __attribute__ ((visibility ("default")))
30 # else
31 # define MKLDNN_HELPER_DLL_IMPORT
32 # define MKLDNN_HELPER_DLL_EXPORT
33 # endif
34 #endif
35 
36 #ifdef MKLDNN_DLL
37 # ifdef MKLDNN_DLL_EXPORTS
38 # define MKLDNN_API MKLDNN_HELPER_DLL_EXPORT
39 # else
40 # define MKLDNN_API MKLDNN_HELPER_DLL_IMPORT
41 # endif
42 #else
43 # define MKLDNN_API
44 #endif
45 
46 #if defined (__GNUC__)
47 # define MKLDNN_DEPRECATED __attribute__((deprecated))
48 #elif defined(_MSC_VER)
49 # define MKLDNN_DEPRECATED __declspec(deprecated)
50 #else
51 # define MKLDNN_DEPRECATED
52 #endif
53 
54 #include "mkldnn_types.h"
55 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
56 
60 #ifdef __cplusplus
61 extern "C" {
62 #endif
63 
77  const_mkldnn_primitive_desc_t hint_forward_primitive_desc);
78 
83 
91 
95 
101  mkldnn_primitive_desc_t *primitive_desc,
102  const_mkldnn_op_desc_t op_desc, mkldnn_engine_t engine,
103  const_mkldnn_primitive_desc_t hint_forward_primitive_desc);
104 
107  mkldnn_primitive_desc_t *primitive_desc,
108  const_mkldnn_primitive_desc_t existing_primitive_desc);
109 
112  mkldnn_primitive_desc_t primitive_desc);
113 
118  const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what,
119  int index, void *result);
120 
125  const_mkldnn_primitive_desc_t primitive_desc);
126 
131  const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what,
132  int index);
133 
137 int MKLDNN_API mkldnn_primitive_desc_query_s32(
138  const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what,
139  int index);
140 
144  mkldnn_primitive_t *primitive,
145  const_mkldnn_primitive_desc_t primitive_desc,
146  const mkldnn_primitive_at_t *inputs,
147  const_mkldnn_primitive_t *outputs);
148 
156  const_mkldnn_primitive_t primitive,
157  const_mkldnn_primitive_desc_t *primitive_desc);
158 
161  const_mkldnn_primitive_t primitive, size_t index,
162  mkldnn_primitive_at_t *input);
163 
166  const_mkldnn_primitive_t primitive, size_t index,
167  const_mkldnn_primitive_t *output);
168 
171  mkldnn_primitive_t primitive);
172 
179  const_mkldnn_primitive_t primitive, size_t output_index);
180 
191  mkldnn_memory_desc_t *memory_desc, int ndims, const mkldnn_dims_t dims,
192  mkldnn_data_type_t data_type, mkldnn_memory_format_t format);
193 
198  mkldnn_primitive_desc_t *memory_primitive_desc,
199  const mkldnn_memory_desc_t *memory_desc, mkldnn_engine_t engine);
200 
205  mkldnn_primitive_desc_t *view_primitive_desc,
206  const_mkldnn_primitive_desc_t memory_primitive_desc,
207  const mkldnn_dims_t dims, const mkldnn_dims_t offsets);
208 
219 
222 /* XXX: view? */
223 size_t MKLDNN_API mkldnn_memory_primitive_desc_get_size(
224  const_mkldnn_primitive_desc_t memory_primitive_desc);
225 
228 /* XXX: view? */
230  const_mkldnn_primitive_t memory, void **handle);
231 
234  mkldnn_primitive_t memory, void *handle);
235 
245  mkldnn_primitive_desc_t *reorder_primitive_desc,
248 
261  mkldnn_primitive_desc_t *concat_primitive_desc,
262  const mkldnn_memory_desc_t *output_desc, int n, int concat_dimension,
263  const_mkldnn_primitive_desc_t *input_pds);
264 
265 #if 0
266 
276 mkldnn_status_t MKLDNN_API mkldnn_concat_inplace_by_input_primitive_desc_create(
277  mkldnn_primitive_desc_t *concat_primitive_desc,
278  int n, int concat_dimension, const_mkldnn_primitive_desc_t *inputs);
279 
288 mkldnn_status_t MKLDNN_API mkldnn_concat_inplace_by_output_primitive_desc_create(
289  mkldnn_primitive_desc_t *concat_primitive_desc,
290  const mkldnn_primitive_desc_t output, int n, int concat_dimension,
291  int *sizes);
292 #endif
293 
306  mkldnn_primitive_desc_t *sum_primitive_desc,
307  const mkldnn_memory_desc_t *output_desc, int n, double* scale,
308  const_mkldnn_primitive_desc_t *input_pds);
309 
310 
346  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
347  const mkldnn_memory_desc_t *weights_desc,
348  const mkldnn_memory_desc_t *bias_desc,
349  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
350  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
352 
367  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
368  const mkldnn_memory_desc_t *weights_desc,
369  const mkldnn_memory_desc_t *bias_desc,
370  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
371  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
373 
381  mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
382  const mkldnn_memory_desc_t *diff_src_desc,
383  const mkldnn_memory_desc_t *weights_desc,
384  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
385  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
387 
395  mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
396  const mkldnn_memory_desc_t *src_desc,
397  const mkldnn_memory_desc_t *diff_weights_desc,
398  const mkldnn_memory_desc_t *diff_bias_desc,
399  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
400  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
402 
417  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *data_desc,
418  double alpha, double beta);
419 
425  mkldnn_eltwise_desc_t *eltwise_desc, mkldnn_alg_kind_t alg_kind,
426  const mkldnn_memory_desc_t *diff_data_desc,
427  const mkldnn_memory_desc_t *data_desc, double alpha, double beta);
428 
444 MKLDNN_DEPRECATED
447  const mkldnn_memory_desc_t *data_desc, double negative_slope);
448 
454 MKLDNN_DEPRECATED
456  mkldnn_relu_desc_t *relu_desc,
457  const mkldnn_memory_desc_t *diff_data_desc,
458  const mkldnn_memory_desc_t *data_desc, double negative_slope);
459 
479  const mkldnn_memory_desc_t *data_desc, int softmax_axis);
480 
512  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
513  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
514  const mkldnn_dims_t kernel, const mkldnn_dims_t padding_l,
516 
524  mkldnn_pooling_desc_t *pool_desc, mkldnn_alg_kind_t alg_kind,
525  const mkldnn_memory_desc_t *diff_src_desc,
526  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
527  const mkldnn_dims_t kernel, const mkldnn_dims_t padding_l,
529 
557  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *data_desc,
558  int local_size, double alpha, double beta, double k);
559 
564  mkldnn_lrn_desc_t *lrn_desc, mkldnn_alg_kind_t alg_kind,
565  const mkldnn_memory_desc_t *diff_data_desc,
566  const mkldnn_memory_desc_t *data_desc, int local_size, double alpha,
567  double beta, double k);
568 
595  double epsilon, unsigned flags);
596 
607  const mkldnn_memory_desc_t *diff_data_desc,
608  const mkldnn_memory_desc_t *data_desc,
609  double epsilon, unsigned flags);
610 
634  const mkldnn_memory_desc_t *src_desc,
635  const mkldnn_memory_desc_t *weights_desc,
636  const mkldnn_memory_desc_t *bias_desc,
637  const mkldnn_memory_desc_t *dst_desc);
638 
647  const mkldnn_memory_desc_t *diff_src_desc,
648  const mkldnn_memory_desc_t *weights_desc,
649  const mkldnn_memory_desc_t *diff_dst_desc);
650 
659  const mkldnn_memory_desc_t *src_desc,
660  const mkldnn_memory_desc_t *diff_weights_desc,
661  const mkldnn_memory_desc_t *diff_bias_desc,
662  const mkldnn_memory_desc_t *diff_dst_desc);
663 
674  mkldnn_convolution_relu_desc_t *conv_relu_desc,
675  const mkldnn_convolution_desc_t *conv_desc, double negative_slope);
676 
685 size_t MKLDNN_API mkldnn_engine_get_count(mkldnn_engine_kind_t kind);
686 
689  mkldnn_engine_kind_t kind, size_t index);
690 
693  mkldnn_engine_kind_t *kind);
694 
697 
705  mkldnn_stream_kind_t stream_kind);
706 
711  size_t n, mkldnn_primitive_t primitives[],
712  mkldnn_primitive_t *error_primitive);
713 
718  int block, mkldnn_primitive_t *error_primitive);
719 
723  mkldnn_primitive_t *error_primitive);
724 
727 
732 #ifdef __cplusplus
733 }
734 #endif
735 
736 #endif
A descriptor of a Local Response Normalization (LRN) operation.
Definition: mkldnn_types.h:551
mkldnn_status_t MKLDNN_API mkldnn_convolution_backward_weights_desc_init(mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc, const mkldnn_memory_desc_t *diff_weights_desc, const mkldnn_memory_desc_t *diff_bias_desc, const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides, const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind)
Initializes a convolution descriptor conv_desc for backward propagation with respect to weights using...
mkldnn_status_t MKLDNN_API mkldnn_stream_destroy(mkldnn_stream_t stream)
Destroys an execution stream.
mkldnn_status_t
Status values returned by Intel(R) MKL-DNN functions.
Definition: mkldnn_types.h:39
A descriptor of a convolution operation.
Definition: mkldnn_types.h:428
mkldnn_status_t MKLDNN_API mkldnn_memory_primitive_desc_create(mkldnn_primitive_desc_t *memory_primitive_desc, const mkldnn_memory_desc_t *memory_desc, mkldnn_engine_t engine)
Creates a memory_primitive_desc memory primitive descriptor using memory_desc and engine...
mkldnn_status_t MKLDNN_API mkldnn_convolution_relu_desc_init(mkldnn_convolution_relu_desc_t *conv_relu_desc, const mkldnn_convolution_desc_t *conv_desc, double negative_slope)
Initializes a merged convolution-relu descriptor conv_relu_desc for forward propagation (supported in...
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_destroy(mkldnn_primitive_desc_t primitive_desc)
Deletes a primitive_desc.
mkldnn_status_t MKLDNN_API mkldnn_concat_primitive_desc_create(mkldnn_primitive_desc_t *concat_primitive_desc, const mkldnn_memory_desc_t *output_desc, int n, int concat_dimension, const_mkldnn_primitive_desc_t *input_pds)
Creates out-of-place concat_primitive_desc for concatenation of n inputs by concat_dimension with res...
An opaque structure to describe an engine.
mkldnn_status_t MKLDNN_API mkldnn_memory_desc_init(mkldnn_memory_desc_t *memory_desc, int ndims, const mkldnn_dims_t dims, mkldnn_data_type_t data_type, mkldnn_memory_format_t format)
Initializes a memory_desc memory descriptor using ndims, dims, data_type, and data format...
A descriptor of a Softmax operation.
Definition: mkldnn_types.h:503
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_clone(mkldnn_primitive_desc_t *primitive_desc, const_mkldnn_primitive_desc_t existing_primitive_desc)
Makes a copy of a primitive_desc.
mkldnn_status_t MKLDNN_API mkldnn_memory_get_data_handle(const_mkldnn_primitive_t memory, void **handle)
For a memory primitive, returns the data handle.
mkldnn_status_t MKLDNN_API mkldnn_convolution_backward_data_desc_init(mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *diff_src_desc, const mkldnn_memory_desc_t *weights_desc, const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides, const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind)
Initializes a convolution descriptor conv_desc for backward propagation with respect to data using al...
A descriptor of an inner product operation.
Definition: mkldnn_types.h:609
An opaque structure to describe a primitive descriptor .
padding_kind
Definition: mkldnn.hpp:549
mkldnn_status_t MKLDNN_API mkldnn_memory_set_data_handle(mkldnn_primitive_t memory, void *handle)
For a memory primitive, sets the data handle.
mkldnn_status_t MKLDNN_API mkldnn_lrn_backward_desc_init(mkldnn_lrn_desc_t *lrn_desc, mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *diff_data_desc, const mkldnn_memory_desc_t *data_desc, int local_size, double alpha, double beta, double k)
Initializes an lrn_desc for backward propagation using alg_kind, memory descriptors data_desc...
mkldnn_primitive_at_t MKLDNN_API mkldnn_primitive_at(const_mkldnn_primitive_t primitive, size_t output_index)
Creates an mkldnn_primitive_at_t structure from a primitive and output_index.
mkldnn_status_t MKLDNN_API mkldnn_softmax_forward_desc_init(mkldnn_softmax_desc_t *softmax_desc, mkldnn_prop_kind_t prop_kind, const mkldnn_memory_desc_t *data_desc, int softmax_axis)
Initializes a softmax_desc for forward propagation using prop_kind (possible value are mkldnn_forward...
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_iterator_next(mkldnn_primitive_desc_iterator_t iterator)
Iterates over primitive descriptors.
mkldnn_status_t MKLDNN_API mkldnn_pooling_backward_desc_init(mkldnn_pooling_desc_t *pool_desc, mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *diff_src_desc, const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides, const mkldnn_dims_t kernel, const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind)
Initializes a pooling descriptor pool_desc for backward propagation using alg_kind, memory descriptors, and pooling parameters in spatial domain: strides, kernel sizes, padding_l, padding_r, and padding_kind.
A descriptor of a convolution followed by relu operation.
Definition: mkldnn_types.h:638
mkldnn_status_t MKLDNN_API mkldnn_stream_submit(mkldnn_stream_t stream, size_t n, mkldnn_primitive_t primitives[], mkldnn_primitive_t *error_primitive)
Submits primitives to an execution stream.
mkldnn_status_t MKLDNN_API mkldnn_batch_normalization_backward_desc_init(mkldnn_batch_normalization_desc_t *bnrm_desc, mkldnn_prop_kind_t prop_kind, const mkldnn_memory_desc_t *diff_data_desc, const mkldnn_memory_desc_t *data_desc, double epsilon, unsigned flags)
Initializes a batch normalization descriptor bnrm_desc for backward propagation with respect to data ...
A descriptor of a element-wise operation.
Definition: mkldnn_types.h:470
mkldnn_status_t MKLDNN_API mkldnn_stream_wait(mkldnn_stream_t stream, int block, mkldnn_primitive_t *error_primitive)
Waits for all primitives in the execution stream to finish.
size_t MKLDNN_API mkldnn_engine_get_count(mkldnn_engine_kind_t kind)
Returns the number of engines of a particular kind.
Memory descriptor.
Definition: mkldnn_types.h:404
mkldnn_status_t MKLDNN_API mkldnn_inner_product_backward_data_desc_init(mkldnn_inner_product_desc_t *ip_desc, const mkldnn_memory_desc_t *diff_src_desc, const mkldnn_memory_desc_t *weights_desc, const mkldnn_memory_desc_t *diff_dst_desc)
Initializes an inner product descriptor ip_desc for backward propagation with respect to data using m...
const mkldnn_memory_desc_t MKLDNN_API * mkldnn_primitive_desc_query_memory_d(const_mkldnn_primitive_desc_t primitive_desc)
Queries primitive descriptor for memory descriptor.
mkldnn_status_t MKLDNN_API mkldnn_engine_create(mkldnn_engine_t *engine, mkldnn_engine_kind_t kind, size_t index)
Creates an engine of particular kind and index.
mkldnn_status_t MKLDNN_API mkldnn_convolution_forward_desc_init(mkldnn_convolution_desc_t *conv_desc, mkldnn_prop_kind_t prop_kind, mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc, const mkldnn_memory_desc_t *weights_desc, const mkldnn_memory_desc_t *bias_desc, const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides, const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind)
Initializes a convolution descriptor conv_desc for forward propagation using prop_kind (possible valu...
mkldnn_status_t MKLDNN_API mkldnn_view_primitive_desc_create(mkldnn_primitive_desc_t *view_primitive_desc, const_mkldnn_primitive_desc_t memory_primitive_desc, const mkldnn_dims_t dims, const mkldnn_dims_t offsets)
Creates a view_primitive_desc for a given memory_primitive_desc, with dims sizes and offset offsets...
mkldnn_memory_format_t
Memory format specification.
Definition: mkldnn_types.h:99
int MKLDNN_API mkldnn_memory_primitive_desc_equal(const_mkldnn_primitive_desc_t lhs, const_mkldnn_primitive_desc_t rhs)
Compares two descriptors of memory primitives.
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_query(const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what, int index, void *result)
Queries primitive descriptor.
An opaque structure to describe an execution stream.
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_iterator_destroy(mkldnn_primitive_desc_iterator_t iterator)
Deletes a primitive descriptor iterator.
mkldnn_status_t MKLDNN_API mkldnn_primitive_get_output(const_mkldnn_primitive_t primitive, size_t index, const_mkldnn_primitive_t *output)
For a primitive, returns output at the index position.
mkldnn_prop_kind_t
Kinds of propagation.
Definition: mkldnn_types.h:234
mkldnn_stream_kind_t
Kinds of streams.
Definition: mkldnn_types.h:805
mkldnn_status_t MKLDNN_API mkldnn_primitive_get_input_at(const_mkldnn_primitive_t primitive, size_t index, mkldnn_primitive_at_t *input)
For a primitive, returns input at the index position.
A wrapper structure to specify a particular output of a primitive.
Definition: mkldnn_types.h:719
mkldnn_status_t MKLDNN_API mkldnn_lrn_forward_desc_init(mkldnn_lrn_desc_t *lrn_desc, mkldnn_prop_kind_t prop_kind, mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *data_desc, int local_size, double alpha, double beta, double k)
Initializes an lrn_desc for forward propagation using prop_kind (possible values are mkldnn_forward_t...
mkldnn_status_t MKLDNN_API mkldnn_pooling_forward_desc_init(mkldnn_pooling_desc_t *pool_desc, mkldnn_prop_kind_t prop_kind, mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc, const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides, const mkldnn_dims_t kernel, const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind)
Initializes a pooling descriptor pool_desc for forward propagation using prop_kind (possible values a...
mkldnn_status_t MKLDNN_API mkldnn_stream_create(mkldnn_stream_t *stream, mkldnn_stream_kind_t stream_kind)
Creates an execution stream of stream_kind.
mkldnn_status_t MKLDNN_API mkldnn_primitive_get_primitive_desc(const_mkldnn_primitive_t primitive, const_mkldnn_primitive_desc_t *primitive_desc)
Retrieves a reference to the primitive_desc descriptor of given primitive.
mkldnn_query_t
Primitive descriptor query specification.
Definition: mkldnn_types.h:757
A descriptor of a Batch Normalization operation.
Definition: mkldnn_types.h:578
mkldnn_status_t MKLDNN_API mkldnn_eltwise_forward_desc_init(mkldnn_eltwise_desc_t *eltwise_desc, mkldnn_prop_kind_t prop_kind, mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *data_desc, double alpha, double beta)
Initializes a eltwise_desc for forward propagation using prop_kind (possible values are mkldnn_forwar...
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_create(mkldnn_primitive_desc_t *primitive_desc, const_mkldnn_op_desc_t op_desc, mkldnn_engine_t engine, const_mkldnn_primitive_desc_t hint_forward_primitive_desc)
Creates a primitive_desc using op_desc, engine, and optionally a hint primitive descriptor from forwa...
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_iterator_create(mkldnn_primitive_desc_iterator_t *iterator, const_mkldnn_op_desc_t op_desc, mkldnn_engine_t engine, const_mkldnn_primitive_desc_t hint_forward_primitive_desc)
Creates a primitive descriptor iterator for given op_desc, engine, and optionally a hint primitive de...
mkldnn_status_t MKLDNN_API mkldnn_stream_rerun(mkldnn_stream_t stream, mkldnn_primitive_t *error_primitive)
Reruns all the primitives within the stream.
A descriptor of a pooling operation.
Definition: mkldnn_types.h:517
mkldnn_primitive_desc_t MKLDNN_API mkldnn_primitive_desc_iterator_fetch(const_mkldnn_primitive_desc_iterator_t iterator)
Fetches current primitive descriptor.
int MKLDNN_API mkldnn_primitive_desc_query_s32(const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what, int index)
Queries primitive descriptor for signed 32bit int.
mkldnn_status_t MKLDNN_API mkldnn_reorder_primitive_desc_create(mkldnn_primitive_desc_t *reorder_primitive_desc, const_mkldnn_primitive_desc_t input, const_mkldnn_primitive_desc_t output)
Initializes a reorder_primitive_desc using descriptors of input and output memory primitives...
mkldnn_status_t MKLDNN_API mkldnn_eltwise_backward_desc_init(mkldnn_eltwise_desc_t *eltwise_desc, mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *diff_data_desc, const mkldnn_memory_desc_t *data_desc, double alpha, double beta)
Initializes a eltwise_desc for backward propagation using alg_kind algorithm memory descriptors diff_...
size_t MKLDNN_API mkldnn_memory_primitive_desc_get_size(const_mkldnn_primitive_desc_t memory_primitive_desc)
Returns the size (in bytes) that is required for given memory_primitive_desc.
MKLDNN_DEPRECATED mkldnn_status_t MKLDNN_API mkldnn_relu_backward_desc_init(mkldnn_relu_desc_t *relu_desc, const mkldnn_memory_desc_t *diff_data_desc, const mkldnn_memory_desc_t *data_desc, double negative_slope)
Initializes a relu_desc for backward propagation using negative_slope and memory descriptors diff_dat...
mkldnn_status_t MKLDNN_API mkldnn_primitive_create(mkldnn_primitive_t *primitive, const_mkldnn_primitive_desc_t primitive_desc, const mkldnn_primitive_at_t *inputs, const_mkldnn_primitive_t *outputs)
Creates a primitive using a primitive_desc descriptor and arrays of inputs and outputs.
mkldnn_status_t MKLDNN_API mkldnn_dilated_convolution_forward_desc_init(mkldnn_convolution_desc_t *conv_desc, mkldnn_prop_kind_t prop_kind, mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc, const mkldnn_memory_desc_t *weights_desc, const mkldnn_memory_desc_t *bias_desc, const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides, const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind)
Initializes a dilated convolution descriptor conv_desc for forward propagation using prop_kind (possi...
mkldnn_status_t MKLDNN_API mkldnn_engine_get_kind(mkldnn_engine_t engine, mkldnn_engine_kind_t *kind)
Returns the kind of an engine.
mkldnn_status_t MKLDNN_API mkldnn_engine_destroy(mkldnn_engine_t engine)
Destroys an engine.
mkldnn_padding_kind_t
Kinds of padding.
Definition: mkldnn_types.h:228
const_mkldnn_primitive_desc_t MKLDNN_API mkldnn_primitive_desc_query_pd(const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what, int index)
Queries primitive descriptor for primitive descriptor.
prop_kind
Definition: mkldnn.hpp:556
An opaque structure to describe a primitive.
mkldnn_data_type_t
Data type specification.
Definition: mkldnn_types.h:62
mkldnn_engine_kind_t
Kinds of engines.
Definition: mkldnn_types.h:655
const void * const_mkldnn_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: mkldnn_types.h:398
MKLDNN_DEPRECATED mkldnn_status_t MKLDNN_API mkldnn_relu_forward_desc_init(mkldnn_relu_desc_t *relu_desc, mkldnn_prop_kind_t prop_kind, const mkldnn_memory_desc_t *data_desc, double negative_slope)
Initializes a relu_desc for forward propagation using prop_kind (possible values are mkldnn_forward_t...
mkldnn_alg_kind_t
Kinds of algorithms.
Definition: mkldnn_types.h:297
int mkldnn_dims_t[TENSOR_MAX_DIMS]
A type to describe tensor dimensions.
Definition: mkldnn_types.h:371
mkldnn_status_t MKLDNN_API mkldnn_primitive_destroy(mkldnn_primitive_t primitive)
Deletes a primitive.
mkldnn_status_t MKLDNN_API mkldnn_inner_product_backward_weights_desc_init(mkldnn_inner_product_desc_t *ip_desc, const mkldnn_memory_desc_t *src_desc, const mkldnn_memory_desc_t *diff_weights_desc, const mkldnn_memory_desc_t *diff_bias_desc, const mkldnn_memory_desc_t *diff_dst_desc)
Initializes an inner product descriptor ip_desc for backward propagation with respect to weights usin...
mkldnn_status_t MKLDNN_API mkldnn_batch_normalization_forward_desc_init(mkldnn_batch_normalization_desc_t *bnrm_desc, mkldnn_prop_kind_t prop_kind, const mkldnn_memory_desc_t *data_desc, double epsilon, unsigned flags)
Initializes a batch normalization descriptor bnrm_desc for forward propagation using prop_kind...
An opaque structure to describe a primitive descriptor iterator .
mkldnn_status_t MKLDNN_API mkldnn_sum_primitive_desc_create(mkldnn_primitive_desc_t *sum_primitive_desc, const mkldnn_memory_desc_t *output_desc, int n, double *scale, const_mkldnn_primitive_desc_t *input_pds)
Creates out-of-place sum_primitive_desc for sum of n inputs multiplied by scale with resulting output...
mkldnn_status_t MKLDNN_API mkldnn_inner_product_forward_desc_init(mkldnn_inner_product_desc_t *ip_desc, mkldnn_prop_kind_t prop_kind, const mkldnn_memory_desc_t *src_desc, const mkldnn_memory_desc_t *weights_desc, const mkldnn_memory_desc_t *bias_desc, const mkldnn_memory_desc_t *dst_desc)
Initializes an inner product descriptor ip_desc for forward propagation using prop_kind (possible val...