Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)  0.17
Performance library for Deep Learning
mkldnn.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright 2016-2018 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 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60 
77  const_mkldnn_primitive_desc_t hint_forward_primitive_desc);
78 
87  mkldnn_engine_t engine,
88  const_mkldnn_primitive_desc_t hint_forward_primitive_desc);
89 
94 
102 
106 
112  mkldnn_primitive_desc_t *primitive_desc,
113  const_mkldnn_op_desc_t op_desc, mkldnn_engine_t engine,
114  const_mkldnn_primitive_desc_t hint_forward_primitive_desc);
115 
121  mkldnn_primitive_desc_t *primitive_desc,
123  mkldnn_engine_t engine,
124  const_mkldnn_primitive_desc_t hint_forward_primitive_desc);
125 
128  mkldnn_primitive_desc_t *primitive_desc,
129  const_mkldnn_primitive_desc_t existing_primitive_desc);
130 
140  const_mkldnn_primitive_desc_t primitive_desc,
142 
145  mkldnn_primitive_desc_t primitive_desc);
146 
176  const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what,
177  int index, void *result);
178 
188  const_mkldnn_primitive_desc_t primitive_desc);
189 
205  const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what,
206  int index);
207 
217 int MKLDNN_API mkldnn_primitive_desc_query_s32(
218  const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what,
219  int index);
220 
224  mkldnn_primitive_t *primitive,
225  const_mkldnn_primitive_desc_t primitive_desc,
226  const mkldnn_primitive_at_t *inputs,
227  const_mkldnn_primitive_t *outputs);
228 
236  const_mkldnn_primitive_t primitive,
237  const_mkldnn_primitive_desc_t *primitive_desc);
238 
241  const_mkldnn_primitive_t primitive, size_t index,
242  mkldnn_primitive_at_t *input);
243 
246  const_mkldnn_primitive_t primitive, size_t index,
247  const_mkldnn_primitive_t *output);
248 
251  mkldnn_primitive_t primitive);
252 
259  const_mkldnn_primitive_t primitive, size_t output_index);
260 
275 
279  const_mkldnn_primitive_attr_t existing_attr);
280 
284 
289 
297 
311  const_mkldnn_primitive_attr_t attr, int *count, int *mask,
312  const float **scales);
313 
353  mkldnn_primitive_attr_t attr, int count, int mask,
354  const float *scales);
355 
366 
378 
385 
388 
390 int MKLDNN_API mkldnn_post_ops_len(const_mkldnn_post_ops_t post_ops);
391 
395  const_mkldnn_post_ops_t post_ops, int index);
396 
418  mkldnn_post_ops_t post_ops, float scale);
419 
428  const_mkldnn_post_ops_t post_ops, int index, float *scale);
429 
442  mkldnn_post_ops_t post_ops, float scale, mkldnn_alg_kind_t alg,
443  float alpha, float beta);
444 
449  const_mkldnn_post_ops_t post_ops, int index, float *scale,
450  mkldnn_alg_kind_t *alg, float *alpha, float *beta);
451 
540  mkldnn_memory_desc_t *memory_desc, int ndims, const mkldnn_dims_t dims,
541  mkldnn_data_type_t data_type, mkldnn_memory_format_t format);
542 
547  mkldnn_primitive_desc_t *memory_primitive_desc,
548  const mkldnn_memory_desc_t *memory_desc, mkldnn_engine_t engine);
549 
554  mkldnn_primitive_desc_t *view_primitive_desc,
555  const_mkldnn_primitive_desc_t memory_primitive_desc,
556  const mkldnn_dims_t dims, const mkldnn_dims_t offsets);
557 
568 
571 /* XXX: view? */
572 size_t MKLDNN_API mkldnn_memory_primitive_desc_get_size(
573  const_mkldnn_primitive_desc_t memory_primitive_desc);
574 
577 /* XXX: view? */
579  const_mkldnn_primitive_t memory, void **handle);
580 
583  mkldnn_primitive_t memory, void *handle);
584 
601  mkldnn_primitive_desc_t *reorder_primitive_desc,
604 
615  mkldnn_primitive_desc_t *reorder_primitive_desc,
619 
642  mkldnn_primitive_desc_t *concat_primitive_desc,
643  const mkldnn_memory_desc_t *output_desc, int n, int concat_dimension,
644  const_mkldnn_primitive_desc_t *input_pds);
645 
646 #if 0
647 
657 mkldnn_status_t MKLDNN_API mkldnn_concat_inplace_by_input_primitive_desc_create(
658  mkldnn_primitive_desc_t *concat_primitive_desc,
659  int n, int concat_dimension, const_mkldnn_primitive_desc_t *inputs);
660 
669 mkldnn_status_t MKLDNN_API mkldnn_concat_inplace_by_output_primitive_desc_create(
670  mkldnn_primitive_desc_t *concat_primitive_desc,
671  const mkldnn_primitive_desc_t output, int n, int concat_dimension,
672  int *sizes);
673 #endif
674 
697  mkldnn_primitive_desc_t *sum_primitive_desc,
698  const mkldnn_memory_desc_t *output_desc, int n, const float *scales,
699  const_mkldnn_primitive_desc_t *input_pds);
700 
745  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
746  const mkldnn_memory_desc_t *weights_desc,
747  const mkldnn_memory_desc_t *bias_desc,
748  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
749  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
751 
775  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
776  const mkldnn_memory_desc_t *weights_desc,
777  const mkldnn_memory_desc_t *bias_desc,
778  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
779  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
781 
797  mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
798  const mkldnn_memory_desc_t *diff_src_desc,
799  const mkldnn_memory_desc_t *weights_desc,
800  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
801  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
803 
819  mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
820  const mkldnn_memory_desc_t *diff_src_desc,
821  const mkldnn_memory_desc_t *weights_desc,
822  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
823  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
825 
842  mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
843  const mkldnn_memory_desc_t *src_desc,
844  const mkldnn_memory_desc_t *diff_weights_desc,
845  const mkldnn_memory_desc_t *diff_bias_desc,
846  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
847  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
849 
865 mkldnn_status_t MKLDNN_API
867  mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
868  const mkldnn_memory_desc_t *src_desc,
869  const mkldnn_memory_desc_t *diff_weights_desc,
870  const mkldnn_memory_desc_t *diff_bias_desc,
871  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
872  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
874 
905  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
906  const mkldnn_memory_desc_t *weights_desc,
907  const mkldnn_memory_desc_t *bias_desc,
908  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
909  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
911 
935  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
936  const mkldnn_memory_desc_t *weights_desc,
937  const mkldnn_memory_desc_t *bias_desc,
938  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
939  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
941 
957  mkldnn_deconvolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
958  const mkldnn_memory_desc_t *diff_src_desc,
959  const mkldnn_memory_desc_t *weights_desc,
960  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
961  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
963 
979  mkldnn_deconvolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
980  const mkldnn_memory_desc_t *diff_src_desc,
981  const mkldnn_memory_desc_t *weights_desc,
982  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
983  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
985 
1002  mkldnn_deconvolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
1003  const mkldnn_memory_desc_t *src_desc,
1004  const mkldnn_memory_desc_t *diff_weights_desc,
1005  const mkldnn_memory_desc_t *diff_bias_desc,
1006  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
1007  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
1009 
1026  mkldnn_deconvolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
1027  const mkldnn_memory_desc_t *src_desc,
1028  const mkldnn_memory_desc_t *diff_weights_desc,
1029  const mkldnn_memory_desc_t *diff_bias_desc,
1030  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
1031  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
1033 
1053  const mkldnn_memory_desc_t *data_desc, int axis, int group_size);
1054 
1067  mkldnn_shuffle_desc_t *shuffle_desc,
1068  const mkldnn_memory_desc_t *diff_data_desc, int axis, int group_size);
1069 
1103  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *data_desc,
1104  float alpha, float beta);
1105 
1120  mkldnn_eltwise_desc_t *eltwise_desc, mkldnn_alg_kind_t alg_kind,
1121  const mkldnn_memory_desc_t *diff_data_desc,
1122  const mkldnn_memory_desc_t *data_desc, float alpha, float beta);
1123 
1150  const mkldnn_memory_desc_t *data_desc, int softmax_axis);
1151 
1163  mkldnn_softmax_desc_t *softmax_desc,
1164  const mkldnn_memory_desc_t *diff_desc,
1165  const mkldnn_memory_desc_t *data_desc, int softmax_axis);
1166 
1213  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
1214  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
1215  const mkldnn_dims_t kernel, const mkldnn_dims_t padding_l,
1217 
1234  mkldnn_pooling_desc_t *pool_desc, mkldnn_alg_kind_t alg_kind,
1235  const mkldnn_memory_desc_t *diff_src_desc,
1236  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
1237  const mkldnn_dims_t kernel, const mkldnn_dims_t padding_l,
1239 
1288  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *data_desc,
1289  int local_size, float alpha, float beta, float k);
1290 
1305  mkldnn_lrn_desc_t *lrn_desc, mkldnn_alg_kind_t alg_kind,
1306  const mkldnn_memory_desc_t *diff_data_desc,
1307  const mkldnn_memory_desc_t *data_desc, int local_size, float alpha,
1308  float beta, float k);
1309 
1375  float epsilon, unsigned flags);
1376 
1407  const mkldnn_memory_desc_t *diff_data_desc,
1408  const mkldnn_memory_desc_t *data_desc,
1409  float epsilon, unsigned flags);
1410 
1444  const mkldnn_memory_desc_t *src_desc,
1445  const mkldnn_memory_desc_t *weights_desc,
1446  const mkldnn_memory_desc_t *bias_desc,
1447  const mkldnn_memory_desc_t *dst_desc);
1448 
1464  mkldnn_inner_product_desc_t *ip_desc,
1465  const mkldnn_memory_desc_t *diff_src_desc,
1466  const mkldnn_memory_desc_t *weights_desc,
1467  const mkldnn_memory_desc_t *diff_dst_desc);
1468 
1485  mkldnn_inner_product_desc_t *ip_desc,
1486  const mkldnn_memory_desc_t *src_desc,
1487  const mkldnn_memory_desc_t *diff_weights_desc,
1488  const mkldnn_memory_desc_t *diff_bias_desc,
1489  const mkldnn_memory_desc_t *diff_dst_desc);
1490 
1507  mkldnn_rnn_cell_desc_t *rnn_cell_desc,
1509  unsigned int flags, float alpha, float clipping);
1510 
1512 int MKLDNN_API mkldnn_rnn_cell_get_gates_count(
1513  const mkldnn_rnn_cell_desc_t *rnn_cell_desc);
1514 
1516 int MKLDNN_API mkldnn_rnn_cell_get_states_count(
1517  const mkldnn_rnn_cell_desc_t *rnn_cell_desc);
1518 
1548  mkldnn_primitive_attr_t attr, const float scale, const float shift);
1549 
1594  mkldnn_primitive_attr_t attr, int count, int mask,
1595  const float *weights_scales);
1596 
1624  const mkldnn_rnn_cell_desc_t *rnn_cell_desc,
1625  const mkldnn_rnn_direction_t direction,
1626  const mkldnn_memory_desc_t *src_layer_desc,
1627  const mkldnn_memory_desc_t *src_iter_desc,
1628  const mkldnn_memory_desc_t *weights_layer_desc,
1629  const mkldnn_memory_desc_t *weights_iter_desc,
1630  const mkldnn_memory_desc_t *bias_desc,
1631  const mkldnn_memory_desc_t *dst_layer_desc,
1632  const mkldnn_memory_desc_t *dst_iter_desc);
1633 
1666  const mkldnn_rnn_cell_desc_t *rnn_cell_desc,
1667  const mkldnn_rnn_direction_t direction,
1668  const mkldnn_memory_desc_t *src_layer_desc,
1669  const mkldnn_memory_desc_t *src_iter_desc,
1670  const mkldnn_memory_desc_t *weights_layer_desc,
1671  const mkldnn_memory_desc_t *weights_iter_desc,
1672  const mkldnn_memory_desc_t *bias_desc,
1673  const mkldnn_memory_desc_t *dst_layer_desc,
1674  const mkldnn_memory_desc_t *dst_iter_desc,
1675  const mkldnn_memory_desc_t *diff_src_layer_desc,
1676  const mkldnn_memory_desc_t *diff_src_iter_desc,
1677  const mkldnn_memory_desc_t *diff_weights_layer_desc,
1678  const mkldnn_memory_desc_t *diff_weights_iter_desc,
1679  const mkldnn_memory_desc_t *diff_bias_desc,
1680  const mkldnn_memory_desc_t *diff_dst_layer,
1681  const mkldnn_memory_desc_t *diff_dst_iter_desc);
1682 
1691 size_t MKLDNN_API mkldnn_engine_get_count(mkldnn_engine_kind_t kind);
1692 
1695  mkldnn_engine_kind_t kind, size_t index);
1696 
1699  mkldnn_engine_kind_t *kind);
1700 
1703 
1711  mkldnn_stream_kind_t stream_kind);
1712 
1717  size_t n, mkldnn_primitive_t primitives[],
1718  mkldnn_primitive_t *error_primitive);
1719 
1724  int block, mkldnn_primitive_t *error_primitive);
1725 
1729  mkldnn_primitive_t *error_primitive);
1730 
1733 
1747 mkldnn_status_t MKLDNN_API mkldnn_verbose_set(int level);
1748 
1765 mkldnn_status_t MKLDNN_API mkldnn_sgemm(const char *transa, const char *transb,
1766  const int *M, const int *N, const int *K,
1767  const float *alpha, const float *A, const int *lda,
1768  const float *B, const int *ldb,
1769  const float *beta, float *C, const int *ldc);
1770 
1790 mkldnn_status_t MKLDNN_API mkldnn_gemm_s8u8s32(const char *transa,
1791  const char *transb, const char *offsetc, const int *M, const int *N,
1792  const int *K, const float *alpha, const int8_t *A, const int *lda,
1793  const int8_t *ao, const uint8_t *B, const int *ldb, const int8_t *bo,
1794  const float *beta, int32_t *c, const int *ldc, const int32_t *co);
1795 
1796 mkldnn_status_t MKLDNN_API mkldnn_gemm_s8s8s32(const char *transa,
1797  const char *transb, const char *offsetc, const int *M, const int *N,
1798  const int *K, const float *alpha, const int8_t *A, const int *lda,
1799  const int8_t *ao, const int8_t *B, const int *ldb, const int8_t *bo,
1800  const float *beta, int32_t *c, const int *ldc, const int32_t *co);
1805 #ifdef __cplusplus
1806 }
1807 #endif
1808 
1809 #endif
A descriptor of a Local Response Normalization (LRN) operation.
Definition: mkldnn_types.h:822
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_primitive_attr_destroy(mkldnn_primitive_attr_t attr)
Deletes an attr.
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, const float *scales, 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_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:675
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_post_ops_create(mkldnn_post_ops_t *post_ops)
Creates an empty sequence of post operations post_ops.
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...
padding_kind
Definition: mkldnn.hpp:232
An opaque structure to describe an engine.
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_get_attr(const_mkldnn_primitive_desc_t primitive_desc, const_mkldnn_primitive_attr_t *attr)
Returns a constant reference to the attribute of a primitive_desc.
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...
mkldnn_status_t MKLDNN_API mkldnn_dilated_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 dilates, 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_primitive_attr_clone(mkldnn_primitive_attr_t *attr, const_mkldnn_primitive_attr_t existing_attr)
Makes a copy of an existing_attr.
A descriptor of a Softmax operation.
Definition: mkldnn_types.h:772
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:880
mkldnn_status_t MKLDNN_API mkldnn_post_ops_destroy(mkldnn_post_ops_t post_ops)
Deletes a post_ops sequence.
An opaque structure for a chain of post operations.
An opaque structure to describe a primitive descriptor .
mkldnn_rnn_direction_t
A direction of RNN primitive execution.
Definition: mkldnn_types.h:933
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_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, float epsilon, unsigned flags)
Initializes a batch normalization descriptor bnrm_desc for forward propagation using prop_kind...
mkldnn_status_t MKLDNN_API mkldnn_post_ops_append_eltwise(mkldnn_post_ops_t post_ops, float scale, mkldnn_alg_kind_t alg, float alpha, float beta)
Appends eltwise post operation to the post_ops with given parameters kind, alpha and beta (...
mkldnn_status_t MKLDNN_API mkldnn_deconvolution_backward_data_desc_init(mkldnn_deconvolution_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 deconvolution descriptor conv_desc for backward propagation with respect to data using ...
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_set_rnn_weights_qparams(mkldnn_primitive_attr_t attr, int count, int mask, const float *weights_scales)
Sets quantization scales weights_scales for RNN weights tensors.
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.
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_create(mkldnn_primitive_attr_t *attr)
Creates an empty (default) attr attribute.
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_rnn_cell_desc_init(mkldnn_rnn_cell_desc_t *rnn_cell_desc, mkldnn_alg_kind_t kind, mkldnn_alg_kind_t f, unsigned int flags, float alpha, float clipping)
Initializes a recurrent cell descriptor rnn_cell_desc using rnn_cell_desc, kind (possible values are ...
A descriptor of a element-wise operation.
Definition: mkldnn_types.h:737
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.
A descriptor for an rnn operation.
Definition: mkldnn_types.h:948
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_set_rnn_data_qparams(mkldnn_primitive_attr_t attr, const float scale, const float shift)
Sets quantization scale and shift for RNN data tensors.
size_t MKLDNN_API mkldnn_engine_get_count(mkldnn_engine_kind_t kind)
Returns the number of engines of a particular kind.
mkldnn_primitive_kind_t MKLDNN_API mkldnn_post_ops_get_kind(const_mkldnn_post_ops_t post_ops, int index)
Returns the type of post operation with index index in given post_ops.
Memory descriptor.
Definition: mkldnn_types.h:634
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.
prop_kind
Definition: mkldnn.hpp:240
mkldnn_status_t MKLDNN_API mkldnn_dilated_deconvolution_forward_desc_init(mkldnn_deconvolution_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 deconvolution descriptor deconv_desc for forward propagation using prop_kind (p...
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_primitive_attr_get_int_output_round_mode(const_mkldnn_primitive_attr_t attr, mkldnn_round_mode_t *round_mode)
Returns integer output rounding mode round_mode for a given attr, previously set by mkldnn_primitive_...
mkldnn_round_mode_t
Rounding mode.
Definition: mkldnn_types.h:78
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_status_t MKLDNN_API mkldnn_shuffle_forward_desc_init(mkldnn_shuffle_desc_t *shuffle_desc, mkldnn_prop_kind_t prop_kind, const mkldnn_memory_desc_t *data_desc, int axis, int group_size)
Initializes a shuffle_desc for forward propagation using prop_kind, memory descriptor data_desc...
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_get_output_scales(const_mkldnn_primitive_attr_t attr, int *count, int *mask, const float **scales)
Returns count, correspondence scale mask, and pointer to a constant floating point array of output sc...
round_mode
Definition: mkldnn.hpp:223
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_set_post_ops(mkldnn_primitive_attr_t attr, const_mkldnn_post_ops_t post_ops)
Sets configured post_ops to an attribute attr for future use (when primitive descriptor is being crea...
mkldnn_memory_format_t
Memory format specification.
Definition: mkldnn_types.h:135
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, float alpha, float beta)
Initializes a eltwise_desc for forward propagation using prop_kind (possible values are mkldnn_forwar...
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_verbose_set(int level)
Sets verbosity level (print information to stdout).
mkldnn_status_t MKLDNN_API mkldnn_deconvolution_forward_desc_init(mkldnn_deconvolution_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 deconvolution descriptor deconv_desc for forward propagation using prop_kind (possible ...
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.
A descriptor of a shuffle operation.
Definition: mkldnn_types.h:720
mkldnn_status_t MKLDNN_API mkldnn_dilated_deconvolution_backward_weights_desc_init(mkldnn_deconvolution_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 dilates, const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind)
Initializes a dilated deconvolution descriptor conv_desc for backward propagation with respect to wei...
An opaque structure to describe an execution stream.
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, float alpha, float beta)
Initializes a eltwise_desc for backward propagation using alg_kind algorithm memory descriptors diff_...
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_post_ops_append_sum(mkldnn_post_ops_t post_ops, float scale)
Appends accumulation (sum) post operation to the post_ops.
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_status_t MKLDNN_API mkldnn_shuffle_backward_desc_init(mkldnn_shuffle_desc_t *shuffle_desc, const mkldnn_memory_desc_t *diff_data_desc, int axis, int group_size)
Initializes a shuffle_desc for backward propagation using memory descriptor diff_data_desc, axis and group number.
mkldnn_prop_kind_t
Kinds of propagation.
Definition: mkldnn_types.h:377
mkldnn_stream_kind_t
Kinds of streams.
Definition: mkldnn_types.h:1196
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.
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_set_int_output_round_mode(mkldnn_primitive_attr_t attr, mkldnn_round_mode_t round_mode)
Sets output rounding mode round_mode for integer operations for a given attr.
A wrapper structure to specify a particular output of a primitive.
Definition: mkldnn_types.h:1107
mkldnn_status_t MKLDNN_API mkldnn_softmax_backward_desc_init(mkldnn_softmax_desc_t *softmax_desc, const mkldnn_memory_desc_t *diff_desc, const mkldnn_memory_desc_t *data_desc, int softmax_axis)
Initializes a softmax_desc for backward propagation using memory descriptors diff_desc and data_desc...
mkldnn_status_t MKLDNN_API mkldnn_gemm_s8u8s32(const char *transa, const char *transb, const char *offsetc, const int *M, const int *N, const int *K, const float *alpha, const int8_t *A, const int *lda, const int8_t *ao, const uint8_t *B, const int *ldb, const int8_t *bo, const float *beta, int32_t *c, const int *ldc, const int32_t *co)
gemm_s8u8s32 and gemm_s8s8s32 perform matrix-matrix multiplication operation and add the result to a ...
An opaque structure for primitive descriptor attributes.
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_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, float epsilon, unsigned flags)
Initializes a batch normalization descriptor bnrm_desc for backward propagation with respect to data ...
mkldnn_status_t MKLDNN_API mkldnn_gemm_s8s8s32(const char *transa, const char *transb, const char *offsetc, const int *M, const int *N, const int *K, const float *alpha, const int8_t *A, const int *lda, const int8_t *ao, const int8_t *B, const int *ldb, const int8_t *bo, const float *beta, int32_t *c, const int *ldc, const int32_t *co)
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_status_t MKLDNN_API mkldnn_post_ops_get_params_eltwise(const_mkldnn_post_ops_t post_ops, int index, float *scale, mkldnn_alg_kind_t *alg, float *alpha, float *beta)
Gets the eltwise parameters of the post operation with index index in the sequence of post_ops...
mkldnn_status_t MKLDNN_API mkldnn_post_ops_get_params_sum(const_mkldnn_post_ops_t post_ops, int index, float *scale)
Gets the parameters of the accumulation (sum) post operation with index index in the sequence of post...
mkldnn_query_t
Primitive descriptor query specification.
Definition: mkldnn_types.h:1146
A descriptor of a Batch Normalization operation.
Definition: mkldnn_types.h:849
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_reorder_primitive_desc_create_v2(mkldnn_primitive_desc_t *reorder_primitive_desc, const_mkldnn_primitive_desc_t input, const_mkldnn_primitive_desc_t output, const_mkldnn_primitive_attr_t attr)
Initializes a reorder_primitive_desc using an attr attribute and descriptors of input and output memo...
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_dilated_deconvolution_backward_data_desc_init(mkldnn_deconvolution_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 dilates, const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind)
Initializes a dilated deconvolution descriptor conv_desc for backward propagation with respect to dat...
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:788
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...
int MKLDNN_API mkldnn_rnn_cell_get_states_count(const mkldnn_rnn_cell_desc_t *rnn_cell_desc)
Returns the number of states of a particular rnn_cell_desc.
mkldnn_primitive_kind_t
Kinds of primitives.
Definition: mkldnn_types.h:404
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_status_t MKLDNN_API mkldnn_sgemm(const char *transa, const char *transb, const int *M, const int *N, const int *K, const float *alpha, const float *A, const int *lda, const float *B, const int *ldb, const float *beta, float *C, const int *ldc)
SGEMM performs matrix-matrix multiplication operation C := alpha*op( A )*op( B ) + beta*C...
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_get_post_ops(const_mkldnn_primitive_attr_t attr, const_mkldnn_post_ops_t *post_ops)
Returns post_ops for given attr.
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.
Definition: mkldnn_types.h:914
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_status_t MKLDNN_API mkldnn_dilated_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 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 backward propagation with respect to data ...
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, float alpha, float beta, float k)
Initializes an lrn_desc for backward propagation using alg_kind, memory descriptors data_desc...
mkldnn_padding_kind_t
Kinds of padding.
Definition: mkldnn_types.h:371
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.
An opaque structure to describe a primitive.
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_create_v2(mkldnn_primitive_desc_t *primitive_desc, const_mkldnn_op_desc_t op_desc, const_mkldnn_primitive_attr_t attr, mkldnn_engine_t engine, const_mkldnn_primitive_desc_t hint_forward_primitive_desc)
Creates a primitive_desc using op_desc, attr, engine, and optionally a hint primitive descriptor from...
mkldnn_data_type_t
Data type specification.
Definition: mkldnn_types.h:62
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, float alpha, float beta, float k)
Initializes an lrn_desc for forward propagation using prop_kind (possible values are mkldnn_forward_t...
mkldnn_engine_kind_t
Kinds of engines.
Definition: mkldnn_types.h:995
int MKLDNN_API mkldnn_rnn_cell_get_gates_count(const mkldnn_rnn_cell_desc_t *rnn_cell_desc)
Returns the number of gates of a particular rnn_cell_desc.
const void * const_mkldnn_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: mkldnn_types.h:628
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_iterator_create_v2(mkldnn_primitive_desc_iterator_t *iterator, const_mkldnn_op_desc_t op_desc, const_mkldnn_primitive_attr_t attr, mkldnn_engine_t engine, const_mkldnn_primitive_desc_t hint_forward_primitive_desc)
Creates a primitive descriptor iterator for given op_desc, attr, engine, and optionally a hint primit...
int MKLDNN_API mkldnn_post_ops_len(const_mkldnn_post_ops_t post_ops)
Returns the length of post operations for given post_ops.
mkldnn_alg_kind_t
Kinds of algorithms.
Definition: mkldnn_types.h:442
int mkldnn_dims_t[TENSOR_MAX_DIMS]
A type to describe tensor dimensions.
Definition: mkldnn_types.h:552
mkldnn_status_t MKLDNN_API mkldnn_primitive_destroy(mkldnn_primitive_t primitive)
Deletes a primitive.
mkldnn_status_t MKLDNN_API mkldnn_deconvolution_backward_weights_desc_init(mkldnn_deconvolution_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 deconvolution descriptor conv_desc for backward propagation with respect to weights usi...
mkldnn_status_t MKLDNN_API mkldnn_rnn_backward_desc_init(mkldnn_rnn_desc_t *rnn_desc, mkldnn_prop_kind_t prop_kind, const mkldnn_rnn_cell_desc_t *rnn_cell_desc, const mkldnn_rnn_direction_t direction, const mkldnn_memory_desc_t *src_layer_desc, const mkldnn_memory_desc_t *src_iter_desc, const mkldnn_memory_desc_t *weights_layer_desc, const mkldnn_memory_desc_t *weights_iter_desc, const mkldnn_memory_desc_t *bias_desc, const mkldnn_memory_desc_t *dst_layer_desc, const mkldnn_memory_desc_t *dst_iter_desc, const mkldnn_memory_desc_t *diff_src_layer_desc, const mkldnn_memory_desc_t *diff_src_iter_desc, const mkldnn_memory_desc_t *diff_weights_layer_desc, const mkldnn_memory_desc_t *diff_weights_iter_desc, const mkldnn_memory_desc_t *diff_bias_desc, const mkldnn_memory_desc_t *diff_dst_layer, const mkldnn_memory_desc_t *diff_dst_iter_desc)
Initializes a rnn descriptor rnn_desc for backward propagation using prop_kind, rnn_cell_desc, direction, and memory descriptors.
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_set_output_scales(mkldnn_primitive_attr_t attr, int count, int mask, const float *scales)
Sets output scales for primitive operations.
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_rnn_forward_desc_init(mkldnn_rnn_desc_t *rnn_desc, mkldnn_prop_kind_t prop_kind, const mkldnn_rnn_cell_desc_t *rnn_cell_desc, const mkldnn_rnn_direction_t direction, const mkldnn_memory_desc_t *src_layer_desc, const mkldnn_memory_desc_t *src_iter_desc, const mkldnn_memory_desc_t *weights_layer_desc, const mkldnn_memory_desc_t *weights_iter_desc, const mkldnn_memory_desc_t *bias_desc, const mkldnn_memory_desc_t *dst_layer_desc, const mkldnn_memory_desc_t *dst_iter_desc)
Initializes a rnn descriptor rnn_desc for forward propagation using prop_kind, rnn_cell_desc, direction, and memory descriptors.
An opaque structure to describe a primitive descriptor iterator .
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...