mxnet
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 
228 int DNNL_API dnnl_primitive_desc_query_s32(
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 
568 int DNNL_API dnnl_post_ops_len(const_dnnl_post_ops_t post_ops);
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 
1019 int DNNL_API dnnl_memory_desc_equal(
1020  const dnnl_memory_desc_t *lhs, const dnnl_memory_desc_t *rhs);
1021 
1027 size_t DNNL_API dnnl_memory_desc_get_size(
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
1169 dnnl_status_t DNNL_API dnnl_memory_get_ocl_mem_object(
1176  const_dnnl_memory_t memory, cl_mem *mem_object);
1177 
1186 dnnl_status_t DNNL_API dnnl_memory_set_ocl_mem_object(
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 
1296  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src0_desc,
1297  const dnnl_memory_desc_t *src1_desc,
1298  const dnnl_memory_desc_t *dst_desc);
1299 
1301 
1304 
1337  dnnl_convolution_desc_t *conv_desc, dnnl_prop_kind_t prop_kind,
1338  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1339  const dnnl_memory_desc_t *weights_desc,
1340  const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc,
1341  const dnnl_dims_t strides, const dnnl_dims_t padding_l,
1342  const dnnl_dims_t padding_r);
1343 
1380  dnnl_convolution_desc_t *conv_desc, dnnl_prop_kind_t prop_kind,
1381  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1382  const dnnl_memory_desc_t *weights_desc,
1383  const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc,
1384  const dnnl_dims_t strides, const dnnl_dims_t dilates,
1385  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1386 
1414  dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind,
1415  const dnnl_memory_desc_t *diff_src_desc,
1416  const dnnl_memory_desc_t *weights_desc,
1417  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1418  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1419 
1451  dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind,
1452  const dnnl_memory_desc_t *diff_src_desc,
1453  const dnnl_memory_desc_t *weights_desc,
1454  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1455  const dnnl_dims_t dilates, const dnnl_dims_t padding_l,
1456  const dnnl_dims_t padding_r);
1457 
1488  dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind,
1489  const dnnl_memory_desc_t *src_desc,
1490  const dnnl_memory_desc_t *diff_weights_desc,
1491  const dnnl_memory_desc_t *diff_bias_desc,
1492  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1493  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1494 
1529  dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind,
1530  const dnnl_memory_desc_t *src_desc,
1531  const dnnl_memory_desc_t *diff_weights_desc,
1532  const dnnl_memory_desc_t *diff_bias_desc,
1533  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1534  const dnnl_dims_t dilates, const dnnl_dims_t padding_l,
1535  const dnnl_dims_t padding_r);
1536 
1538 
1541 
1573  dnnl_deconvolution_desc_t *deconv_desc, dnnl_prop_kind_t prop_kind,
1574  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1575  const dnnl_memory_desc_t *weights_desc,
1576  const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc,
1577  const dnnl_dims_t strides, const dnnl_dims_t padding_l,
1578  const dnnl_dims_t padding_r);
1579 
1615  dnnl_deconvolution_desc_t *deconv_desc, dnnl_prop_kind_t prop_kind,
1616  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1617  const dnnl_memory_desc_t *weights_desc,
1618  const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc,
1619  const dnnl_dims_t strides, const dnnl_dims_t dilates,
1620  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1621 
1648  dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind,
1649  const dnnl_memory_desc_t *diff_src_desc,
1650  const dnnl_memory_desc_t *weights_desc,
1651  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1652  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1653 
1684  dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind,
1685  const dnnl_memory_desc_t *diff_src_desc,
1686  const dnnl_memory_desc_t *weights_desc,
1687  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1688  const dnnl_dims_t dilates, const dnnl_dims_t padding_l,
1689  const dnnl_dims_t padding_r);
1690 
1720  dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind,
1721  const dnnl_memory_desc_t *src_desc,
1722  const dnnl_memory_desc_t *diff_weights_desc,
1723  const dnnl_memory_desc_t *diff_bias_desc,
1724  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1725  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
1726 
1760  dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind,
1761  const dnnl_memory_desc_t *src_desc,
1762  const dnnl_memory_desc_t *diff_weights_desc,
1763  const dnnl_memory_desc_t *diff_bias_desc,
1764  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1765  const dnnl_dims_t dilates, const dnnl_dims_t padding_l,
1766  const dnnl_dims_t padding_r);
1767 
1769 
1772 
1784  dnnl_shuffle_desc_t *shuffle_desc, dnnl_prop_kind_t prop_kind,
1785  const dnnl_memory_desc_t *data_desc, int axis, dnnl_dim_t group_size);
1786 
1796  dnnl_shuffle_desc_t *shuffle_desc,
1797  const dnnl_memory_desc_t *diff_data_desc, int axis,
1798  dnnl_dim_t group_size);
1799 
1801 
1804 
1819  dnnl_eltwise_desc_t *eltwise_desc, dnnl_prop_kind_t prop_kind,
1820  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *data_desc,
1821  float alpha, float beta);
1822 
1836  dnnl_eltwise_desc_t *eltwise_desc, dnnl_alg_kind_t alg_kind,
1837  const dnnl_memory_desc_t *diff_data_desc,
1838  const dnnl_memory_desc_t *data_desc, float alpha, float beta);
1839 
1841 
1844 
1855  dnnl_softmax_desc_t *softmax_desc, dnnl_prop_kind_t prop_kind,
1856  const dnnl_memory_desc_t *data_desc, int softmax_axis);
1857 
1867  dnnl_softmax_desc_t *softmax_desc,
1868  const dnnl_memory_desc_t *diff_data_desc,
1869  const dnnl_memory_desc_t *data_desc, int softmax_axis);
1870 
1872 
1875 
1886  dnnl_logsoftmax_desc_t *logsoftmax_desc, dnnl_prop_kind_t prop_kind,
1887  const dnnl_memory_desc_t *data_desc, int logsoftmax_axis);
1888 
1898  dnnl_logsoftmax_desc_t *logsoftmax_desc,
1899  const dnnl_memory_desc_t *diff_data_desc,
1900  const dnnl_memory_desc_t *data_desc, int logsoftmax_axis);
1901 
1903 
1906 
1932  dnnl_pooling_desc_t *pool_desc, dnnl_prop_kind_t prop_kind,
1933  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1934  const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides,
1935  const dnnl_dims_t kernel, const dnnl_dims_t padding_l,
1936  const dnnl_dims_t padding_r);
1937 
1961  dnnl_pooling_desc_t *pool_desc, dnnl_alg_kind_t alg_kind,
1962  const dnnl_memory_desc_t *diff_src_desc,
1963  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
1964  const dnnl_dims_t kernel, const dnnl_dims_t padding_l,
1965  const dnnl_dims_t padding_r);
1966 
1995  dnnl_pooling_v2_desc_t *pool_desc, dnnl_prop_kind_t prop_kind,
1996  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
1997  const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides,
1998  const dnnl_dims_t kernel, const dnnl_dims_t dilation,
1999  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
2000 
2027  dnnl_pooling_v2_desc_t *pool_desc, dnnl_alg_kind_t alg_kind,
2028  const dnnl_memory_desc_t *diff_src_desc,
2029  const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides,
2030  const dnnl_dims_t kernel, const dnnl_dims_t dilation,
2031  const dnnl_dims_t padding_l, const dnnl_dims_t padding_r);
2032 
2034 
2037 
2053  dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind,
2054  const dnnl_memory_desc_t *data_desc, dnnl_dim_t local_size, float alpha,
2055  float beta, float k);
2056 
2071  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_data_desc,
2072  const dnnl_memory_desc_t *data_desc, dnnl_dim_t local_size, float alpha,
2073  float beta, float k);
2074 
2076 
2079 
2096  dnnl_batch_normalization_desc_t *bnrm_desc, dnnl_prop_kind_t prop_kind,
2097  const dnnl_memory_desc_t *data_desc, float epsilon, unsigned flags);
2098 
2117  dnnl_batch_normalization_desc_t *bnrm_desc, dnnl_prop_kind_t prop_kind,
2118  const dnnl_memory_desc_t *diff_data_desc,
2119  const dnnl_memory_desc_t *data_desc, float epsilon, unsigned flags);
2120 
2122 
2125 
2147  dnnl_layer_normalization_desc_t *lnrm_desc, dnnl_prop_kind_t prop_kind,
2148  const dnnl_memory_desc_t *data_desc,
2149  const dnnl_memory_desc_t *stat_desc, float epsilon, unsigned flags);
2150 
2174  dnnl_layer_normalization_desc_t *lnrm_desc, dnnl_prop_kind_t prop_kind,
2175  const dnnl_memory_desc_t *diff_data_desc,
2176  const dnnl_memory_desc_t *data_desc,
2177  const dnnl_memory_desc_t *stat_desc, float epsilon, unsigned flags);
2178 
2180 
2183 
2202  dnnl_inner_product_desc_t *ip_desc, dnnl_prop_kind_t prop_kind,
2203  const dnnl_memory_desc_t *src_desc,
2204  const dnnl_memory_desc_t *weights_desc,
2205  const dnnl_memory_desc_t *bias_desc,
2206  const dnnl_memory_desc_t *dst_desc);
2207 
2221  dnnl_inner_product_desc_t *ip_desc,
2222  const dnnl_memory_desc_t *diff_src_desc,
2223  const dnnl_memory_desc_t *weights_desc,
2224  const dnnl_memory_desc_t *diff_dst_desc);
2225 
2242  dnnl_inner_product_desc_t *ip_desc, const dnnl_memory_desc_t *src_desc,
2243  const dnnl_memory_desc_t *diff_weights_desc,
2244  const dnnl_memory_desc_t *diff_bias_desc,
2245  const dnnl_memory_desc_t *diff_dst_desc);
2246 
2248 
2251 
2292  dnnl_primitive_attr_t attr, const float scale, const float shift);
2293 
2324  dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask,
2325  const float *scales);
2326 
2328 
2331 
2371  dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind,
2372  const dnnl_alg_kind_t activation, const dnnl_rnn_direction_t direction,
2373  const dnnl_memory_desc_t *src_layer_desc,
2374  const dnnl_memory_desc_t *src_iter_desc,
2375  const dnnl_memory_desc_t *weights_layer_desc,
2376  const dnnl_memory_desc_t *weights_iter_desc,
2377  const dnnl_memory_desc_t *bias_desc,
2378  const dnnl_memory_desc_t *dst_layer_desc,
2379  const dnnl_memory_desc_t *dst_iter_desc, unsigned flags, float alpha,
2380  float beta);
2381 
2432  dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind,
2433  const dnnl_alg_kind_t activation, const dnnl_rnn_direction_t direction,
2434  const dnnl_memory_desc_t *src_layer_desc,
2435  const dnnl_memory_desc_t *src_iter_desc,
2436  const dnnl_memory_desc_t *weights_layer_desc,
2437  const dnnl_memory_desc_t *weights_iter_desc,
2438  const dnnl_memory_desc_t *bias_desc,
2439  const dnnl_memory_desc_t *dst_layer_desc,
2440  const dnnl_memory_desc_t *dst_iter_desc,
2441  const dnnl_memory_desc_t *diff_src_layer_desc,
2442  const dnnl_memory_desc_t *diff_src_iter_desc,
2443  const dnnl_memory_desc_t *diff_weights_layer_desc,
2444  const dnnl_memory_desc_t *diff_weights_iter_desc,
2445  const dnnl_memory_desc_t *diff_bias_desc,
2446  const dnnl_memory_desc_t *diff_dst_layer_desc,
2447  const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags,
2448  float alpha, float beta);
2449 
2494  dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction,
2495  const dnnl_memory_desc_t *src_layer_desc,
2496  const dnnl_memory_desc_t *src_iter_desc,
2497  const dnnl_memory_desc_t *src_iter_c_desc,
2498  const dnnl_memory_desc_t *weights_layer_desc,
2499  const dnnl_memory_desc_t *weights_iter_desc,
2500  const dnnl_memory_desc_t *bias_desc,
2501  const dnnl_memory_desc_t *dst_layer_desc,
2502  const dnnl_memory_desc_t *dst_iter_desc,
2503  const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags);
2504 
2551  dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction,
2552  const dnnl_memory_desc_t *src_layer_desc,
2553  const dnnl_memory_desc_t *src_iter_desc,
2554  const dnnl_memory_desc_t *src_iter_c_desc,
2555  const dnnl_memory_desc_t *weights_layer_desc,
2556  const dnnl_memory_desc_t *weights_iter_desc,
2557  const dnnl_memory_desc_t *weights_peephole_desc,
2558  const dnnl_memory_desc_t *bias_desc,
2559  const dnnl_memory_desc_t *dst_layer_desc,
2560  const dnnl_memory_desc_t *dst_iter_desc,
2561  const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags);
2562 
2613  dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction,
2614  const dnnl_memory_desc_t *src_layer_desc,
2615  const dnnl_memory_desc_t *src_iter_desc,
2616  const dnnl_memory_desc_t *src_iter_c_desc,
2617  const dnnl_memory_desc_t *weights_layer_desc,
2618  const dnnl_memory_desc_t *weights_iter_desc,
2619  const dnnl_memory_desc_t *weights_peephole_desc,
2620  const dnnl_memory_desc_t *weights_projection_desc,
2621  const dnnl_memory_desc_t *bias_desc,
2622  const dnnl_memory_desc_t *dst_layer_desc,
2623  const dnnl_memory_desc_t *dst_iter_desc,
2624  const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags);
2625 
2687  dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction,
2688  const dnnl_memory_desc_t *src_layer_desc,
2689  const dnnl_memory_desc_t *src_iter_desc,
2690  const dnnl_memory_desc_t *src_iter_c_desc,
2691  const dnnl_memory_desc_t *weights_layer_desc,
2692  const dnnl_memory_desc_t *weights_iter_desc,
2693  const dnnl_memory_desc_t *bias_desc,
2694  const dnnl_memory_desc_t *dst_layer_desc,
2695  const dnnl_memory_desc_t *dst_iter_desc,
2696  const dnnl_memory_desc_t *dst_iter_c_desc,
2697  const dnnl_memory_desc_t *diff_src_layer_desc,
2698  const dnnl_memory_desc_t *diff_src_iter_desc,
2699  const dnnl_memory_desc_t *diff_src_iter_c_desc,
2700  const dnnl_memory_desc_t *diff_weights_layer_desc,
2701  const dnnl_memory_desc_t *diff_weights_iter_desc,
2702  const dnnl_memory_desc_t *diff_bias_desc,
2703  const dnnl_memory_desc_t *diff_dst_layer_desc,
2704  const dnnl_memory_desc_t *diff_dst_iter_desc,
2705  const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags);
2706 
2772  dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind,
2773  dnnl_rnn_direction_t direction,
2774  const dnnl_memory_desc_t *src_layer_desc,
2775  const dnnl_memory_desc_t *src_iter_desc,
2776  const dnnl_memory_desc_t *src_iter_c_desc,
2777  const dnnl_memory_desc_t *weights_layer_desc,
2778  const dnnl_memory_desc_t *weights_iter_desc,
2779  const dnnl_memory_desc_t *weights_peephole_desc,
2780  const dnnl_memory_desc_t *bias_desc,
2781  const dnnl_memory_desc_t *dst_layer_desc,
2782  const dnnl_memory_desc_t *dst_iter_desc,
2783  const dnnl_memory_desc_t *dst_iter_c_desc,
2784  const dnnl_memory_desc_t *diff_src_layer_desc,
2785  const dnnl_memory_desc_t *diff_src_iter_desc,
2786  const dnnl_memory_desc_t *diff_src_iter_c_desc,
2787  const dnnl_memory_desc_t *diff_weights_layer_desc,
2788  const dnnl_memory_desc_t *diff_weights_iter_desc,
2789  const dnnl_memory_desc_t *diff_weights_peephole_desc,
2790  const dnnl_memory_desc_t *diff_bias_desc,
2791  const dnnl_memory_desc_t *diff_dst_layer_desc,
2792  const dnnl_memory_desc_t *diff_dst_iter_desc,
2793  const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags);
2794 
2868  dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind,
2869  dnnl_rnn_direction_t direction,
2870  const dnnl_memory_desc_t *src_layer_desc,
2871  const dnnl_memory_desc_t *src_iter_desc,
2872  const dnnl_memory_desc_t *src_iter_c_desc,
2873  const dnnl_memory_desc_t *weights_layer_desc,
2874  const dnnl_memory_desc_t *weights_iter_desc,
2875  const dnnl_memory_desc_t *weights_peephole_desc,
2876  const dnnl_memory_desc_t *weights_projection_desc,
2877  const dnnl_memory_desc_t *bias_desc,
2878  const dnnl_memory_desc_t *dst_layer_desc,
2879  const dnnl_memory_desc_t *dst_iter_desc,
2880  const dnnl_memory_desc_t *dst_iter_c_desc,
2881  const dnnl_memory_desc_t *diff_src_layer_desc,
2882  const dnnl_memory_desc_t *diff_src_iter_desc,
2883  const dnnl_memory_desc_t *diff_src_iter_c_desc,
2884  const dnnl_memory_desc_t *diff_weights_layer_desc,
2885  const dnnl_memory_desc_t *diff_weights_iter_desc,
2886  const dnnl_memory_desc_t *diff_weights_peephole_desc,
2887  const dnnl_memory_desc_t *diff_weights_projection_desc,
2888  const dnnl_memory_desc_t *diff_bias_desc,
2889  const dnnl_memory_desc_t *diff_dst_layer_desc,
2890  const dnnl_memory_desc_t *diff_dst_iter_desc,
2891  const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags);
2892 
2928  dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction,
2929  const dnnl_memory_desc_t *src_layer_desc,
2930  const dnnl_memory_desc_t *src_iter_desc,
2931  const dnnl_memory_desc_t *weights_layer_desc,
2932  const dnnl_memory_desc_t *weights_iter_desc,
2933  const dnnl_memory_desc_t *bias_desc,
2934  const dnnl_memory_desc_t *dst_layer_desc,
2935  const dnnl_memory_desc_t *dst_iter_desc, unsigned flags);
2936 
2983  dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction,
2984  const dnnl_memory_desc_t *src_layer_desc,
2985  const dnnl_memory_desc_t *src_iter_desc,
2986  const dnnl_memory_desc_t *weights_layer_desc,
2987  const dnnl_memory_desc_t *weights_iter_desc,
2988  const dnnl_memory_desc_t *bias_desc,
2989  const dnnl_memory_desc_t *dst_layer_desc,
2990  const dnnl_memory_desc_t *dst_iter_desc,
2991  const dnnl_memory_desc_t *diff_src_layer_desc,
2992  const dnnl_memory_desc_t *diff_src_iter_desc,
2993  const dnnl_memory_desc_t *diff_weights_layer_desc,
2994  const dnnl_memory_desc_t *diff_weights_iter_desc,
2995  const dnnl_memory_desc_t *diff_bias_desc,
2996  const dnnl_memory_desc_t *diff_dst_layer_desc,
2997  const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags);
2998 
3030  dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction,
3031  const dnnl_memory_desc_t *src_layer_desc,
3032  const dnnl_memory_desc_t *src_iter_desc,
3033  const dnnl_memory_desc_t *weights_layer_desc,
3034  const dnnl_memory_desc_t *weights_iter_desc,
3035  const dnnl_memory_desc_t *bias_desc,
3036  const dnnl_memory_desc_t *dst_layer_desc,
3037  const dnnl_memory_desc_t *dst_iter_desc, unsigned flags);
3038 
3085  dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind,
3086  dnnl_rnn_direction_t direction,
3087  const dnnl_memory_desc_t *src_layer_desc,
3088  const dnnl_memory_desc_t *src_iter_desc,
3089  const dnnl_memory_desc_t *weights_layer_desc,
3090  const dnnl_memory_desc_t *weights_iter_desc,
3091  const dnnl_memory_desc_t *bias_desc,
3092  const dnnl_memory_desc_t *dst_layer_desc,
3093  const dnnl_memory_desc_t *dst_iter_desc,
3094  const dnnl_memory_desc_t *diff_src_layer_desc,
3095  const dnnl_memory_desc_t *diff_src_iter_desc,
3096  const dnnl_memory_desc_t *diff_weights_layer_desc,
3097  const dnnl_memory_desc_t *diff_weights_iter_desc,
3098  const dnnl_memory_desc_t *diff_bias_desc,
3099  const dnnl_memory_desc_t *diff_dst_layer_desc,
3100  const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags);
3101 
3103 
3106 
3119  const dnnl_memory_desc_t *src_desc,
3120  const dnnl_memory_desc_t *weights_desc,
3121  const dnnl_memory_desc_t *bias_desc,
3122  const dnnl_memory_desc_t *dst_desc);
3123 
3125 
3128 
3147  dnnl_resampling_desc_t *resampling_desc, dnnl_prop_kind_t prop_kind,
3148  dnnl_alg_kind_t alg_kind, const float *factors,
3149  const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *dst_desc);
3150 
3163  dnnl_resampling_desc_t *resampling_desc, dnnl_alg_kind_t alg_kind,
3164  const float *factors, const dnnl_memory_desc_t *diff_src_desc,
3165  const dnnl_memory_desc_t *diff_dst_desc);
3166 
3168 
3171 
3193  dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc,
3194  const dnnl_memory_desc_t *dst_desc, float p, float eps);
3195 
3197 
3199 
3202 
3207 size_t DNNL_API dnnl_engine_get_count(dnnl_engine_kind_t kind);
3208 
3218  dnnl_engine_t *engine, dnnl_engine_kind_t kind, size_t index);
3219 
3220 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
3221 dnnl_status_t DNNL_API dnnl_engine_create_ocl(dnnl_engine_t *engine,
3230  dnnl_engine_kind_t kind, cl_device_id device, cl_context context);
3231 #endif
3232 
3240  dnnl_engine_t engine, dnnl_engine_kind_t *kind);
3241 
3242 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
3243 dnnl_status_t DNNL_API dnnl_engine_get_ocl_context(
3250  dnnl_engine_t engine, cl_context *context);
3251 
3258 dnnl_status_t DNNL_API dnnl_engine_get_ocl_device(
3259  dnnl_engine_t engine, cl_device_id *device);
3260 #endif
3261 
3268 
3270 
3273 
3283 
3290 
3291 #if DNNL_CPU_THREADING_RUNTIME == DNNL_RUNTIME_THREADPOOL
3292 dnnl_status_t DNNL_API dnnl_stream_attr_set_threadpool(
3303  dnnl_stream_attr_t attr, void *threadpool);
3304 
3316 dnnl_status_t DNNL_API dnnl_stream_attr_get_threadpool(
3317  dnnl_stream_attr_t attr, void **threadpool);
3318 #endif
3319 
3328  dnnl_stream_t *stream, dnnl_engine_t engine, unsigned flags);
3329 
3339  dnnl_engine_t engine, unsigned flags, const_dnnl_stream_attr_t attr);
3340 
3341 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
3342 dnnl_status_t DNNL_API dnnl_stream_create_ocl(
3351  dnnl_stream_t *stream, dnnl_engine_t engine, cl_command_queue queue);
3352 #endif
3353 
3361  const_dnnl_stream_t stream, dnnl_engine_t *engine);
3362 
3363 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
3364 dnnl_status_t DNNL_API dnnl_stream_get_ocl_command_queue(
3371  dnnl_stream_t stream, cl_command_queue *queue);
3372 #endif
3373 
3380 
3387 
3389 
3392 
3401 dnnl_status_t DNNL_API dnnl_get_primitive_cache_capacity(int *capacity);
3402 
3414 dnnl_status_t DNNL_API dnnl_set_primitive_cache_capacity(int capacity);
3415 
3417 
3420 
3434 dnnl_status_t DNNL_API dnnl_set_verbose(int level);
3435 
3445 dnnl_status_t DNNL_API dnnl_set_jit_dump(int enable);
3446 
3453 const dnnl_version_t DNNL_API *dnnl_version();
3454 
3479 dnnl_status_t DNNL_API dnnl_set_jit_profiling_flags(unsigned flags);
3480 
3504 dnnl_status_t DNNL_API dnnl_set_jit_profiling_jitdumpdir(const char *dir);
3505 
3537 
3547 
3549 
3552 
3593 dnnl_status_t DNNL_API dnnl_sgemm(char transa, char transb, dnnl_dim_t M,
3594  dnnl_dim_t N, dnnl_dim_t K, float alpha, const float *A, dnnl_dim_t lda,
3595  const float *B, dnnl_dim_t ldb, float beta, float *C, dnnl_dim_t ldc);
3596 
3660 dnnl_status_t DNNL_API dnnl_gemm_u8s8s32(char transa, char transb, char offsetc,
3661  dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const uint8_t *A,
3662  dnnl_dim_t lda, uint8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo,
3663  float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co);
3664 
3728 dnnl_status_t DNNL_API dnnl_gemm_s8s8s32(char transa, char transb, char offsetc,
3729  dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const int8_t *A,
3730  dnnl_dim_t lda, int8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo,
3731  float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co);
3732 
3733 #if DNNL_CPU_RUNTIME == DNNL_RUNTIME_THREADPOOL
3734 dnnl_status_t DNNL_API dnnl_sgemm_tp(char transa, char transb, dnnl_dim_t M,
3738  dnnl_dim_t N, dnnl_dim_t K, float alpha, const float *A, dnnl_dim_t lda,
3739  const float *B, dnnl_dim_t ldb, float beta, float *C, dnnl_dim_t ldc,
3740  void *tp);
3741 
3745 dnnl_status_t DNNL_API dnnl_gemm_u8s8s32_tp(char transa, char transb,
3746  char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha,
3747  const uint8_t *A, dnnl_dim_t lda, uint8_t ao, const int8_t *B,
3748  dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc,
3749  const int32_t *co, void *tp);
3750 
3754 dnnl_status_t DNNL_API dnnl_gemm_s8s8s32_tp(char transa, char transb,
3755  char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha,
3756  const int8_t *A, dnnl_dim_t lda, int8_t ao, const int8_t *B,
3757  dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc,
3758  const int32_t *co, void *tp);
3759 #endif
3760 
3762 
3764 
3765 #ifdef __cplusplus
3766 }
3767 #endif
3768 
3769 #endif
dnnl_status_t DNNL_API dnnl_primitive_attr_create(dnnl_primitive_attr_t *attr)
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)
dnnl_status_t DNNL_API dnnl_primitive_attr_set_rnn_data_qparams(dnnl_primitive_attr_t attr, const float scale, const float shift)
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)
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)
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)
dnnl_status_t DNNL_API dnnl_primitive_desc_get_attr(const_dnnl_primitive_desc_t primitive_desc, const_dnnl_primitive_attr_t *attr)
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)
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)
A descriptor for an RNN operation.
Definition: dnnl_types.h:1670
dnnl_primitive_kind_t
Definition: dnnl_types.h:809
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)
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)
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)
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)
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)
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)
dnnl_status_t DNNL_API dnnl_primitive_desc_iterator_next(dnnl_primitive_desc_iterator_t iterator)
const void * const_dnnl_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: dnnl_types.h:1265
An opaque structure for primitive descriptor attributes.
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)
dnnl_engine_kind_t
Kinds of engines.
Definition: dnnl_types.h:1864
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)
dnnl_status_t DNNL_API dnnl_memory_destroy(dnnl_memory_t memory)
dnnl_status_t DNNL_API dnnl_memory_get_data_handle(const_dnnl_memory_t memory, void **handle)
dnnl_status_t DNNL_API dnnl_stream_get_engine(const_dnnl_stream_t stream, dnnl_engine_t *engine)
dnnl_status_t DNNL_API dnnl_primitive_attr_destroy(dnnl_primitive_attr_t attr)
A descriptor of a pooling operation.
Definition: dnnl_types.h:1435
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)
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)
int DNNL_API dnnl_primitive_desc_query_s32(const_dnnl_primitive_desc_t primitive_desc, dnnl_query_t what, int index)
An opaque structure to describe a primitive descriptor iterator.
dnnl_status_t DNNL_API dnnl_memory_set_data_handle(dnnl_memory_t memory, void *handle)
dnnl_status_t DNNL_API dnnl_stream_create(dnnl_stream_t *stream, dnnl_engine_t engine, unsigned flags)
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)
dnnl_status_t DNNL_API dnnl_primitive_desc_query(const_dnnl_primitive_desc_t primitive_desc, dnnl_query_t what, int index, void *result)
dnnl_status_t DNNL_API dnnl_memory_unmap_data(const_dnnl_memory_t memory, void *mapped_ptr)
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)
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)
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)
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)
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)
Definition: dnnl_types.h:1778
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)
dnnl_status_t DNNL_API dnnl_set_jit_profiling_flags(unsigned flags)
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)
dnnl_query_t
Definition: dnnl_types.h:2231
A descriptor of a binary operation.
Definition: dnnl_types.h:1752
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)
Definition: dnnl_types.h:2354
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)
int DNNL_API dnnl_post_ops_len(const_dnnl_post_ops_t post_ops)
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)
A descriptor of a convolution operation.
Definition: dnnl_types.h:1277
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)
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)
dnnl_scratchpad_mode_t
Scratchpad mode.
Definition: dnnl_types.h:1918
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)
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)
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)
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)
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)
An opaque structure to describe an engine.
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)
size_t DNNL_API dnnl_memory_desc_get_size(const dnnl_memory_desc_t *memory_desc)
A descriptor of a element-wise operation.
Definition: dnnl_types.h:1352
dnnl_status_t DNNL_API dnnl_post_ops_get_params_sum(const_dnnl_post_ops_t post_ops, int index, float *scale)
A descriptor of a Softmax operation.
Definition: dnnl_types.h:1405
An opaque structure for a chain of post operations.
A descriptor of an inner product operation.
Definition: dnnl_types.h:1614
dnnl_rnn_direction_t
A direction of RNN primitive execution.
Definition: dnnl_types.h:1654
A descriptor of reduction operation.
Definition: dnnl_types.h:1828
dnnl_status_t DNNL_API dnnl_memory_get_memory_desc(const_dnnl_memory_t memory, const dnnl_memory_desc_t **memory_desc)
dnnl_status_t
Status values returned by the library functions.
Definition: dnnl_types.h:39
dnnl_status_t DNNL_API dnnl_primitive_create(dnnl_primitive_t *primitive, const_dnnl_primitive_desc_t primitive_desc)
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)
dnnl_status_t DNNL_API dnnl_post_ops_destroy(dnnl_post_ops_t post_ops)
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)
int64_t dnnl_dim_t
A type to describe tensor dimension.
Definition: dnnl_types.h:1079
dnnl_status_t DNNL_API dnnl_primitive_desc_clone(dnnl_primitive_desc_t *primitive_desc, const_dnnl_primitive_desc_t existing_primitive_desc)
MaskExp< IndexExp, SrcExp, DType > mask(const Exp< IndexExp, DType, e1 > &index, const Exp< SrcExp, DType, e2 > &src)
Definition: mask.h:58
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)
dnnl_data_type_t
Data type specification.
Definition: dnnl_types.h:62
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)
dnnl_status_t DNNL_API dnnl_engine_create(dnnl_engine_t *engine, dnnl_engine_kind_t kind, size_t index)
dnnl_format_tag_t
Definition: dnnl_types.h:164
dnnl_status_t DNNL_API dnnl_memory_get_engine(const_dnnl_memory_t memory, dnnl_engine_t *engine)
dnnl_status_t DNNL_API dnnl_memory_map_data(const_dnnl_memory_t memory, void **mapped_ptr)
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)
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)
const dnnl_version_t DNNL_API * dnnl_version()
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)
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)
A descriptor of a shuffle operation.
Definition: dnnl_types.h:1330
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)
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)
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)
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)
dnnl_status_t DNNL_API dnnl_set_max_cpu_isa(dnnl_cpu_isa_t isa)
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)
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)
dnnl_status_t DNNL_API dnnl_primitive_get_primitive_desc(const_dnnl_primitive_t primitive, const_dnnl_primitive_desc_t *primitive_desc)
int DNNL_API dnnl_memory_desc_equal(const dnnl_memory_desc_t *lhs, const dnnl_memory_desc_t *rhs)
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)
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)
A descriptor of a Layer Normalization operation.
Definition: dnnl_types.h:1577
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)
dnnl_status_t DNNL_API dnnl_set_jit_profiling_jitdumpdir(const char *dir)
dnnl_status_t DNNL_API dnnl_primitive_destroy(dnnl_primitive_t primitive)
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)
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)
dnnl_status_t DNNL_API dnnl_post_ops_append_sum(dnnl_post_ops_t post_ops, float scale)
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)
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)
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)
dnnl_status_t DNNL_API dnnl_set_jit_dump(int enable)
dnnl_status_t DNNL_API dnnl_memory_set_data_handle_v2(dnnl_memory_t memory, void *handle, dnnl_stream_t stream)
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)
dnnl_cpu_isa_t DNNL_API dnnl_get_effective_cpu_isa(void)
dnnl_status_t DNNL_API dnnl_stream_wait(dnnl_stream_t stream)
dnnl_primitive_kind_t DNNL_API dnnl_post_ops_get_kind(const_dnnl_post_ops_t post_ops, int index)
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)
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)
struct dnnl_stream_attr * dnnl_stream_attr_t
An execution stream attributes handle.
Definition: dnnl_types.h:2325
Definition: dnnl_types.h:1188
A descriptor of a pooling operation.
Definition: dnnl_types.h:1473
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)
dnnl_status_t DNNL_API dnnl_engine_destroy(dnnl_engine_t engine)
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)
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)
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)
const struct dnnl_stream_attr * const_dnnl_stream_attr_t
A constant execution stream attributes handle.
Definition: dnnl_types.h:2327
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)
Definition: dnnl_types.h:2192
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)
dnnl_status_t DNNL_API dnnl_set_primitive_cache_capacity(int capacity)
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)
dnnl_status_t DNNL_API dnnl_primitive_attr_set_scratchpad_mode(dnnl_primitive_attr_t attr, dnnl_scratchpad_mode_t mode)
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)
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)
dnnl_status_t DNNL_API dnnl_get_primitive_cache_capacity(int *capacity)
dnnl_alg_kind_t
Kinds of algorithms.
Definition: dnnl_types.h:861
dnnl_status_t DNNL_API dnnl_primitive_desc_destroy(dnnl_primitive_desc_t primitive_desc)
dnnl_status_t DNNL_API dnnl_post_ops_create(dnnl_post_ops_t *post_ops)
A descriptor of a Local Response Normalization (LRN) operation.
Definition: dnnl_types.h:1513
dnnl_dim_t dnnl_dims_t[DNNL_MAX_NDIMS]
A type to describe tensor dimensions.
Definition: dnnl_types.h:1082
dnnl_status_t DNNL_API dnnl_engine_get_kind(dnnl_engine_t engine, dnnl_engine_kind_t *kind)
dnnl_status_t DNNL_API dnnl_primitive_attr_clone(dnnl_primitive_attr_t *attr, const_dnnl_primitive_attr_t existing_attr)
dnnl_status_t DNNL_API dnnl_stream_attr_destroy(dnnl_stream_attr_t attr)
dnnl_status_t DNNL_API dnnl_primitive_desc_iterator_destroy(dnnl_primitive_desc_iterator_t iterator)
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)
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)
A descriptor of a Batch Normalization operation.
Definition: dnnl_types.h:1544
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)
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)
dnnl_primitive_desc_t DNNL_API dnnl_primitive_desc_iterator_fetch(const_dnnl_primitive_desc_iterator_t iterator)
size_t DNNL_API dnnl_engine_get_count(dnnl_engine_kind_t kind)
An opaque structure to describe a primitive descriptor.
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)
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)
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)
A descriptor of resampling operation.
Definition: dnnl_types.h:1800
dnnl_status_t DNNL_API dnnl_set_verbose(int level)
dnnl_status_t DNNL_API dnnl_primitive_attr_get_post_ops(const_dnnl_primitive_attr_t attr, const_dnnl_post_ops_t *post_ops)
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)
dnnl_prop_kind_t
Kinds of propagation.
Definition: dnnl_types.h:782
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)
dnnl_status_t DNNL_API dnnl_stream_destroy(dnnl_stream_t stream)
dnnl_status_t DNNL_API dnnl_stream_attr_create(dnnl_stream_attr_t *attr, dnnl_engine_kind_t kind)
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)
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)
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)
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)
dnnl_cpu_isa_t
CPU instruction set flags.
Definition: dnnl_types.h:2384
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)
dnnl_status_t DNNL_API dnnl_primitive_attr_set_post_ops(dnnl_primitive_attr_t attr, const_dnnl_post_ops_t post_ops)
dnnl_status_t DNNL_API dnnl_primitive_attr_get_scratchpad_mode(const_dnnl_primitive_attr_t attr, dnnl_scratchpad_mode_t *mode)
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)