oneAPI Deep Neural Network Library (oneDNN)
Performance library for Deep Learning
1.8.0
dnnl.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright 2016-2020 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 
19 
20 #ifndef DNNL_H
21 #define DNNL_H
22 
23 #include "dnnl_config.h"
24 #include "dnnl_types.h"
25 #include "dnnl_version.h"
26 
28 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
29 
30 // Set target version for OpenCL explicitly to suppress a compiler warning.
31 #ifndef CL_TARGET_OPENCL_VERSION
32 #define CL_TARGET_OPENCL_VERSION 120
33 #endif
34 
35 #include <CL/cl.h>
36 #endif
37 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
45 
48 
51 
66  const_dnnl_primitive_desc_t hint_forward_primitive_desc);
67 
77 
89 
97 
113  dnnl_primitive_desc_t *primitive_desc, const_dnnl_op_desc_t op_desc,
115  const_dnnl_primitive_desc_t hint_forward_primitive_desc);
116 
125  dnnl_primitive_desc_t *primitive_desc,
126  const_dnnl_primitive_desc_t existing_primitive_desc);
127 
143  const_dnnl_primitive_desc_t primitive_desc,
145 
152  dnnl_primitive_desc_t primitive_desc);
153 
194  const_dnnl_primitive_desc_t primitive_desc, dnnl_query_t what,
195  int index, void *result);
196 
212  const_dnnl_primitive_desc_t primitive_desc, dnnl_query_t what,
213  int index);
214 
229  const_dnnl_primitive_desc_t primitive_desc, dnnl_query_t what,
230  int index);
231 
239  const_dnnl_primitive_desc_t primitive_desc);
240 
255  dnnl_stream_t stream, int nargs, const dnnl_exec_arg_t *args);
256 
270  const_dnnl_primitive_t primitive,
271  const_dnnl_primitive_desc_t *primitive_desc);
272 
279 
281 
284 
294 
303 
310 
319 
330 
354  const_dnnl_primitive_attr_t attr, dnnl_dim_t *count, int *mask,
355  const float **scales);
356 
403  dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask,
404  const float *scales);
405 
433  dnnl_primitive_attr_t attr, int arg, dnnl_dim_t *count, int *mask,
434  const float **scales);
435 
457  dnnl_primitive_attr_t attr, int arg, dnnl_dim_t count, int mask,
458  const float *scales);
459 
489  const_dnnl_primitive_attr_t attr, int arg, dnnl_dim_t *count, int *mask,
490  const int32_t **zero_points);
491 
518  dnnl_primitive_attr_t attr, int arg, dnnl_dim_t count, int mask,
519  const int32_t *zero_points);
520 
535 
549 
556 
563 
569 
578  const_dnnl_post_ops_t post_ops, int index);
579 
605  dnnl_post_ops_t post_ops, float scale);
606 
640  dnnl_post_ops_t post_ops, float scale, dnnl_data_type_t data_type);
641 
652  const_dnnl_post_ops_t post_ops, int index, float *scale);
653 
664  const_dnnl_post_ops_t post_ops, int index, float *scale,
665  dnnl_data_type_t *data_type);
666 
686  float scale, dnnl_alg_kind_t alg_kind, float alpha, float beta);
687 
701  const_dnnl_post_ops_t post_ops, int index, float *scale,
702  dnnl_alg_kind_t *alg_kind, float *alpha, float *beta);
703 
735  dnnl_data_type_t weights_data_type, dnnl_data_type_t bias_data_type,
736  dnnl_data_type_t dst_data_type, dnnl_dim_t count, int mask,
737  const float *scales);
738 
756  const_dnnl_post_ops_t post_ops, int index,
757  dnnl_data_type_t *weights_data_type, dnnl_data_type_t *bias_data_type,
758  dnnl_data_type_t *dst_data_type, dnnl_dim_t *count, int *mask,
759  const float **scales);
760 
795  dnnl_data_type_t weights_data_type, dnnl_data_type_t bias_data_type,
796  dnnl_data_type_t dst_data_type, dnnl_dim_t count, int mask,
797  const float *scales);
798 
816  const_dnnl_post_ops_t post_ops, int index,
817  dnnl_data_type_t *weights_data_type, dnnl_data_type_t *bias_data_type,
818  dnnl_data_type_t *dst_data_type, dnnl_dim_t *count, int *mask,
819  const float **scales);
820 
839  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src1_desc);
840 
852  const_dnnl_post_ops_t post_ops, int index, dnnl_alg_kind_t *alg_kind,
853  const dnnl_memory_desc_t **src1_desc);
854 
856 
858 
861 
878  dnnl_memory_desc_t *memory_desc, int ndims, const dnnl_dims_t dims,
879  dnnl_data_type_t data_type, const dnnl_dims_t strides);
880 
900  dnnl_memory_desc_t *memory_desc, int ndims, const dnnl_dims_t dims,
901  dnnl_data_type_t data_type, dnnl_format_tag_t tag);
902 
909 //
918  dnnl_memory_desc_t *memory_desc,
919  const dnnl_memory_desc_t *parent_memory_desc, const dnnl_dims_t dims,
920  const dnnl_dims_t offsets);
921 
962  dnnl_memory_desc_t *out_memory_desc,
963  const dnnl_memory_desc_t *in_memory_desc, int ndims,
964  const dnnl_dims_t dims);
965 
1007  dnnl_memory_desc_t *out_memory_desc,
1008  const dnnl_memory_desc_t *in_memory_desc, const int *permutation);
1009 
1020  const dnnl_memory_desc_t *lhs, const dnnl_memory_desc_t *rhs);
1021 
1028  const dnnl_memory_desc_t *memory_desc);
1029 
1051  const dnnl_memory_desc_t *memory_desc, dnnl_engine_t engine,
1052  void *handle);
1053 
1061  const_dnnl_memory_t memory, const dnnl_memory_desc_t **memory_desc);
1062 
1070  const_dnnl_memory_t memory, dnnl_engine_t *engine);
1071 
1096  const_dnnl_memory_t memory, void **mapped_ptr);
1097 
1113  const_dnnl_memory_t memory, void *mapped_ptr);
1114 
1123  const_dnnl_memory_t memory, void **handle);
1124 
1135  dnnl_memory_t memory, void *handle);
1136 
1166  dnnl_memory_t memory, void *handle, dnnl_stream_t stream);
1167 
1168 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
1176  const_dnnl_memory_t memory, cl_mem *mem_object);
1177 
1187  dnnl_memory_t memory, cl_mem mem_object);
1188 #endif
1189 
1196 
1198 
1201 
1204 
1218  dnnl_primitive_desc_t *reorder_primitive_desc,
1219  const dnnl_memory_desc_t *src_desc, dnnl_engine_t src_engine,
1220  const dnnl_memory_desc_t *dst_desc, dnnl_engine_t dst_engine,
1222 
1224 
1227 
1243  dnnl_primitive_desc_t *concat_primitive_desc,
1244  const dnnl_memory_desc_t *dst_desc, int n, int concat_dimension,
1245  const dnnl_memory_desc_t *src_descs, const_dnnl_primitive_attr_t attr,
1246  dnnl_engine_t engine);
1247 
1249 
1252 
1266  dnnl_primitive_desc_t *sum_primitive_desc,
1267  const dnnl_memory_desc_t *dst_desc, int n, const float *scales,
1268  const dnnl_memory_desc_t *src_descs, const_dnnl_primitive_attr_t attr,
1269  dnnl_engine_t engine);
1270 
1272 
1275 
1297  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src0_desc,
1298  const dnnl_memory_desc_t *src1_desc,
1299  const dnnl_memory_desc_t *dst_desc);
1300 
1302 
1305 
1339  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1340  const dnnl_memory_desc_t *weights_desc,
1341  const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc,
1342  const dnnl_dims_t strides, const dnnl_dims_t padding_l,
1343  const dnnl_dims_t padding_r);
1344 
1382  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1383  const dnnl_memory_desc_t *weights_desc,
1384  const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc,
1385  const dnnl_dims_t strides, const dnnl_dims_t dilates,
1386  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1387 
1415  dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind,
1416  const dnnl_memory_desc_t *diff_src_desc,
1417  const dnnl_memory_desc_t *weights_desc,
1418  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1419  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1420 
1452  dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind,
1453  const dnnl_memory_desc_t *diff_src_desc,
1454  const dnnl_memory_desc_t *weights_desc,
1455  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1456  const dnnl_dims_t dilates, const dnnl_dims_t padding_l,
1457  const dnnl_dims_t padding_r);
1458 
1489  dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind,
1490  const dnnl_memory_desc_t *src_desc,
1491  const dnnl_memory_desc_t *diff_weights_desc,
1492  const dnnl_memory_desc_t *diff_bias_desc,
1493  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1494  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1495 
1530  dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind,
1531  const dnnl_memory_desc_t *src_desc,
1532  const dnnl_memory_desc_t *diff_weights_desc,
1533  const dnnl_memory_desc_t *diff_bias_desc,
1534  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1535  const dnnl_dims_t dilates, const dnnl_dims_t padding_l,
1536  const dnnl_dims_t padding_r);
1537 
1539 
1542 
1575  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1576  const dnnl_memory_desc_t *weights_desc,
1577  const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc,
1578  const dnnl_dims_t strides, const dnnl_dims_t padding_l,
1579  const dnnl_dims_t padding_r);
1580 
1617  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1618  const dnnl_memory_desc_t *weights_desc,
1619  const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc,
1620  const dnnl_dims_t strides, const dnnl_dims_t dilates,
1621  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1622 
1649  dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind,
1650  const dnnl_memory_desc_t *diff_src_desc,
1651  const dnnl_memory_desc_t *weights_desc,
1652  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1653  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1654 
1685  dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind,
1686  const dnnl_memory_desc_t *diff_src_desc,
1687  const dnnl_memory_desc_t *weights_desc,
1688  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1689  const dnnl_dims_t dilates, const dnnl_dims_t padding_l,
1690  const dnnl_dims_t padding_r);
1691 
1721  dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind,
1722  const dnnl_memory_desc_t *src_desc,
1723  const dnnl_memory_desc_t *diff_weights_desc,
1724  const dnnl_memory_desc_t *diff_bias_desc,
1725  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1726  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1727 
1761  dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind,
1762  const dnnl_memory_desc_t *src_desc,
1763  const dnnl_memory_desc_t *diff_weights_desc,
1764  const dnnl_memory_desc_t *diff_bias_desc,
1765  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1766  const dnnl_dims_t dilates, const dnnl_dims_t padding_l,
1767  const dnnl_dims_t padding_r);
1768 
1770 
1773 
1786  const dnnl_memory_desc_t *data_desc, int axis, dnnl_dim_t group_size);
1787 
1797  dnnl_shuffle_desc_t *shuffle_desc,
1798  const dnnl_memory_desc_t *diff_data_desc, int axis,
1799  dnnl_dim_t group_size);
1800 
1802 
1805 
1821  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *data_desc,
1822  float alpha, float beta);
1823 
1837  dnnl_eltwise_desc_t *eltwise_desc, dnnl_alg_kind_t alg_kind,
1838  const dnnl_memory_desc_t *diff_data_desc,
1839  const dnnl_memory_desc_t *data_desc, float alpha, float beta);
1840 
1842 
1845 
1857  const dnnl_memory_desc_t *data_desc, int softmax_axis);
1858 
1868  dnnl_softmax_desc_t *softmax_desc,
1869  const dnnl_memory_desc_t *diff_data_desc,
1870  const dnnl_memory_desc_t *data_desc, int softmax_axis);
1871 
1873 
1876 
1888  const dnnl_memory_desc_t *data_desc, int logsoftmax_axis);
1889 
1899  dnnl_logsoftmax_desc_t *logsoftmax_desc,
1900  const dnnl_memory_desc_t *diff_data_desc,
1901  const dnnl_memory_desc_t *data_desc, int logsoftmax_axis);
1902 
1904 
1907 
1934  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1935  const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides,
1936  const dnnl_dims_t kernel, const dnnl_dims_t padding_l,
1937  const dnnl_dims_t padding_r);
1938 
1962  dnnl_pooling_desc_t *pool_desc, dnnl_alg_kind_t alg_kind,
1963  const dnnl_memory_desc_t *diff_src_desc,
1964  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1965  const dnnl_dims_t kernel, const dnnl_dims_t padding_l,
1966  const dnnl_dims_t padding_r);
1967 
1997  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1998  const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides,
1999  const dnnl_dims_t kernel, const dnnl_dims_t dilation,
2000  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
2001 
2028  dnnl_pooling_v2_desc_t *pool_desc, dnnl_alg_kind_t alg_kind,
2029  const dnnl_memory_desc_t *diff_src_desc,
2030  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
2031  const dnnl_dims_t kernel, const dnnl_dims_t dilation,
2032  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
2033 
2035 
2038 
2055  dnnl_prelu_desc_t *prelu_desc, dnnl_prop_kind_t prop_kind,
2056  const dnnl_memory_desc_t *data_desc,
2057  const dnnl_memory_desc_t *weights_desc);
2058 
2076  dnnl_prelu_desc_t *prelu_desc, const dnnl_memory_desc_t *data_desc,
2077  const dnnl_memory_desc_t *weights_desc,
2078  const dnnl_memory_desc_t *diff_data_desc,
2079  const dnnl_memory_desc_t *diff_weights_desc);
2080 
2082 
2085 
2102  const dnnl_memory_desc_t *data_desc, dnnl_dim_t local_size, float alpha,
2103  float beta, float k);
2104 
2119  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_data_desc,
2120  const dnnl_memory_desc_t *data_desc, dnnl_dim_t local_size, float alpha,
2121  float beta, float k);
2122 
2124 
2127 
2145  const dnnl_memory_desc_t *data_desc, float epsilon, unsigned flags);
2146 
2166  const dnnl_memory_desc_t *diff_data_desc,
2167  const dnnl_memory_desc_t *data_desc, float epsilon, unsigned flags);
2168 
2170 
2173 
2196  const dnnl_memory_desc_t *data_desc,
2197  const dnnl_memory_desc_t *stat_desc, float epsilon, unsigned flags);
2198 
2223  const dnnl_memory_desc_t *diff_data_desc,
2224  const dnnl_memory_desc_t *data_desc,
2225  const dnnl_memory_desc_t *stat_desc, float epsilon, unsigned flags);
2226 
2228 
2231 
2251  const dnnl_memory_desc_t *src_desc,
2252  const dnnl_memory_desc_t *weights_desc,
2253  const dnnl_memory_desc_t *bias_desc,
2254  const dnnl_memory_desc_t *dst_desc);
2255 
2269  dnnl_inner_product_desc_t *ip_desc,
2270  const dnnl_memory_desc_t *diff_src_desc,
2271  const dnnl_memory_desc_t *weights_desc,
2272  const dnnl_memory_desc_t *diff_dst_desc);
2273 
2290  dnnl_inner_product_desc_t *ip_desc, const dnnl_memory_desc_t *src_desc,
2291  const dnnl_memory_desc_t *diff_weights_desc,
2292  const dnnl_memory_desc_t *diff_bias_desc,
2293  const dnnl_memory_desc_t *diff_dst_desc);
2294 
2296 
2299 
2340  dnnl_primitive_attr_t attr, const float scale, const float shift);
2341 
2354  const_dnnl_primitive_attr_t attr, float *scale, float *shift);
2355 
2386  dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask,
2387  const float *scales);
2388 
2405  const_dnnl_primitive_attr_t attr, dnnl_dim_t *count, int *mask,
2406  const float **scales);
2407 
2435  dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask,
2436  const float *scales);
2437 
2454  const_dnnl_primitive_attr_t attr, dnnl_dim_t *count, int *mask,
2455  const float **scales);
2456 
2458 
2461 
2502  const dnnl_alg_kind_t activation, const dnnl_rnn_direction_t direction,
2503  const dnnl_memory_desc_t *src_layer_desc,
2504  const dnnl_memory_desc_t *src_iter_desc,
2505  const dnnl_memory_desc_t *weights_layer_desc,
2506  const dnnl_memory_desc_t *weights_iter_desc,
2507  const dnnl_memory_desc_t *bias_desc,
2508  const dnnl_memory_desc_t *dst_layer_desc,
2509  const dnnl_memory_desc_t *dst_iter_desc, unsigned flags, float alpha,
2510  float beta);
2511 
2563  const dnnl_alg_kind_t activation, const dnnl_rnn_direction_t direction,
2564  const dnnl_memory_desc_t *src_layer_desc,
2565  const dnnl_memory_desc_t *src_iter_desc,
2566  const dnnl_memory_desc_t *weights_layer_desc,
2567  const dnnl_memory_desc_t *weights_iter_desc,
2568  const dnnl_memory_desc_t *bias_desc,
2569  const dnnl_memory_desc_t *dst_layer_desc,
2570  const dnnl_memory_desc_t *dst_iter_desc,
2571  const dnnl_memory_desc_t *diff_src_layer_desc,
2572  const dnnl_memory_desc_t *diff_src_iter_desc,
2573  const dnnl_memory_desc_t *diff_weights_layer_desc,
2574  const dnnl_memory_desc_t *diff_weights_iter_desc,
2575  const dnnl_memory_desc_t *diff_bias_desc,
2576  const dnnl_memory_desc_t *diff_dst_layer_desc,
2577  const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags,
2578  float alpha, float beta);
2579 
2625  const dnnl_memory_desc_t *src_layer_desc,
2626  const dnnl_memory_desc_t *src_iter_desc,
2627  const dnnl_memory_desc_t *src_iter_c_desc,
2628  const dnnl_memory_desc_t *weights_layer_desc,
2629  const dnnl_memory_desc_t *weights_iter_desc,
2630  const dnnl_memory_desc_t *bias_desc,
2631  const dnnl_memory_desc_t *dst_layer_desc,
2632  const dnnl_memory_desc_t *dst_iter_desc,
2633  const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags);
2634 
2682  const dnnl_memory_desc_t *src_layer_desc,
2683  const dnnl_memory_desc_t *src_iter_desc,
2684  const dnnl_memory_desc_t *src_iter_c_desc,
2685  const dnnl_memory_desc_t *weights_layer_desc,
2686  const dnnl_memory_desc_t *weights_iter_desc,
2687  const dnnl_memory_desc_t *weights_peephole_desc,
2688  const dnnl_memory_desc_t *bias_desc,
2689  const dnnl_memory_desc_t *dst_layer_desc,
2690  const dnnl_memory_desc_t *dst_iter_desc,
2691  const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags);
2692 
2744  const dnnl_memory_desc_t *src_layer_desc,
2745  const dnnl_memory_desc_t *src_iter_desc,
2746  const dnnl_memory_desc_t *src_iter_c_desc,
2747  const dnnl_memory_desc_t *weights_layer_desc,
2748  const dnnl_memory_desc_t *weights_iter_desc,
2749  const dnnl_memory_desc_t *weights_peephole_desc,
2750  const dnnl_memory_desc_t *weights_projection_desc,
2751  const dnnl_memory_desc_t *bias_desc,
2752  const dnnl_memory_desc_t *dst_layer_desc,
2753  const dnnl_memory_desc_t *dst_iter_desc,
2754  const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags);
2755 
2818  const dnnl_memory_desc_t *src_layer_desc,
2819  const dnnl_memory_desc_t *src_iter_desc,
2820  const dnnl_memory_desc_t *src_iter_c_desc,
2821  const dnnl_memory_desc_t *weights_layer_desc,
2822  const dnnl_memory_desc_t *weights_iter_desc,
2823  const dnnl_memory_desc_t *bias_desc,
2824  const dnnl_memory_desc_t *dst_layer_desc,
2825  const dnnl_memory_desc_t *dst_iter_desc,
2826  const dnnl_memory_desc_t *dst_iter_c_desc,
2827  const dnnl_memory_desc_t *diff_src_layer_desc,
2828  const dnnl_memory_desc_t *diff_src_iter_desc,
2829  const dnnl_memory_desc_t *diff_src_iter_c_desc,
2830  const dnnl_memory_desc_t *diff_weights_layer_desc,
2831  const dnnl_memory_desc_t *diff_weights_iter_desc,
2832  const dnnl_memory_desc_t *diff_bias_desc,
2833  const dnnl_memory_desc_t *diff_dst_layer_desc,
2834  const dnnl_memory_desc_t *diff_dst_iter_desc,
2835  const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags);
2836 
2903  dnnl_rnn_direction_t direction,
2904  const dnnl_memory_desc_t *src_layer_desc,
2905  const dnnl_memory_desc_t *src_iter_desc,
2906  const dnnl_memory_desc_t *src_iter_c_desc,
2907  const dnnl_memory_desc_t *weights_layer_desc,
2908  const dnnl_memory_desc_t *weights_iter_desc,
2909  const dnnl_memory_desc_t *weights_peephole_desc,
2910  const dnnl_memory_desc_t *bias_desc,
2911  const dnnl_memory_desc_t *dst_layer_desc,
2912  const dnnl_memory_desc_t *dst_iter_desc,
2913  const dnnl_memory_desc_t *dst_iter_c_desc,
2914  const dnnl_memory_desc_t *diff_src_layer_desc,
2915  const dnnl_memory_desc_t *diff_src_iter_desc,
2916  const dnnl_memory_desc_t *diff_src_iter_c_desc,
2917  const dnnl_memory_desc_t *diff_weights_layer_desc,
2918  const dnnl_memory_desc_t *diff_weights_iter_desc,
2919  const dnnl_memory_desc_t *diff_weights_peephole_desc,
2920  const dnnl_memory_desc_t *diff_bias_desc,
2921  const dnnl_memory_desc_t *diff_dst_layer_desc,
2922  const dnnl_memory_desc_t *diff_dst_iter_desc,
2923  const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags);
2924 
2999  dnnl_rnn_direction_t direction,
3000  const dnnl_memory_desc_t *src_layer_desc,
3001  const dnnl_memory_desc_t *src_iter_desc,
3002  const dnnl_memory_desc_t *src_iter_c_desc,
3003  const dnnl_memory_desc_t *weights_layer_desc,
3004  const dnnl_memory_desc_t *weights_iter_desc,
3005  const dnnl_memory_desc_t *weights_peephole_desc,
3006  const dnnl_memory_desc_t *weights_projection_desc,
3007  const dnnl_memory_desc_t *bias_desc,
3008  const dnnl_memory_desc_t *dst_layer_desc,
3009  const dnnl_memory_desc_t *dst_iter_desc,
3010  const dnnl_memory_desc_t *dst_iter_c_desc,
3011  const dnnl_memory_desc_t *diff_src_layer_desc,
3012  const dnnl_memory_desc_t *diff_src_iter_desc,
3013  const dnnl_memory_desc_t *diff_src_iter_c_desc,
3014  const dnnl_memory_desc_t *diff_weights_layer_desc,
3015  const dnnl_memory_desc_t *diff_weights_iter_desc,
3016  const dnnl_memory_desc_t *diff_weights_peephole_desc,
3017  const dnnl_memory_desc_t *diff_weights_projection_desc,
3018  const dnnl_memory_desc_t *diff_bias_desc,
3019  const dnnl_memory_desc_t *diff_dst_layer_desc,
3020  const dnnl_memory_desc_t *diff_dst_iter_desc,
3021  const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags);
3022 
3059  const dnnl_memory_desc_t *src_layer_desc,
3060  const dnnl_memory_desc_t *src_iter_desc,
3061  const dnnl_memory_desc_t *weights_layer_desc,
3062  const dnnl_memory_desc_t *weights_iter_desc,
3063  const dnnl_memory_desc_t *bias_desc,
3064  const dnnl_memory_desc_t *dst_layer_desc,
3065  const dnnl_memory_desc_t *dst_iter_desc, unsigned flags);
3066 
3114  const dnnl_memory_desc_t *src_layer_desc,
3115  const dnnl_memory_desc_t *src_iter_desc,
3116  const dnnl_memory_desc_t *weights_layer_desc,
3117  const dnnl_memory_desc_t *weights_iter_desc,
3118  const dnnl_memory_desc_t *bias_desc,
3119  const dnnl_memory_desc_t *dst_layer_desc,
3120  const dnnl_memory_desc_t *dst_iter_desc,
3121  const dnnl_memory_desc_t *diff_src_layer_desc,
3122  const dnnl_memory_desc_t *diff_src_iter_desc,
3123  const dnnl_memory_desc_t *diff_weights_layer_desc,
3124  const dnnl_memory_desc_t *diff_weights_iter_desc,
3125  const dnnl_memory_desc_t *diff_bias_desc,
3126  const dnnl_memory_desc_t *diff_dst_layer_desc,
3127  const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags);
3128 
3161  const dnnl_memory_desc_t *src_layer_desc,
3162  const dnnl_memory_desc_t *src_iter_desc,
3163  const dnnl_memory_desc_t *weights_layer_desc,
3164  const dnnl_memory_desc_t *weights_iter_desc,
3165  const dnnl_memory_desc_t *bias_desc,
3166  const dnnl_memory_desc_t *dst_layer_desc,
3167  const dnnl_memory_desc_t *dst_iter_desc, unsigned flags);
3168 
3216  dnnl_rnn_direction_t direction,
3217  const dnnl_memory_desc_t *src_layer_desc,
3218  const dnnl_memory_desc_t *src_iter_desc,
3219  const dnnl_memory_desc_t *weights_layer_desc,
3220  const dnnl_memory_desc_t *weights_iter_desc,
3221  const dnnl_memory_desc_t *bias_desc,
3222  const dnnl_memory_desc_t *dst_layer_desc,
3223  const dnnl_memory_desc_t *dst_iter_desc,
3224  const dnnl_memory_desc_t *diff_src_layer_desc,
3225  const dnnl_memory_desc_t *diff_src_iter_desc,
3226  const dnnl_memory_desc_t *diff_weights_layer_desc,
3227  const dnnl_memory_desc_t *diff_weights_iter_desc,
3228  const dnnl_memory_desc_t *diff_bias_desc,
3229  const dnnl_memory_desc_t *diff_dst_layer_desc,
3230  const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags);
3231 
3233 
3236 
3249  const dnnl_memory_desc_t *src_desc,
3250  const dnnl_memory_desc_t *weights_desc,
3251  const dnnl_memory_desc_t *bias_desc,
3252  const dnnl_memory_desc_t *dst_desc);
3253 
3255 
3258 
3278  dnnl_alg_kind_t alg_kind, const float *factors,
3279  const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *dst_desc);
3280 
3293  dnnl_resampling_desc_t *resampling_desc, dnnl_alg_kind_t alg_kind,
3294  const float *factors, const dnnl_memory_desc_t *diff_src_desc,
3295  const dnnl_memory_desc_t *diff_dst_desc);
3296 
3298 
3301 
3323  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
3324  const dnnl_memory_desc_t *dst_desc, float p, float eps);
3325 
3327 
3329 
3332 
3338 
3348  dnnl_engine_t *engine, dnnl_engine_kind_t kind, size_t index);
3349 
3350 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
3360  dnnl_engine_kind_t kind, cl_device_id device, cl_context context);
3361 #endif
3362 
3370  dnnl_engine_t engine, dnnl_engine_kind_t *kind);
3371 
3372 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
3380  dnnl_engine_t engine, cl_context *context);
3381 
3389  dnnl_engine_t engine, cl_device_id *device);
3390 #endif
3391 
3398 
3400 
3403 
3413 
3420 
3421 #if DNNL_CPU_THREADING_RUNTIME == DNNL_RUNTIME_THREADPOOL
3422 dnnl_status_t DNNL_API dnnl_stream_attr_set_threadpool(
3433  dnnl_stream_attr_t attr, void *threadpool);
3434 
3446 dnnl_status_t DNNL_API dnnl_stream_attr_get_threadpool(
3447  dnnl_stream_attr_t attr, void **threadpool);
3448 #endif
3449 
3458  dnnl_stream_t *stream, dnnl_engine_t engine, unsigned flags);
3459 
3469  dnnl_engine_t engine, unsigned flags, const_dnnl_stream_attr_t attr);
3470 
3471 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
3481  dnnl_stream_t *stream, dnnl_engine_t engine, cl_command_queue queue);
3482 #endif
3483 
3491  const_dnnl_stream_t stream, dnnl_engine_t *engine);
3492 
3493 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
3501  dnnl_stream_t stream, cl_command_queue *queue);
3502 #endif
3503 
3510 
3517 
3519 
3522 
3532 
3545 
3547 
3550 
3564 dnnl_status_t DNNL_API dnnl_set_verbose(int level);
3565 
3575 dnnl_status_t DNNL_API dnnl_set_jit_dump(int enable);
3576 
3583 const dnnl_version_t DNNL_API *dnnl_version();
3584 
3610 
3635 
3668 
3678 
3680 
3683 
3724 dnnl_status_t DNNL_API dnnl_sgemm(char transa, char transb, dnnl_dim_t M,
3725  dnnl_dim_t N, dnnl_dim_t K, float alpha, const float *A, dnnl_dim_t lda,
3726  const float *B, dnnl_dim_t ldb, float beta, float *C, dnnl_dim_t ldc);
3727 
3791 dnnl_status_t DNNL_API dnnl_gemm_u8s8s32(char transa, char transb, char offsetc,
3792  dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const uint8_t *A,
3793  dnnl_dim_t lda, uint8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo,
3794  float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co);
3795 
3859 dnnl_status_t DNNL_API dnnl_gemm_s8s8s32(char transa, char transb, char offsetc,
3860  dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const int8_t *A,
3861  dnnl_dim_t lda, int8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo,
3862  float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co);
3863 
3864 #if DNNL_CPU_RUNTIME == DNNL_RUNTIME_THREADPOOL
3865 dnnl_status_t DNNL_API dnnl_sgemm_tp(char transa, char transb, dnnl_dim_t M,
3869  dnnl_dim_t N, dnnl_dim_t K, float alpha, const float *A, dnnl_dim_t lda,
3870  const float *B, dnnl_dim_t ldb, float beta, float *C, dnnl_dim_t ldc,
3871  void *tp);
3872 
3876 dnnl_status_t DNNL_API dnnl_gemm_u8s8s32_tp(char transa, char transb,
3877  char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha,
3878  const uint8_t *A, dnnl_dim_t lda, uint8_t ao, const int8_t *B,
3879  dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc,
3880  const int32_t *co, void *tp);
3881 
3885 dnnl_status_t DNNL_API dnnl_gemm_s8s8s32_tp(char transa, char transb,
3886  char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha,
3887  const int8_t *A, dnnl_dim_t lda, int8_t ao, const int8_t *B,
3888  dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc,
3889  const int32_t *co, void *tp);
3890 #endif
3891 
3893 
3895 
3896 #ifdef __cplusplus
3897 }
3898 #endif
3899 
3900 #endif
dnnl_memory_set_ocl_mem_object
dnnl_status_t DNNL_API dnnl_memory_set_ocl_mem_object(dnnl_memory_t memory, cl_mem mem_object)
Sets OpenCL memory object associated with a memory object.
dnnl_primitive_desc_iterator_next
dnnl_status_t DNNL_API dnnl_primitive_desc_iterator_next(dnnl_primitive_desc_iterator_t iterator)
Advances the primitive descriptor iterator to point to the next available implementation.
dnnl_stream_attr_t
struct dnnl_stream_attr * dnnl_stream_attr_t
An execution stream attributes handle.
Definition: dnnl_types.h:2441
dnnl_set_jit_profiling_flags
dnnl_status_t DNNL_API dnnl_set_jit_profiling_flags(unsigned flags)
Sets library profiling flags.
dnnl_inner_product_forward_desc_init
dnnl_status_t DNNL_API dnnl_inner_product_forward_desc_init(dnnl_inner_product_desc_t *ip_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc)
Initializes descriptor for inner product forward propagation.
dnnl_convolution_forward_desc_init
dnnl_status_t DNNL_API dnnl_convolution_forward_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a convolution forward propagation primitive.
dnnl_pooling_backward_desc_init
dnnl_status_t DNNL_API dnnl_pooling_backward_desc_init(dnnl_pooling_desc_t *pool_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t kernel, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for pooling backward propagation primitive.
dnnl::prop_kind
prop_kind
Propagation kind.
Definition: dnnl.hpp:442
dnnl_dilated_deconvolution_forward_desc_init
dnnl_status_t DNNL_API dnnl_dilated_deconvolution_forward_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated deconvolution forward propagation primitive.
dnnl_format_tag_t
dnnl_format_tag_t
Memory format tag specification.
Definition: dnnl_types.h:164
dnnl_memory
An opaque structure to describe a memory.
dnnl_primitive_desc_iterator
An opaque structure to describe a primitive descriptor iterator.
dnnl_lstm_forward_desc_init
dnnl_status_t DNNL_API dnnl_lstm_forward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags)
Initializes a descriptor for LSTM forward propagation primitive.
dnnl_get_effective_cpu_isa
dnnl_cpu_isa_t DNNL_API dnnl_get_effective_cpu_isa(void)
Gets the maximal ISA the library can dispatch to on the CPU.
dnnl_status_t
dnnl_status_t
Status values returned by the library functions.
Definition: dnnl_types.h:39
dnnl_memory_get_ocl_mem_object
dnnl_status_t DNNL_API dnnl_memory_get_ocl_mem_object(const_dnnl_memory_t memory, cl_mem *mem_object)
Returns an OpenCL memory object associated with a memory object.
dnnl_post_ops_get_params_dw_k3s2p1
dnnl_status_t DNNL_API dnnl_post_ops_get_params_dw_k3s2p1(const_dnnl_post_ops_t post_ops, int index, dnnl_data_type_t *weights_data_type, dnnl_data_type_t *bias_data_type, dnnl_data_type_t *dst_data_type, dnnl_dim_t *count, int *mask, const float **scales)
Returns the parameters of an depthwise post-op with stride 2.
dnnl_engine
An opaque structure to describe an engine.
dnnl_post_ops_get_params_binary
dnnl_status_t DNNL_API dnnl_post_ops_get_params_binary(const_dnnl_post_ops_t post_ops, int index, dnnl_alg_kind_t *alg_kind, const dnnl_memory_desc_t **src1_desc)
Returns the parameters of a binary post-op.
dnnl_version
const dnnl_version_t DNNL_API * dnnl_version()
Returns library version information.
dnnl_matmul_desc_t
A descriptor of a matrix multiplication operation.
Definition: dnnl_types.h:1893
dnnl_memory_desc_get_size
size_t DNNL_API dnnl_memory_desc_get_size(const dnnl_memory_desc_t *memory_desc)
Returns the size of a memory descriptor.
dnnl_convolution_desc_t
A descriptor of a convolution operation.
Definition: dnnl_types.h:1366
dnnl_primitive_kind_t
dnnl_primitive_kind_t
Kinds of primitives.
Definition: dnnl_types.h:885
dnnl_memory_desc_permute_axes
dnnl_status_t DNNL_API dnnl_memory_desc_permute_axes(dnnl_memory_desc_t *out_memory_desc, const dnnl_memory_desc_t *in_memory_desc, const int *permutation)
Initializes a memory descriptor by permuting axes in an existing one.
dnnl_primitive_desc_query_s32
int DNNL_API dnnl_primitive_desc_query_s32(const_dnnl_primitive_desc_t primitive_desc, dnnl_query_t what, int index)
Queries primitive descriptor for a signed 32bit int.
dnnl_exec_arg_t
A structure that contains an index and a memory object, and is used to pass arguments to dnnl_primiti...
Definition: dnnl_types.h:2307
dnnl_engine_get_kind
dnnl_status_t DNNL_API dnnl_engine_get_kind(dnnl_engine_t engine, dnnl_engine_kind_t *kind)
Returns the kind of an engine.
dnnl_memory_desc_reshape
dnnl_status_t DNNL_API dnnl_memory_desc_reshape(dnnl_memory_desc_t *out_memory_desc, const dnnl_memory_desc_t *in_memory_desc, int ndims, const dnnl_dims_t dims)
Initializes a memory descriptor by reshaping an existing one.
dnnl_query_t
dnnl_query_t
Primitive descriptor query specification.
Definition: dnnl_types.h:2346
dnnl_types.h
C API types definitions.
dnnl_logsoftmax_forward_desc_init
dnnl_status_t DNNL_API dnnl_logsoftmax_forward_desc_init(dnnl_logsoftmax_desc_t *logsoftmax_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, int logsoftmax_axis)
Initializes a descriptor for logsoftmax forward propagation primitive.
dnnl_rnn_desc_t
A descriptor for an RNN operation.
Definition: dnnl_types.h:1785
dnnl_rnn_direction_t
dnnl_rnn_direction_t
A direction of RNN primitive execution.
Definition: dnnl_types.h:1769
dnnl_inner_product_desc_t
A descriptor of an inner product operation.
Definition: dnnl_types.h:1729
dnnl_post_ops_append_dw_k3s2p1
dnnl_status_t DNNL_API dnnl_post_ops_append_dw_k3s2p1(dnnl_post_ops_t post_ops, dnnl_data_type_t weights_data_type, dnnl_data_type_t bias_data_type, dnnl_data_type_t dst_data_type, dnnl_dim_t count, int mask, const float *scales)
Appends a depthwise post-op convolution with stride 2.
dnnl_memory_unmap_data
dnnl_status_t DNNL_API dnnl_memory_unmap_data(const_dnnl_memory_t memory, void *mapped_ptr)
Unmaps a memory object and writes back any changes made to the previously mapped memory buffer.
dnnl_layer_normalization_backward_desc_init
dnnl_status_t DNNL_API dnnl_layer_normalization_backward_desc_init(dnnl_layer_normalization_desc_t *lnrm_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, const dnnl_memory_desc_t *stat_desc, float epsilon, unsigned flags)
Initializes a descriptor for a layer normalization backward propagation primitive.
dnnl_lstm_backward_desc_init
dnnl_status_t DNNL_API dnnl_lstm_backward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_src_iter_c_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags)
Initializes a descriptor for an LSTM backward propagation primitive.
dnnl_pooling_v2_backward_desc_init
dnnl_status_t DNNL_API dnnl_pooling_v2_backward_desc_init(dnnl_pooling_v2_desc_t *pool_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t kernel, const dnnl_dims_t dilation, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for pooling v2 (pooling with dilation support) backward propagation primitiv...
dnnl_lstm_backward_desc_init_v2
dnnl_status_t DNNL_API dnnl_lstm_backward_desc_init_v2(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *weights_peephole_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_src_iter_c_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_weights_peephole_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags)
Initializes a descriptor for an LSTM (with or without peephole) backward propagation primitive.
dnnl_stream_create_v2
dnnl_status_t DNNL_API dnnl_stream_create_v2(dnnl_stream_t *stream, dnnl_engine_t engine, unsigned flags, const_dnnl_stream_attr_t attr)
Creates an execution stream.
dnnl_engine_create_ocl
dnnl_status_t DNNL_API dnnl_engine_create_ocl(dnnl_engine_t *engine, dnnl_engine_kind_t kind, cl_device_id device, cl_context context)
Creates an engine associated with an OpenCL device and an OpenCL context.
dnnl_pooling_desc_t
A descriptor of a pooling operation.
Definition: dnnl_types.h:1528
dnnl_data_type_t
dnnl_data_type_t
Data type specification.
Definition: dnnl_types.h:62
dnnl_memory_destroy
dnnl_status_t DNNL_API dnnl_memory_destroy(dnnl_memory_t memory)
Destroys a memory object.
dnnl_primitive_attr_create
dnnl_status_t DNNL_API dnnl_primitive_attr_create(dnnl_primitive_attr_t *attr)
Creates an empty (default) primitive attributes with all the parameters set to their default values.
dnnl_lstm_backward_desc_init_v3
dnnl_status_t DNNL_API dnnl_lstm_backward_desc_init_v3(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *weights_peephole_desc, const dnnl_memory_desc_t *weights_projection_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_src_iter_c_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_weights_peephole_desc, const dnnl_memory_desc_t *diff_weights_projection_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags)
Initializes a descriptor for an LSTM (with or without peephole and with or with out recurrent project...
dnnl_primitive_attr_get_zero_points
dnnl_status_t DNNL_API dnnl_primitive_attr_get_zero_points(const_dnnl_primitive_attr_t attr, int arg, dnnl_dim_t *count, int *mask, const int32_t **zero_points)
Returns count, correspondence zero point mask, and a pointer to a constant int32_t array of zero_poin...
dnnl_post_ops_get_params_sum_v2
dnnl_status_t DNNL_API dnnl_post_ops_get_params_sum_v2(const_dnnl_post_ops_t post_ops, int index, float *scale, dnnl_data_type_t *data_type)
Returns the parameters of an accumulation (sum) post-op with a data type parameter.
dnnl_primitive_attr_set_output_scales
dnnl_status_t DNNL_API dnnl_primitive_attr_set_output_scales(dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask, const float *scales)
Sets output scaling factors correspondence mask and values.
dnnl_primitive_desc_iterator_create
dnnl_status_t DNNL_API dnnl_primitive_desc_iterator_create(dnnl_primitive_desc_iterator_t *iterator, const_dnnl_op_desc_t op_desc, const_dnnl_primitive_attr_t attr, dnnl_engine_t engine, const_dnnl_primitive_desc_t hint_forward_primitive_desc)
Creates a primitive descriptor iterator.
dnnl_softmax_forward_desc_init
dnnl_status_t DNNL_API dnnl_softmax_forward_desc_init(dnnl_softmax_desc_t *softmax_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, int softmax_axis)
Initializes a descriptor for softmax forward propagation primitive.
dnnl_primitive_desc_clone
dnnl_status_t DNNL_API dnnl_primitive_desc_clone(dnnl_primitive_desc_t *primitive_desc, const_dnnl_primitive_desc_t existing_primitive_desc)
Clones a primitive descriptor.
dnnl_memory_set_data_handle
dnnl_status_t DNNL_API dnnl_memory_set_data_handle(dnnl_memory_t memory, void *handle)
Sets the underlying memory buffer.
dnnl_primitive_desc_query
dnnl_status_t DNNL_API dnnl_primitive_desc_query(const_dnnl_primitive_desc_t primitive_desc, dnnl_query_t what, int index, void *result)
Queries a primitive descriptor for various pieces of information.
dnnl_primitive_execute
dnnl_status_t DNNL_API dnnl_primitive_execute(const_dnnl_primitive_t primitive, dnnl_stream_t stream, int nargs, const dnnl_exec_arg_t *args)
Executes a primitive.
dnnl_stream_destroy
dnnl_status_t DNNL_API dnnl_stream_destroy(dnnl_stream_t stream)
Destroys an execution stream.
dnnl_primitive_attr_destroy
dnnl_status_t DNNL_API dnnl_primitive_attr_destroy(dnnl_primitive_attr_t attr)
Destroys primitive attributes.
dnnl_post_ops_append_sum
dnnl_status_t DNNL_API dnnl_post_ops_append_sum(dnnl_post_ops_t post_ops, float scale)
Appends an accumulation (sum) to post-ops.
dnnl_gru_forward_desc_init
dnnl_status_t DNNL_API dnnl_gru_forward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, unsigned flags)
Initializes a descriptor for GRU forward propagation primitive.
dnnl_gemm_s8s8s32
dnnl_status_t DNNL_API dnnl_gemm_s8s8s32(char transa, char transb, char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const int8_t *A, dnnl_dim_t lda, int8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co)
Performs integer matrix-matrix multiply on 8-bit signed matrix A, 8-bit signed matrix B,...
dnnl_memory_desc_init_submemory
dnnl_status_t DNNL_API dnnl_memory_desc_init_submemory(dnnl_memory_desc_t *memory_desc, const dnnl_memory_desc_t *parent_memory_desc, const dnnl_dims_t dims, const dnnl_dims_t offsets)
Initializes a memory descriptor for a region inside an area described by an existing memory descripto...
dnnl_engine_kind_t
dnnl_engine_kind_t
Kinds of engines.
Definition: dnnl_types.h:1979
dnnl_stream_attr_create
dnnl_status_t DNNL_API dnnl_stream_attr_create(dnnl_stream_attr_t *attr, dnnl_engine_kind_t kind)
Creates execution stream attributes for a stream that runs on an engine of a particular kind.
dnnl_post_ops_append_eltwise
dnnl_status_t DNNL_API dnnl_post_ops_append_eltwise(dnnl_post_ops_t post_ops, float scale, dnnl_alg_kind_t alg_kind, float alpha, float beta)
Appends an elementwise post-op.
dnnl_primitive_attr_get_scratchpad_mode
dnnl_status_t DNNL_API dnnl_primitive_attr_get_scratchpad_mode(const_dnnl_primitive_attr_t attr, dnnl_scratchpad_mode_t *mode)
Returns the primitive attributes scratchpad mode.
dnnl_concat_primitive_desc_create
dnnl_status_t DNNL_API dnnl_concat_primitive_desc_create(dnnl_primitive_desc_t *concat_primitive_desc, const dnnl_memory_desc_t *dst_desc, int n, int concat_dimension, const dnnl_memory_desc_t *src_descs, const_dnnl_primitive_attr_t attr, dnnl_engine_t engine)
Creates a primitive descriptor for an out-of-place concatenation primitive.
dnnl_post_ops_destroy
dnnl_status_t DNNL_API dnnl_post_ops_destroy(dnnl_post_ops_t post_ops)
Destroys post-ops.
dnnl_eltwise_backward_desc_init
dnnl_status_t DNNL_API dnnl_eltwise_backward_desc_init(dnnl_eltwise_desc_t *eltwise_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, float alpha, float beta)
Initializes a descriptor for eltwise backward propagation primitive.
dnnl_convolution_backward_data_desc_init
dnnl_status_t DNNL_API dnnl_convolution_backward_data_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a convolution backward propagation primitive.
dnnl_reduction_desc_init
dnnl_status_t DNNL_API dnnl_reduction_desc_init(dnnl_reduction_desc_t *desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *dst_desc, float p, float eps)
Initializes a descriptor for a reduction primitive.
dnnl_softmax_desc_t
A descriptor of a Softmax operation.
Definition: dnnl_types.h:1498
dnnl_memory_get_data_handle
dnnl_status_t DNNL_API dnnl_memory_get_data_handle(const_dnnl_memory_t memory, void **handle)
Returns memory object's data handle.
dnnl_primitive_attr_set_scales
dnnl_status_t DNNL_API dnnl_primitive_attr_set_scales(dnnl_primitive_attr_t attr, int arg, dnnl_dim_t count, int mask, const float *scales)
Sets primitive attributes scaling factors for primitive operations for a given memory argument.
dnnl_stream_create
dnnl_status_t DNNL_API dnnl_stream_create(dnnl_stream_t *stream, dnnl_engine_t engine, unsigned flags)
Creates an execution stream.
dnnl_sgemm
dnnl_status_t DNNL_API dnnl_sgemm(char transa, char transb, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const float *A, dnnl_dim_t lda, const float *B, dnnl_dim_t ldb, float beta, float *C, dnnl_dim_t ldc)
Performs single-precision matrix-matrix multiply.
dnnl_stream_wait
dnnl_status_t DNNL_API dnnl_stream_wait(dnnl_stream_t stream)
Waits for all primitives in the execution stream to finish computations.
dnnl_memory_set_data_handle_v2
dnnl_status_t DNNL_API dnnl_memory_set_data_handle_v2(dnnl_memory_t memory, void *handle, dnnl_stream_t stream)
Sets the underlying memory buffer.
dnnl_primitive_desc
An opaque structure to describe a primitive descriptor.
dnnl_sum_primitive_desc_create
dnnl_status_t DNNL_API dnnl_sum_primitive_desc_create(dnnl_primitive_desc_t *sum_primitive_desc, const dnnl_memory_desc_t *dst_desc, int n, const float *scales, const dnnl_memory_desc_t *src_descs, const_dnnl_primitive_attr_t attr, dnnl_engine_t engine)
Creates a primitive descriptor for an (out-of-place) sum primitive.
dnnl_primitive_desc_get_attr
dnnl_status_t DNNL_API dnnl_primitive_desc_get_attr(const_dnnl_primitive_desc_t primitive_desc, const_dnnl_primitive_attr_t *attr)
Returns a constant reference to the attributes of a primitive descriptor.
dnnl_gru_backward_desc_init
dnnl_status_t DNNL_API dnnl_gru_backward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags)
Initializes a descriptor for GRU backward propagation primitive.
dnnl_lstm_forward_desc_init_v2
dnnl_status_t DNNL_API dnnl_lstm_forward_desc_init_v2(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *weights_peephole_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags)
Initializes a descriptor for an LSTM (with or without peephole) forward propagation primitive.
dnnl_lbr_gru_backward_desc_init
dnnl_status_t DNNL_API dnnl_lbr_gru_backward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags)
Initializes a descriptor for LBR GRU backward propagation primitive.
dnnl_prelu_forward_desc_init
dnnl_status_t DNNL_API dnnl_prelu_forward_desc_init(dnnl_prelu_desc_t *prelu_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, const dnnl_memory_desc_t *weights_desc)
Initializes a descriptor for PReLU (leaky ReLU with trainable alpha parameter) forward propagation pr...
dnnl_set_max_cpu_isa
dnnl_status_t DNNL_API dnnl_set_max_cpu_isa(dnnl_cpu_isa_t isa)
Sets the maximal ISA the library can dispatch to on the CPU.
dnnl_convolution_backward_weights_desc_init
dnnl_status_t DNNL_API dnnl_convolution_backward_weights_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a convolution weights gradient primitive.
dnnl_primitive
An opaque structure to describe a primitive.
dnnl_reorder_primitive_desc_create
dnnl_status_t DNNL_API dnnl_reorder_primitive_desc_create(dnnl_primitive_desc_t *reorder_primitive_desc, const dnnl_memory_desc_t *src_desc, dnnl_engine_t src_engine, const dnnl_memory_desc_t *dst_desc, dnnl_engine_t dst_engine, const_dnnl_primitive_attr_t attr)
Creates a primitive descriptor for a reorder primitive.
dnnl_softmax_backward_desc_init
dnnl_status_t DNNL_API dnnl_softmax_backward_desc_init(dnnl_softmax_desc_t *softmax_desc, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, int softmax_axis)
Initializes a descriptor for softmax backward propagation primitive.
dnnl_dim_t
int64_t dnnl_dim_t
A type to describe tensor dimension.
Definition: dnnl_types.h:1165
dnnl_memory_get_memory_desc
dnnl_status_t DNNL_API dnnl_memory_get_memory_desc(const_dnnl_memory_t memory, const dnnl_memory_desc_t **memory_desc)
Returns the memory descriptor for a memory object.
dnnl_vanilla_rnn_backward_desc_init
dnnl_status_t DNNL_API dnnl_vanilla_rnn_backward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, const dnnl_alg_kind_t activation, const dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags, float alpha, float beta)
Initializes a descriptor for vanilla RNN backward propagation primitive.
dnnl_prelu_backward_desc_init
dnnl_status_t DNNL_API dnnl_prelu_backward_desc_init(dnnl_prelu_desc_t *prelu_desc, const dnnl_memory_desc_t *data_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *diff_weights_desc)
Initializes a descriptor for PReLU (leaky ReLU with trainable alpha parameter) backward propagation p...
dnnl_deconvolution_backward_weights_desc_init
dnnl_status_t DNNL_API dnnl_deconvolution_backward_weights_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a deconvolution weights gradient primitive.
dnnl_resampling_backward_desc_init
dnnl_status_t DNNL_API dnnl_resampling_backward_desc_init(dnnl_resampling_desc_t *resampling_desc, dnnl_alg_kind_t alg_kind, const float *factors, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *diff_dst_desc)
Initializes a descriptor for resampling backward propagation primitive.
dnnl_post_ops_append_dw_k3s1p1
dnnl_status_t DNNL_API dnnl_post_ops_append_dw_k3s1p1(dnnl_post_ops_t post_ops, dnnl_data_type_t weights_data_type, dnnl_data_type_t bias_data_type, dnnl_data_type_t dst_data_type, dnnl_dim_t count, int mask, const float *scales)
Appends a depthwise post-op convolution with stride 1.
dnnl_primitive_get_primitive_desc
dnnl_status_t DNNL_API dnnl_primitive_get_primitive_desc(const_dnnl_primitive_t primitive, const_dnnl_primitive_desc_t *primitive_desc)
Retrieves a constant reference to the primitive descriptor of a given primitive.
dnnl_memory_desc_equal
int DNNL_API dnnl_memory_desc_equal(const dnnl_memory_desc_t *lhs, const dnnl_memory_desc_t *rhs)
Compares two memory descriptors.
dnnl_deconvolution_backward_data_desc_init
dnnl_status_t DNNL_API dnnl_deconvolution_backward_data_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a deconvolution backward propagation primitive.
dnnl_lrn_desc_t
A descriptor of a Local Response Normalization (LRN) operation.
Definition: dnnl_types.h:1628
dnnl_shuffle_desc_t
A descriptor of a shuffle operation.
Definition: dnnl_types.h:1419
dnnl_version_t
Structure containing version information as per Semantic Versioning
Definition: dnnl_types.h:2470
dnnl_batch_normalization_desc_t
A descriptor of a Batch Normalization operation.
Definition: dnnl_types.h:1659
dnnl_set_verbose
dnnl_status_t DNNL_API dnnl_set_verbose(int level)
Configures verbose output to stdout.
dnnl_dims_t
dnnl_dim_t dnnl_dims_t[DNNL_MAX_NDIMS]
A type to describe tensor dimensions.
Definition: dnnl_types.h:1168
dnnl_post_ops_append_sum_v2
dnnl_status_t DNNL_API dnnl_post_ops_append_sum_v2(dnnl_post_ops_t post_ops, float scale, dnnl_data_type_t data_type)
Appends an accumulation v2 (sum) to post-ops.
dnnl_eltwise_desc_t
A descriptor of a element-wise operation.
Definition: dnnl_types.h:1441
dnnl_eltwise_forward_desc_init
dnnl_status_t DNNL_API dnnl_eltwise_forward_desc_init(dnnl_eltwise_desc_t *eltwise_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *data_desc, float alpha, float beta)
Initializes a descriptor for eltwise forward propagation primitive.
dnnl_engine_get_ocl_device
dnnl_status_t DNNL_API dnnl_engine_get_ocl_device(dnnl_engine_t engine, cl_device_id *device)
Returns the OpenCL device associated with an engine.
dnnl_memory_get_engine
dnnl_status_t DNNL_API dnnl_memory_get_engine(const_dnnl_memory_t memory, dnnl_engine_t *engine)
Returns the engine of a memory object.
dnnl_post_ops_get_params_dw_k3s1p1
dnnl_status_t DNNL_API dnnl_post_ops_get_params_dw_k3s1p1(const_dnnl_post_ops_t post_ops, int index, dnnl_data_type_t *weights_data_type, dnnl_data_type_t *bias_data_type, dnnl_data_type_t *dst_data_type, dnnl_dim_t *count, int *mask, const float **scales)
Returns the parameters of an depthwise post-op with stride 1.
dnnl_layer_normalization_desc_t
A descriptor of a Layer Normalization operation.
Definition: dnnl_types.h:1692
dnnl_stream_create_ocl
dnnl_status_t DNNL_API dnnl_stream_create_ocl(dnnl_stream_t *stream, dnnl_engine_t engine, cl_command_queue queue)
Creates an execution stream for a given engine associated with an OpenCL command queue.
dnnl_engine_get_count
size_t DNNL_API dnnl_engine_get_count(dnnl_engine_kind_t kind)
Returns the number of engines of a particular kind.
dnnl_engine_create
dnnl_status_t DNNL_API dnnl_engine_create(dnnl_engine_t *engine, dnnl_engine_kind_t kind, size_t index)
Creates an engine.
dnnl_set_jit_profiling_jitdumpdir
dnnl_status_t DNNL_API dnnl_set_jit_profiling_jitdumpdir(const char *dir)
Sets JIT dump output path.
dnnl_primitive_desc_iterator_destroy
dnnl_status_t DNNL_API dnnl_primitive_desc_iterator_destroy(dnnl_primitive_desc_iterator_t iterator)
Destroys a primitive descriptor iterator.
dnnl_inner_product_backward_data_desc_init
dnnl_status_t DNNL_API dnnl_inner_product_backward_data_desc_init(dnnl_inner_product_desc_t *ip_desc, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc)
Initializes descriptor for inner product backward propagation.
dnnl_memory_map_data
dnnl_status_t DNNL_API dnnl_memory_map_data(const_dnnl_memory_t memory, void **mapped_ptr)
Maps a memory object and returns a host-side pointer to a memory buffer with a copy of its contents.
dnnl_dilated_deconvolution_backward_weights_desc_init
dnnl_status_t DNNL_API dnnl_dilated_deconvolution_backward_weights_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated deconvolution weights gradient primitive.
dnnl_batch_normalization_backward_desc_init
dnnl_status_t DNNL_API dnnl_batch_normalization_backward_desc_init(dnnl_batch_normalization_desc_t *bnrm_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, float epsilon, unsigned flags)
Initializes a descriptor for a batch normalization backward propagation primitive.
dnnl_lbr_gru_forward_desc_init
dnnl_status_t DNNL_API dnnl_lbr_gru_forward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, unsigned flags)
Initializes a descriptor for LBR GRU forward propagation primitive.
dnnl_stream_get_ocl_command_queue
dnnl_status_t DNNL_API dnnl_stream_get_ocl_command_queue(dnnl_stream_t stream, cl_command_queue *queue)
Returns the OpenCL command queue associated with an execution stream.
dnnl_inner_product_backward_weights_desc_init
dnnl_status_t DNNL_API dnnl_inner_product_backward_weights_desc_init(dnnl_inner_product_desc_t *ip_desc, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc)
Initializes descriptor for inner product weights gradient primitive.
dnnl_primitive_attr
An opaque structure for primitive descriptor attributes.
dnnl_set_primitive_cache_capacity
dnnl_status_t DNNL_API dnnl_set_primitive_cache_capacity(int capacity)
Sets a number of primitives that can be held in the primitive cache at a time.
dnnl_stream_get_engine
dnnl_status_t DNNL_API dnnl_stream_get_engine(const_dnnl_stream_t stream, dnnl_engine_t *engine)
Returns the engine of a stream object.
dnnl_primitive_attr_get_scales
dnnl_status_t DNNL_API dnnl_primitive_attr_get_scales(dnnl_primitive_attr_t attr, int arg, dnnl_dim_t *count, int *mask, const float **scales)
Returns primitive attributes scaling factors correspondence mask and values for a given memory argume...
dnnl_primitive_attr_set_rnn_data_qparams
dnnl_status_t DNNL_API dnnl_primitive_attr_set_rnn_data_qparams(dnnl_primitive_attr_t attr, const float scale, const float shift)
Set quantization scale and shift parameters for RNN data tensors.
dnnl_primitive_attr_get_post_ops
dnnl_status_t DNNL_API dnnl_primitive_attr_get_post_ops(const_dnnl_primitive_attr_t attr, const_dnnl_post_ops_t *post_ops)
Returns primitive attributes post-ops.
dnnl_scratchpad_mode_t
dnnl_scratchpad_mode_t
Scratchpad mode.
Definition: dnnl_types.h:2033
dnnl_stream_attr_destroy
dnnl_status_t DNNL_API dnnl_stream_attr_destroy(dnnl_stream_attr_t attr)
Destroys execution stream attributes.
dnnl_get_primitive_cache_capacity
dnnl_status_t DNNL_API dnnl_get_primitive_cache_capacity(int *capacity)
Returns the number of primitives that can be held in the primitive cache at the same time.
dnnl_dilated_deconvolution_backward_data_desc_init
dnnl_status_t DNNL_API dnnl_dilated_deconvolution_backward_data_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated deconvolution backward propagation primitive.
dnnl_resampling_desc_t
A descriptor of resampling operation.
Definition: dnnl_types.h:1915
dnnl_engine_get_ocl_context
dnnl_status_t DNNL_API dnnl_engine_get_ocl_context(dnnl_engine_t engine, cl_context *context)
Returns the OpenCL context associated with an engine.
dnnl_post_ops
An opaque structure for a chain of post operations.
dnnl_dilated_convolution_backward_weights_desc_init
dnnl_status_t DNNL_API dnnl_dilated_convolution_backward_weights_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated convolution weights gradient primitive.
dnnl_primitive_destroy
dnnl_status_t DNNL_API dnnl_primitive_destroy(dnnl_primitive_t primitive)
Destroys a primitive.
dnnl_memory_create
dnnl_status_t DNNL_API dnnl_memory_create(dnnl_memory_t *memory, const dnnl_memory_desc_t *memory_desc, dnnl_engine_t engine, void *handle)
Creates a memory object.
dnnl_pooling_forward_desc_init
dnnl_status_t DNNL_API dnnl_pooling_forward_desc_init(dnnl_pooling_desc_t *pool_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t kernel, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for pooling forward propagation primitive.
dnnl_logsoftmax_backward_desc_init
dnnl_status_t DNNL_API dnnl_logsoftmax_backward_desc_init(dnnl_logsoftmax_desc_t *logsoftmax_desc, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, int logsoftmax_axis)
Initializes a descriptor for logsoftmax backward propagation primitive.
dnnl_shuffle_forward_desc_init
dnnl_status_t DNNL_API dnnl_shuffle_forward_desc_init(dnnl_shuffle_desc_t *shuffle_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, int axis, dnnl_dim_t group_size)
Initializes a descriptor for shuffle forward propagation primitive.
dnnl_memory_desc_t
Memory descriptor.
Definition: dnnl_types.h:1277
dnnl_cpu_isa_t
dnnl_cpu_isa_t
CPU instruction set flags.
Definition: dnnl_types.h:2500
const_dnnl_stream_attr_t
const struct dnnl_stream_attr * const_dnnl_stream_attr_t
A constant execution stream attributes handle.
Definition: dnnl_types.h:2443
dnnl_lrn_forward_desc_init
dnnl_status_t DNNL_API dnnl_lrn_forward_desc_init(dnnl_lrn_desc_t *lrn_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *data_desc, dnnl_dim_t local_size, float alpha, float beta, float k)
Initializes a descriptor for LRN forward propagation primitive.
dnnl_pooling_v2_forward_desc_init
dnnl_status_t DNNL_API dnnl_pooling_v2_forward_desc_init(dnnl_pooling_v2_desc_t *pool_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t kernel, const dnnl_dims_t dilation, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for pooling v2 (pooling with dilation support) forward propagation primitive...
dnnl_engine_destroy
dnnl_status_t DNNL_API dnnl_engine_destroy(dnnl_engine_t engine)
Destroys an engine.
dnnl_post_ops_len
int DNNL_API dnnl_post_ops_len(const_dnnl_post_ops_t post_ops)
Returns the length of post-ops.
dnnl_batch_normalization_forward_desc_init
dnnl_status_t DNNL_API dnnl_batch_normalization_forward_desc_init(dnnl_batch_normalization_desc_t *bnrm_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, float epsilon, unsigned flags)
Initializes a descriptor for a batch normalization forward propagation primitive.
dnnl_shuffle_backward_desc_init
dnnl_status_t DNNL_API dnnl_shuffle_backward_desc_init(dnnl_shuffle_desc_t *shuffle_desc, const dnnl_memory_desc_t *diff_data_desc, int axis, dnnl_dim_t group_size)
Initializes a descriptor for shuffle backward propagation primitive.
dnnl_reduction_desc_t
A descriptor of reduction operation.
Definition: dnnl_types.h:1943
dnnl_lrn_backward_desc_init
dnnl_status_t DNNL_API dnnl_lrn_backward_desc_init(dnnl_lrn_desc_t *lrn_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, dnnl_dim_t local_size, float alpha, float beta, float k)
Initializes a descriptor for LRN backward propagation primitive.
dnnl_primitive_attr_get_rnn_data_qparams
dnnl_status_t DNNL_API dnnl_primitive_attr_get_rnn_data_qparams(const_dnnl_primitive_attr_t attr, float *scale, float *shift)
Returns the quantization scale and shift parameters for RNN data tensors.
dnnl_post_ops_get_params_sum
dnnl_status_t DNNL_API dnnl_post_ops_get_params_sum(const_dnnl_post_ops_t post_ops, int index, float *scale)
Returns the parameters of an accumulation (sum) post-op.
dnnl_primitive_attr_set_scratchpad_mode
dnnl_status_t DNNL_API dnnl_primitive_attr_set_scratchpad_mode(dnnl_primitive_attr_t attr, dnnl_scratchpad_mode_t mode)
Sets primitive attributes scratchpad mode.
dnnl_alg_kind_t
dnnl_alg_kind_t
Kinds of algorithms.
Definition: dnnl_types.h:939
const_dnnl_op_desc_t
const void * const_dnnl_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: dnnl_types.h:1354
dnnl_memory_desc_init_by_strides
dnnl_status_t DNNL_API dnnl_memory_desc_init_by_strides(dnnl_memory_desc_t *memory_desc, int ndims, const dnnl_dims_t dims, dnnl_data_type_t data_type, const dnnl_dims_t strides)
Initializes a memory descriptor using dimensions and strides.
dnnl_primitive_attr_set_zero_points
dnnl_status_t DNNL_API dnnl_primitive_attr_set_zero_points(dnnl_primitive_attr_t attr, int arg, dnnl_dim_t count, int mask, const int32_t *zero_points)
Sets primitive attributes zero points for primitive operations for a given memory argument.
dnnl_lstm_forward_desc_init_v3
dnnl_status_t DNNL_API dnnl_lstm_forward_desc_init_v3(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *weights_peephole_desc, const dnnl_memory_desc_t *weights_projection_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags)
Initializes a descriptor for an LSTM (with or without peephole and with or without recurrent projecti...
dnnl_primitive_create
dnnl_status_t DNNL_API dnnl_primitive_create(dnnl_primitive_t *primitive, const_dnnl_primitive_desc_t primitive_desc)
Creates a primitive.
dnnl_primitive_attr_set_rnn_weights_projection_qparams
dnnl_status_t DNNL_API dnnl_primitive_attr_set_rnn_weights_projection_qparams(dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask, const float *scales)
Sets quantization scaling factors for RNN projection weights tensors.
dnnl_stream
An opaque structure to describe an execution stream.
dnnl_binary_desc_t
A descriptor of a binary operation.
Definition: dnnl_types.h:1867
dnnl_primitive_attr_clone
dnnl_status_t DNNL_API dnnl_primitive_attr_clone(dnnl_primitive_attr_t *attr, const_dnnl_primitive_attr_t existing_attr)
Clones primitive attributes.
dnnl_post_ops_append_binary
dnnl_status_t DNNL_API dnnl_post_ops_append_binary(dnnl_post_ops_t post_ops, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src1_desc)
Appends a binary post-op.
dnnl_primitive_attr_get_rnn_weights_projection_qparams
dnnl_status_t DNNL_API dnnl_primitive_attr_get_rnn_weights_projection_qparams(const_dnnl_primitive_attr_t attr, dnnl_dim_t *count, int *mask, const float **scales)
Returns the quantization scaling factors for RNN projection weights tensors.
dnnl_post_ops_get_kind
dnnl_primitive_kind_t DNNL_API dnnl_post_ops_get_kind(const_dnnl_post_ops_t post_ops, int index)
Returns the kind of a post-op entry.
dnnl_pooling_v2_desc_t
A descriptor of a pooling operation.
Definition: dnnl_types.h:1566
dnnl_primitive_desc_create
dnnl_status_t DNNL_API dnnl_primitive_desc_create(dnnl_primitive_desc_t *primitive_desc, const_dnnl_op_desc_t op_desc, const_dnnl_primitive_attr_t attr, dnnl_engine_t engine, const_dnnl_primitive_desc_t hint_forward_primitive_desc)
Creates a primitive descriptor.
dnnl_deconvolution_forward_desc_init
dnnl_status_t DNNL_API dnnl_deconvolution_forward_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a deconvolution forward propagation primitive.
dnnl_resampling_forward_desc_init
dnnl_status_t DNNL_API dnnl_resampling_forward_desc_init(dnnl_resampling_desc_t *resampling_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const float *factors, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *dst_desc)
Initializes a descriptor for a resampling forward propagation primitive.
dnnl_matmul_desc_init
dnnl_status_t DNNL_API dnnl_matmul_desc_init(dnnl_matmul_desc_t *matmul_desc, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc)
Initializes a matrix multiplication descriptor.
dnnl_memory_desc_init_by_tag
dnnl_status_t DNNL_API dnnl_memory_desc_init_by_tag(dnnl_memory_desc_t *memory_desc, int ndims, const dnnl_dims_t dims, dnnl_data_type_t data_type, dnnl_format_tag_t tag)
Initializes a memory descriptor using dimensions and memory format tag.
dnnl_primitive_desc_iterator_fetch
dnnl_primitive_desc_t DNNL_API dnnl_primitive_desc_iterator_fetch(const_dnnl_primitive_desc_iterator_t iterator)
Fetches the current primitive descriptor from a primitive descriptor iterator.
dnnl_primitive_attr_get_rnn_weights_qparams
dnnl_status_t DNNL_API dnnl_primitive_attr_get_rnn_weights_qparams(const_dnnl_primitive_attr_t attr, dnnl_dim_t *count, int *mask, const float **scales)
Returns the quantization scaling factors for RNN weights tensors.
dnnl_dilated_convolution_backward_data_desc_init
dnnl_status_t DNNL_API dnnl_dilated_convolution_backward_data_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated convolution backward propagation primitive.
dnnl_layer_normalization_forward_desc_init
dnnl_status_t DNNL_API dnnl_layer_normalization_forward_desc_init(dnnl_layer_normalization_desc_t *lnrm_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, const dnnl_memory_desc_t *stat_desc, float epsilon, unsigned flags)
Initializes a descriptor for layer normalization forward propagation primitive.
dnnl_primitive_attr_set_rnn_weights_qparams
dnnl_status_t DNNL_API dnnl_primitive_attr_set_rnn_weights_qparams(dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask, const float *scales)
Sets quantization scaling factors for RNN weights tensors.
dnnl_primitive_attr_set_post_ops
dnnl_status_t DNNL_API dnnl_primitive_attr_set_post_ops(dnnl_primitive_attr_t attr, const_dnnl_post_ops_t post_ops)
Sets primitive attributes post-ops.
dnnl_primitive_desc_destroy
dnnl_status_t DNNL_API dnnl_primitive_desc_destroy(dnnl_primitive_desc_t primitive_desc)
Destroys a primitive descriptor.
dnnl_prop_kind_t
dnnl_prop_kind_t
Kinds of propagation.
Definition: dnnl_types.h:858
dnnl_dilated_convolution_forward_desc_init
dnnl_status_t DNNL_API dnnl_dilated_convolution_forward_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated convolution forward propagation primitive.
dnnl_primitive_attr_get_output_scales
dnnl_status_t DNNL_API dnnl_primitive_attr_get_output_scales(const_dnnl_primitive_attr_t attr, dnnl_dim_t *count, int *mask, const float **scales)
Returns primitive attributes output scaling factors correspondence mask and values.
dnnl_primitive_desc_query_md
const dnnl_memory_desc_t DNNL_API * dnnl_primitive_desc_query_md(const_dnnl_primitive_desc_t primitive_desc, dnnl_query_t what, int index)
Queries primitive descriptor for a memory descriptor.
dnnl_gemm_u8s8s32
dnnl_status_t DNNL_API dnnl_gemm_u8s8s32(char transa, char transb, char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const uint8_t *A, dnnl_dim_t lda, uint8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co)
Performs integer matrix-matrix multiply on 8-bit unsigned matrix A, 8-bit signed matrix B,...
dnnl_post_ops_create
dnnl_status_t DNNL_API dnnl_post_ops_create(dnnl_post_ops_t *post_ops)
Creates empty post-ops sequence.
dnnl_vanilla_rnn_forward_desc_init
dnnl_status_t DNNL_API dnnl_vanilla_rnn_forward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, const dnnl_alg_kind_t activation, const dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, unsigned flags, float alpha, float beta)
Initializes a descriptor for vanilla RNN forward propagation primitive.
dnnl_post_ops_get_params_eltwise
dnnl_status_t DNNL_API dnnl_post_ops_get_params_eltwise(const_dnnl_post_ops_t post_ops, int index, float *scale, dnnl_alg_kind_t *alg_kind, float *alpha, float *beta)
Returns the parameters of an elementwise post-op.
dnnl_set_jit_dump
dnnl_status_t DNNL_API dnnl_set_jit_dump(int enable)
Configures dumping of JIT-generated code.
dnnl_binary_desc_init
dnnl_status_t DNNL_API dnnl_binary_desc_init(dnnl_binary_desc_t *binary_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src0_desc, const dnnl_memory_desc_t *src1_desc, const dnnl_memory_desc_t *dst_desc)
Initializes a descriptor for a binary primitive.