mxnet
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 #include "mkldnn_version.h"
56 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
57 
58 #ifdef __cplusplus
59 extern "C" {
60 #endif
61 
78  const_mkldnn_primitive_desc_t hint_forward_primitive_desc);
79 
88  mkldnn_engine_t engine,
89  const_mkldnn_primitive_desc_t hint_forward_primitive_desc);
90 
95 
103 
107 
113  mkldnn_primitive_desc_t *primitive_desc,
114  const_mkldnn_op_desc_t op_desc, mkldnn_engine_t engine,
115  const_mkldnn_primitive_desc_t hint_forward_primitive_desc);
116 
122  mkldnn_primitive_desc_t *primitive_desc,
124  mkldnn_engine_t engine,
125  const_mkldnn_primitive_desc_t hint_forward_primitive_desc);
126 
129  mkldnn_primitive_desc_t *primitive_desc,
130  const_mkldnn_primitive_desc_t existing_primitive_desc);
131 
142  const_mkldnn_primitive_desc_t primitive_desc,
144 
147  mkldnn_primitive_desc_t primitive_desc);
148 
178  const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what,
179  int index, void *result);
180 
190  const_mkldnn_primitive_desc_t primitive_desc);
191 
207  const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what,
208  int index);
209 
220  const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what,
221  int index);
222 
226  mkldnn_primitive_t *primitive,
227  const_mkldnn_primitive_desc_t primitive_desc,
228  const mkldnn_primitive_at_t *inputs,
229  const_mkldnn_primitive_t *outputs);
230 
238  const_mkldnn_primitive_t primitive,
239  const_mkldnn_primitive_desc_t *primitive_desc);
240 
243  const_mkldnn_primitive_t primitive, size_t index,
244  mkldnn_primitive_at_t *input);
245 
248  const_mkldnn_primitive_t primitive, size_t index,
249  const_mkldnn_primitive_t *output);
250 
253  mkldnn_primitive_t primitive);
254 
261  const_mkldnn_primitive_t primitive, size_t output_index);
262 
277 
281  const_mkldnn_primitive_attr_t existing_attr);
282 
286 
291 
299 
313  const_mkldnn_primitive_attr_t attr, int *count, int *mask,
314  const float **scales);
315 
356  mkldnn_primitive_attr_t attr, int count, int mask,
357  const float *scales);
358 
369 
381 
388 
391 
394 
398  const_mkldnn_post_ops_t post_ops, int index);
399 
422  mkldnn_post_ops_t post_ops, float scale);
423 
432  const_mkldnn_post_ops_t post_ops, int index, float *scale);
433 
446  mkldnn_post_ops_t post_ops, float scale, mkldnn_alg_kind_t alg,
447  float alpha, float beta);
448 
453  const_mkldnn_post_ops_t post_ops, int index, float *scale,
454  mkldnn_alg_kind_t *alg, float *alpha, float *beta);
455 
545  mkldnn_memory_desc_t *memory_desc, int ndims, const mkldnn_dims_t dims,
546  mkldnn_data_type_t data_type, mkldnn_memory_format_t format);
547 
552  mkldnn_primitive_desc_t *memory_primitive_desc,
553  const mkldnn_memory_desc_t *memory_desc, mkldnn_engine_t engine);
554 
560  mkldnn_primitive_desc_t *view_primitive_desc,
561  const_mkldnn_primitive_desc_t memory_primitive_desc,
562  const mkldnn_dims_t dims, const mkldnn_dims_t offsets);
563 
574 
577 /* XXX: view? */
579  const_mkldnn_primitive_desc_t memory_primitive_desc);
580 
583 /* XXX: view? */
585  const_mkldnn_primitive_t memory, void **handle);
586 
589  mkldnn_primitive_t memory, void *handle);
590 
607  mkldnn_primitive_desc_t *reorder_primitive_desc,
610 
621  mkldnn_primitive_desc_t *reorder_primitive_desc,
625 
648  mkldnn_primitive_desc_t *concat_primitive_desc,
649  const mkldnn_memory_desc_t *output_desc, int n, int concat_dimension,
650  const_mkldnn_primitive_desc_t *input_pds);
651 
652 #if 0
653 
663 mkldnn_status_t MKLDNN_API mkldnn_concat_inplace_by_input_primitive_desc_create(
664  mkldnn_primitive_desc_t *concat_primitive_desc,
665  int n, int concat_dimension, const_mkldnn_primitive_desc_t *inputs);
666 
675 mkldnn_status_t MKLDNN_API mkldnn_concat_inplace_by_output_primitive_desc_create(
676  mkldnn_primitive_desc_t *concat_primitive_desc,
677  const mkldnn_primitive_desc_t output, int n, int concat_dimension,
678  int *sizes);
679 #endif
680 
703  mkldnn_primitive_desc_t *sum_primitive_desc,
704  const mkldnn_memory_desc_t *output_desc, int n, const float *scales,
705  const_mkldnn_primitive_desc_t *input_pds);
706 
750  mkldnn_convolution_desc_t *conv_desc, mkldnn_prop_kind_t prop_kind,
751  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
752  const mkldnn_memory_desc_t *weights_desc,
753  const mkldnn_memory_desc_t *bias_desc,
754  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
755  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
756  mkldnn_padding_kind_t padding_kind);
757 
780  mkldnn_convolution_desc_t *conv_desc, mkldnn_prop_kind_t prop_kind,
781  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
782  const mkldnn_memory_desc_t *weights_desc,
783  const mkldnn_memory_desc_t *bias_desc,
784  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
785  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
786  const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind);
787 
803  mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
804  const mkldnn_memory_desc_t *diff_src_desc,
805  const mkldnn_memory_desc_t *weights_desc,
806  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
807  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
808  mkldnn_padding_kind_t padding_kind);
809 
825  mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
826  const mkldnn_memory_desc_t *diff_src_desc,
827  const mkldnn_memory_desc_t *weights_desc,
828  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
829  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
830  const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind);
831 
848  mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
849  const mkldnn_memory_desc_t *src_desc,
850  const mkldnn_memory_desc_t *diff_weights_desc,
851  const mkldnn_memory_desc_t *diff_bias_desc,
852  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
853  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
854  mkldnn_padding_kind_t padding_kind);
855 
873  mkldnn_convolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
874  const mkldnn_memory_desc_t *src_desc,
875  const mkldnn_memory_desc_t *diff_weights_desc,
876  const mkldnn_memory_desc_t *diff_bias_desc,
877  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
878  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
879  const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind);
880 
910  mkldnn_deconvolution_desc_t *conv_desc, mkldnn_prop_kind_t prop_kind,
911  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
912  const mkldnn_memory_desc_t *weights_desc,
913  const mkldnn_memory_desc_t *bias_desc,
914  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
915  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
916  mkldnn_padding_kind_t padding_kind);
917 
940  mkldnn_deconvolution_desc_t *conv_desc, mkldnn_prop_kind_t prop_kind,
941  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
942  const mkldnn_memory_desc_t *weights_desc,
943  const mkldnn_memory_desc_t *bias_desc,
944  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
945  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
946  const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind);
947 
963  mkldnn_deconvolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
964  const mkldnn_memory_desc_t *diff_src_desc,
965  const mkldnn_memory_desc_t *weights_desc,
966  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
967  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
968  mkldnn_padding_kind_t padding_kind);
969 
985  mkldnn_deconvolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
986  const mkldnn_memory_desc_t *diff_src_desc,
987  const mkldnn_memory_desc_t *weights_desc,
988  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
989  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
990  const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind);
991 
1008  mkldnn_deconvolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
1009  const mkldnn_memory_desc_t *src_desc,
1010  const mkldnn_memory_desc_t *diff_weights_desc,
1011  const mkldnn_memory_desc_t *diff_bias_desc,
1012  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
1013  const mkldnn_dims_t padding_l, const mkldnn_dims_t padding_r,
1014  mkldnn_padding_kind_t padding_kind);
1015 
1032  mkldnn_deconvolution_desc_t *conv_desc, mkldnn_alg_kind_t alg_kind,
1033  const mkldnn_memory_desc_t *src_desc,
1034  const mkldnn_memory_desc_t *diff_weights_desc,
1035  const mkldnn_memory_desc_t *diff_bias_desc,
1036  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
1037  const mkldnn_dims_t dilates, const mkldnn_dims_t padding_l,
1038  const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind);
1039 
1057  mkldnn_shuffle_desc_t *shuffle_desc, mkldnn_prop_kind_t prop_kind,
1058  const mkldnn_memory_desc_t *data_desc, int axis, int group_size);
1059 
1072  mkldnn_shuffle_desc_t *shuffle_desc,
1073  const mkldnn_memory_desc_t *diff_data_desc, int axis, int group_size);
1074 
1107  mkldnn_eltwise_desc_t *eltwise_desc, mkldnn_prop_kind_t prop_kind,
1108  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *data_desc,
1109  float alpha, float beta);
1110 
1125  mkldnn_eltwise_desc_t *eltwise_desc, mkldnn_alg_kind_t alg_kind,
1126  const mkldnn_memory_desc_t *diff_data_desc,
1127  const mkldnn_memory_desc_t *data_desc, float alpha, float beta);
1128 
1154  mkldnn_softmax_desc_t *softmax_desc, mkldnn_prop_kind_t prop_kind,
1155  const mkldnn_memory_desc_t *data_desc, int softmax_axis);
1156 
1168  mkldnn_softmax_desc_t *softmax_desc,
1169  const mkldnn_memory_desc_t *diff_desc,
1170  const mkldnn_memory_desc_t *data_desc, int softmax_axis);
1171 
1217  mkldnn_pooling_desc_t *pool_desc, mkldnn_prop_kind_t prop_kind,
1218  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *src_desc,
1219  const mkldnn_memory_desc_t *dst_desc, const mkldnn_dims_t strides,
1220  const mkldnn_dims_t kernel, const mkldnn_dims_t padding_l,
1221  const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind);
1222 
1239  mkldnn_pooling_desc_t *pool_desc, mkldnn_alg_kind_t alg_kind,
1240  const mkldnn_memory_desc_t *diff_src_desc,
1241  const mkldnn_memory_desc_t *diff_dst_desc, const mkldnn_dims_t strides,
1242  const mkldnn_dims_t kernel, const mkldnn_dims_t padding_l,
1243  const mkldnn_dims_t padding_r, mkldnn_padding_kind_t padding_kind);
1244 
1292  mkldnn_lrn_desc_t *lrn_desc, mkldnn_prop_kind_t prop_kind,
1293  mkldnn_alg_kind_t alg_kind, const mkldnn_memory_desc_t *data_desc,
1294  int local_size, float alpha, float beta, float k);
1295 
1310  mkldnn_lrn_desc_t *lrn_desc, mkldnn_alg_kind_t alg_kind,
1311  const mkldnn_memory_desc_t *diff_data_desc,
1312  const mkldnn_memory_desc_t *data_desc, int local_size, float alpha,
1313  float beta, float k);
1314 
1379  mkldnn_prop_kind_t prop_kind, const mkldnn_memory_desc_t *data_desc,
1380  float epsilon, unsigned flags);
1381 
1411  mkldnn_prop_kind_t prop_kind,
1412  const mkldnn_memory_desc_t *diff_data_desc,
1413  const mkldnn_memory_desc_t *data_desc,
1414  float epsilon, unsigned flags);
1415 
1448  mkldnn_inner_product_desc_t *ip_desc, mkldnn_prop_kind_t prop_kind,
1449  const mkldnn_memory_desc_t *src_desc,
1450  const mkldnn_memory_desc_t *weights_desc,
1451  const mkldnn_memory_desc_t *bias_desc,
1452  const mkldnn_memory_desc_t *dst_desc);
1453 
1469  mkldnn_inner_product_desc_t *ip_desc,
1470  const mkldnn_memory_desc_t *diff_src_desc,
1471  const mkldnn_memory_desc_t *weights_desc,
1472  const mkldnn_memory_desc_t *diff_dst_desc);
1473 
1490  mkldnn_inner_product_desc_t *ip_desc,
1491  const mkldnn_memory_desc_t *src_desc,
1492  const mkldnn_memory_desc_t *diff_weights_desc,
1493  const mkldnn_memory_desc_t *diff_bias_desc,
1494  const mkldnn_memory_desc_t *diff_dst_desc);
1495 
1512  mkldnn_rnn_cell_desc_t *rnn_cell_desc,
1514  unsigned int flags, float alpha, float clipping);
1515 
1518  const mkldnn_rnn_cell_desc_t *rnn_cell_desc);
1519 
1522  const mkldnn_rnn_cell_desc_t *rnn_cell_desc);
1523 
1553  mkldnn_primitive_attr_t attr, const float scale, const float shift);
1554 
1599  mkldnn_primitive_attr_t attr, int count, int mask,
1600  const float *weights_scales);
1601 
1628  mkldnn_rnn_desc_t *rnn_desc, mkldnn_prop_kind_t prop_kind,
1629  const mkldnn_rnn_cell_desc_t *rnn_cell_desc,
1630  const mkldnn_rnn_direction_t direction,
1631  const mkldnn_memory_desc_t *src_layer_desc,
1632  const mkldnn_memory_desc_t *src_iter_desc,
1633  const mkldnn_memory_desc_t *weights_layer_desc,
1634  const mkldnn_memory_desc_t *weights_iter_desc,
1635  const mkldnn_memory_desc_t *bias_desc,
1636  const mkldnn_memory_desc_t *dst_layer_desc,
1637  const mkldnn_memory_desc_t *dst_iter_desc);
1638 
1670  mkldnn_rnn_desc_t *rnn_desc, mkldnn_prop_kind_t prop_kind,
1671  const mkldnn_rnn_cell_desc_t *rnn_cell_desc,
1672  const mkldnn_rnn_direction_t direction,
1673  const mkldnn_memory_desc_t *src_layer_desc,
1674  const mkldnn_memory_desc_t *src_iter_desc,
1675  const mkldnn_memory_desc_t *weights_layer_desc,
1676  const mkldnn_memory_desc_t *weights_iter_desc,
1677  const mkldnn_memory_desc_t *bias_desc,
1678  const mkldnn_memory_desc_t *dst_layer_desc,
1679  const mkldnn_memory_desc_t *dst_iter_desc,
1680  const mkldnn_memory_desc_t *diff_src_layer_desc,
1681  const mkldnn_memory_desc_t *diff_src_iter_desc,
1682  const mkldnn_memory_desc_t *diff_weights_layer_desc,
1683  const mkldnn_memory_desc_t *diff_weights_iter_desc,
1684  const mkldnn_memory_desc_t *diff_bias_desc,
1685  const mkldnn_memory_desc_t *diff_dst_layer,
1686  const mkldnn_memory_desc_t *diff_dst_iter_desc);
1687 
1697 
1700  mkldnn_engine_kind_t kind, size_t index);
1701 
1704  mkldnn_engine_kind_t *kind);
1705 
1708 
1716  mkldnn_stream_kind_t stream_kind);
1717 
1722  size_t n, mkldnn_primitive_t primitives[],
1723  mkldnn_primitive_t *error_primitive);
1724 
1729  int block, mkldnn_primitive_t *error_primitive);
1730 
1734  mkldnn_primitive_t *error_primitive);
1735 
1738 
1754 
1763 
1771 
1797 mkldnn_status_t MKLDNN_API mkldnn_sgemm(const char *transa, const char *transb,
1798  const int *M, const int *N, const int *K,
1799  const float *alpha, const float *A, const int *lda,
1800  const float *B, const int *ldb,
1801  const float *beta, float *C, const int *ldc);
1802 
1830  const char *transb, const char *offsetc, const int *M, const int *N,
1831  const int *K, const float *alpha, const int8_t *A, const int *lda,
1832  const int8_t *ao, const uint8_t *B, const int *ldb, const int8_t *bo,
1833  const float *beta, int32_t *c, const int *ldc, const int32_t *co);
1834 
1836  const char *transb, const char *offsetc, const int *M, const int *N,
1837  const int *K, const float *alpha, const int8_t *A, const int *lda,
1838  const int8_t *ao, const int8_t *B, const int *ldb, const int8_t *bo,
1839  const float *beta, int32_t *c, const int *ldc, const int32_t *co);
1844 #ifdef __cplusplus
1845 }
1846 #endif
1847 
1848 #endif
Definition: mkldnn_types.h:880
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)
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_destroy(mkldnn_primitive_attr_t 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)
mkldnn_status_t MKLDNN_API mkldnn_stream_destroy(mkldnn_stream_t stream)
mkldnn_status_t
Definition: mkldnn_types.h:47
Definition: mkldnn_types.h:733
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)
mkldnn_status_t MKLDNN_API mkldnn_post_ops_create(mkldnn_post_ops_t *post_ops)
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_destroy(mkldnn_primitive_desc_t 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)
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)
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)
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)
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_clone(mkldnn_primitive_attr_t *attr, const_mkldnn_primitive_attr_t existing_attr)
Definition: mkldnn_types.h:830
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_clone(mkldnn_primitive_desc_t *primitive_desc, const_mkldnn_primitive_desc_t existing_primitive_desc)
mkldnn_status_t MKLDNN_API mkldnn_memory_get_data_handle(const_mkldnn_primitive_t memory, void **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)
Definition: mkldnn_types.h:938
mkldnn_status_t MKLDNN_API mkldnn_post_ops_destroy(mkldnn_post_ops_t post_ops)
An opaque structure for a chain of post operations.
An opaque structure to describe a primitive descriptor.
mkldnn_rnn_direction_t
Definition: mkldnn_types.h:991
mkldnn_status_t MKLDNN_API mkldnn_memory_set_data_handle(mkldnn_primitive_t memory, void *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)
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)
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)
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)
mkldnn_primitive_at_t MKLDNN_API mkldnn_primitive_at(const_mkldnn_primitive_t primitive, size_t 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)
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_iterator_next(mkldnn_primitive_desc_iterator_t iterator)
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)
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_create(mkldnn_primitive_attr_t *attr)
mkldnn_status_t MKLDNN_API mkldnn_stream_submit(mkldnn_stream_t stream, size_t n, mkldnn_primitive_t primitives[], mkldnn_primitive_t *error_primitive)
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)
Definition: mkldnn_types.h:795
mkldnn_status_t MKLDNN_API mkldnn_stream_wait(mkldnn_stream_t stream, int block, mkldnn_primitive_t *error_primitive)
Definition: mkldnn_types.h:1006
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_set_rnn_data_qparams(mkldnn_primitive_attr_t attr, const float scale, const float shift)
size_t MKLDNN_API mkldnn_engine_get_count(mkldnn_engine_kind_t kind)
mkldnn_primitive_kind_t MKLDNN_API mkldnn_post_ops_get_kind(const_mkldnn_post_ops_t post_ops, int index)
Definition: mkldnn_types.h:692
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)
const mkldnn_memory_desc_t MKLDNN_API * mkldnn_primitive_desc_query_memory_d(const_mkldnn_primitive_desc_t primitive_desc)
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)
mkldnn_status_t MKLDNN_API mkldnn_engine_create(mkldnn_engine_t *engine, mkldnn_engine_kind_t kind, size_t 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)
mkldnn_round_mode_t
Definition: mkldnn_types.h:86
#define MKLDNN_API
Definition: mkldnn.h:43
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)
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)
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)
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_get_output_scales(const_mkldnn_primitive_attr_t attr, int *count, int *mask, const float **scales)
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_set_post_ops(mkldnn_primitive_attr_t attr, const_mkldnn_post_ops_t post_ops)
mkldnn_memory_format_t
Definition: mkldnn_types.h:143
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)
int MKLDNN_API mkldnn_memory_primitive_desc_equal(const_mkldnn_primitive_desc_t lhs, const_mkldnn_primitive_desc_t rhs)
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)
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_query(const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what, int index, void *result)
Definition: mkldnn_types.h:778
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)
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)
mkldnn_status_t MKLDNN_API mkldnn_primitive_desc_iterator_destroy(mkldnn_primitive_desc_iterator_t iterator)
mkldnn_status_t MKLDNN_API mkldnn_post_ops_append_sum(mkldnn_post_ops_t post_ops, float scale)
mkldnn_status_t MKLDNN_API mkldnn_primitive_get_output(const_mkldnn_primitive_t primitive, size_t index, const_mkldnn_primitive_t *output)
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)
mkldnn_prop_kind_t
Definition: mkldnn_types.h:435
mkldnn_stream_kind_t
Kinds of streams.
Definition: mkldnn_types.h:1254
mkldnn_status_t MKLDNN_API mkldnn_primitive_get_input_at(const_mkldnn_primitive_t primitive, size_t index, mkldnn_primitive_at_t *input)
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_set_int_output_round_mode(mkldnn_primitive_attr_t attr, mkldnn_round_mode_t round_mode)
Definition: mkldnn_types.h:1165
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)
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)
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)
mkldnn_status_t MKLDNN_API mkldnn_set_jit_dump(int dump)
mkldnn_status_t MKLDNN_API mkldnn_stream_create(mkldnn_stream_t *stream, mkldnn_stream_kind_t 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)
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)
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)
mkldnn_status_t MKLDNN_API mkldnn_post_ops_get_params_sum(const_mkldnn_post_ops_t post_ops, int index, float *scale)
mkldnn_query_t
Definition: mkldnn_types.h:1204
Definition: mkldnn_types.h:907
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)
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)
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)
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)
mkldnn_status_t MKLDNN_API mkldnn_stream_rerun(mkldnn_stream_t stream, mkldnn_primitive_t *error_primitive)
Definition: mkldnn_types.h:846
mkldnn_primitive_desc_t MKLDNN_API mkldnn_primitive_desc_iterator_fetch(const_mkldnn_primitive_desc_iterator_t iterator)
int MKLDNN_API mkldnn_primitive_desc_query_s32(const_mkldnn_primitive_desc_t primitive_desc, mkldnn_query_t what, int index)
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)
int MKLDNN_API mkldnn_rnn_cell_get_states_count(const mkldnn_rnn_cell_desc_t *rnn_cell_desc)
mkldnn_primitive_kind_t
Definition: mkldnn_types.h:462
const mkldnn_version_t MKLDNN_API * mkldnn_version()
size_t MKLDNN_API mkldnn_memory_primitive_desc_get_size(const_mkldnn_primitive_desc_t 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)
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_get_post_ops(const_mkldnn_primitive_attr_t attr, const_mkldnn_post_ops_t *post_ops)
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)
Definition: mkldnn_types.h:972
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)
mkldnn_status_t MKLDNN_API mkldnn_engine_get_kind(mkldnn_engine_t engine, mkldnn_engine_kind_t *kind)
mkldnn_status_t MKLDNN_API mkldnn_engine_destroy(mkldnn_engine_t 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)
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)
mkldnn_padding_kind_t
Definition: mkldnn_types.h:429
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)
Definition: mkldnn_types.h:39
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)
mkldnn_data_type_t
Definition: mkldnn_types.h:70
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)
mkldnn_engine_kind_t
Kinds of engines.
Definition: mkldnn_types.h:1053
int MKLDNN_API mkldnn_rnn_cell_get_gates_count(const mkldnn_rnn_cell_desc_t *rnn_cell_desc)
const void * const_mkldnn_op_desc_t
Definition: mkldnn_types.h:686
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)
int MKLDNN_API mkldnn_post_ops_len(const_mkldnn_post_ops_t post_ops)
mkldnn_alg_kind_t
Definition: mkldnn_types.h:500
int mkldnn_dims_t[TENSOR_MAX_DIMS]
Definition: mkldnn_types.h:610
mkldnn_status_t MKLDNN_API mkldnn_primitive_destroy(mkldnn_primitive_t 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)
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)
mkldnn_status_t MKLDNN_API mkldnn_primitive_attr_set_output_scales(mkldnn_primitive_attr_t attr, int count, int mask, const float *scales)
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)
mkldnn_status_t MKLDNN_API mkldnn_set_verbose(int level)
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)
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)