.. _global: .. index:: pair: namespace; global Global Namespace ================ .. toctree:: :hidden: namespace_std.rst namespace_sycl.rst enum_q10n_scheme_t.rst struct_args_t.rst struct_example_allows_unimplemented.rst .. ref-code-block:: cpp :class: doxyrest-overview-code-block // namespaces namespace :ref:`dnnl`; namespace :ref:`dnnl::ocl_interop`; namespace :ref:`dnnl::sycl_interop`; namespace :ref:`dnnl::threadpool_interop`; namespace :ref:`oneapi`; namespace :ref:`std`; namespace :ref:`sycl`; // typedefs typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`dnnl::memory::dim` :target:`dim_t`; typedef :ref:`dnnl::memory::dim` :target:`dim_t`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef :ref:`memory::format_tag` :target:`tag`; typedef :ref:`memory::data_type` :target:`dt`; typedef int64_t :ref:`dnnl_dim_t`; typedef :ref:`dnnl_dim_t` :ref:`dnnl_dims_t`[DNNL_MAX_NDIMS]; typedef struct :ref:`dnnl_memory`* :ref:`dnnl_memory_t`; typedef const struct :ref:`dnnl_memory`* :ref:`const_dnnl_memory_t`; typedef void* :ref:`dnnl_op_desc_t`; typedef const void* :ref:`const_dnnl_op_desc_t`; typedef :ref:`dnnl_convolution_desc_t` :ref:`dnnl_deconvolution_desc_t`; typedef :ref:`dnnl_softmax_desc_t` :ref:`dnnl_logsoftmax_desc_t`; typedef struct :ref:`dnnl_engine`* :ref:`dnnl_engine_t`; typedef struct :ref:`dnnl_primitive_desc_iterator`* :ref:`dnnl_primitive_desc_iterator_t`; typedef const struct :ref:`dnnl_primitive_desc_iterator`* :ref:`const_dnnl_primitive_desc_iterator_t`; typedef struct :ref:`dnnl_primitive_desc`* :ref:`dnnl_primitive_desc_t`; typedef const struct :ref:`dnnl_primitive_desc`* :ref:`const_dnnl_primitive_desc_t`; typedef struct :ref:`dnnl_primitive_attr`* :ref:`dnnl_primitive_attr_t`; typedef const struct :ref:`dnnl_primitive_attr`* :ref:`const_dnnl_primitive_attr_t`; typedef struct :ref:`dnnl_post_ops`* :ref:`dnnl_post_ops_t`; typedef const struct :ref:`dnnl_post_ops`* :ref:`const_dnnl_post_ops_t`; typedef struct :ref:`dnnl_primitive`* :ref:`dnnl_primitive_t`; typedef const struct :ref:`dnnl_primitive`* :ref:`const_dnnl_primitive_t`; typedef struct :ref:`dnnl_stream`* :ref:`dnnl_stream_t`; typedef const struct :ref:`dnnl_stream`* :ref:`const_dnnl_stream_t`; // enums enum :ref:`dnnl_alg_kind_t`; enum :ref:`dnnl_cpu_isa_hints_t`; enum :ref:`dnnl_cpu_isa_t`; enum :ref:`dnnl_data_type_t`; enum :ref:`dnnl_engine_kind_t`; enum :ref:`dnnl_format_kind_t`; enum :ref:`dnnl_format_tag_t`; enum :ref:`dnnl_fpmath_mode_t`; enum :ref:`dnnl_memory_extra_flags_t`; enum :ref:`dnnl_normalization_flags_t`; enum :ref:`dnnl_ocl_interop_memory_kind_t`; enum :ref:`dnnl_primitive_kind_t`; enum :ref:`dnnl_prop_kind_t`; enum :ref:`dnnl_query_t`; enum :ref:`dnnl_rnn_direction_t`; enum :ref:`dnnl_rnn_flags_t`; enum :ref:`dnnl_rnn_packed_memory_format_t`; enum :ref:`dnnl_scratchpad_mode_t`; enum :ref:`dnnl_status_t`; enum :ref:`dnnl_stream_flags_t`; enum :ref:`dnnl_sycl_interop_memory_kind_t`; enum :ref:`dnnl_wino_memory_format_t`; enum :ref:`q10n_scheme_t`; // structs struct :ref:`args_t`; struct :ref:`dnnl_batch_normalization_desc_t`; struct :ref:`dnnl_binary_desc_t`; struct :ref:`dnnl_blocking_desc_t`; struct :ref:`dnnl_convolution_desc_t`; struct :ref:`dnnl_eltwise_desc_t`; struct :ref:`dnnl_engine`; struct :ref:`dnnl_exec_arg_t`; struct :ref:`dnnl_inner_product_desc_t`; struct :ref:`dnnl_layer_normalization_desc_t`; struct :ref:`dnnl_lrn_desc_t`; struct :ref:`dnnl_matmul_desc_t`; struct :ref:`dnnl_memory`; struct :ref:`dnnl_memory_desc_t`; struct :ref:`dnnl_memory_extra_desc_t`; struct :ref:`dnnl_pooling_desc_t`; struct :ref:`dnnl_pooling_v2_desc_t`; struct :ref:`dnnl_post_ops`; struct :ref:`dnnl_prelu_desc_t`; struct :ref:`dnnl_primitive`; struct :ref:`dnnl_primitive_attr`; struct :ref:`dnnl_primitive_desc`; struct :ref:`dnnl_primitive_desc_iterator`; struct :ref:`dnnl_reduction_desc_t`; struct :ref:`dnnl_resampling_desc_t`; struct :ref:`dnnl_rnn_desc_t`; struct :ref:`dnnl_rnn_packed_desc_t`; struct :ref:`dnnl_shuffle_desc_t`; struct :ref:`dnnl_softmax_desc_t`; struct :ref:`dnnl_stream`; struct :ref:`dnnl_version_t`; struct :ref:`dnnl_wino_desc_t`; struct :ref:`example_allows_unimplemented`; // global variables const dim_t :target:`batch` = 32; const dim_t :target:`src_seq_length_max` = 10; const dim_t :target:`tgt_seq_length_max` = 10; const dim_t :target:`feature_size` = 256; const dim_t :target:`enc_bidir_n_layers` = 1; const dim_t :target:`enc_unidir_n_layers` = 3; const dim_t :target:`dec_n_layers` = 4; const int :target:`lstm_n_gates` = 4; const dim_t :target:`batch` = 32; const dim_t :target:`src_seq_length_max` = 10; const dim_t :target:`tgt_seq_length_max` = 10; const dim_t :target:`feature_size` = 256; const dim_t :target:`enc_bidir_n_layers` = 1; const dim_t :target:`enc_unidir_n_layers` = 3; const dim_t :target:`dec_n_layers` = 4; const int :target:`lstm_n_gates` = 4; const :ref:`memory::dims` :target:`strides` = {4, 4}; const :ref:`memory::dims` :target:`padding` = {0, 0}; const int :target:`N0` = 1 + rand() % 31; const int :target:`N1` = 1 + rand() % 31; const int :target:`T0` = 31 + 1 + rand() % 31; const int :target:`T1` = 1 + rand() % 31; const int :target:`leftmost_batch` = N0 + N1; const int :target:`rightmost_batch` = N0; const int :target:`leftmost_seq_length` = T1; const int :target:`rightmost_seq_length` = T0 - T1; const int :target:`common_feature_size` = 1024; const int :target:`common_n_layers` = 1; const int :target:`lstm_n_gates` = 4; :ref:`engine` :target:`eng`(engine::kind::cpu, 0); int :target:`number_of_runs` = 1; float :target:`fixed_beta` = 0.f; :ref:`engine` :target:`eng`(engine::kind::cpu, 0); int :target:`number_of_runs` = 1; // global functions void :target:`bnorm_u8_via_binary_postops`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); static size_t :target:`product`(:ref:`dnnl_dim_t`* arr, size_t size); static void :target:`init_net_data`(float* data, uint32_t dim, const :ref:`dnnl_dim_t`* dims); static void :target:`prepare_arg_node`(args_t* node, int nargs); static void :target:`free_arg_node`(args_t* node); static void :target:`set_arg`(:ref:`dnnl_exec_arg_t`* arg, int arg_idx, :ref:`dnnl_memory_t` memory); static void :target:`init_data_memory`( uint32_t dim, const :ref:`dnnl_dim_t`* dims, :ref:`dnnl_format_tag_t` user_tag, :ref:`dnnl_engine_t` engine, float* data, :ref:`dnnl_memory_t`* memory ); :ref:`dnnl_status_t` :target:`prepare_reorder`( :ref:`dnnl_memory_t`* user_memory, const :ref:`dnnl_memory_desc_t`* prim_memory_md, :ref:`dnnl_engine_t` prim_engine, int dir_is_user_to_prim, :ref:`dnnl_memory_t`* prim_memory, :ref:`dnnl_primitive_t`* reorder, uint32_t* net_index, :ref:`dnnl_primitive_t`* net, args_t* net_args ); void :target:`simple_net`(:ref:`dnnl_engine_kind_t` engine_kind); int :target:`main`(int argc, char** argv); void :target:`cnn_inference_f32`(:ref:`engine::kind` engine_kind); int :target:`main`(int argc, char** argv); int :target:`main`(int argc, char** argv); void :target:`simple_net`(:ref:`engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`simple_net`(:ref:`engine::kind` engine_kind); int :target:`main`(int argc, char** argv); static size_t :target:`product`(:ref:`dnnl_dim_t`* arr, size_t size); static void :target:`init_net_data`(float* data, uint32_t dim, const :ref:`dnnl_dim_t`* dims); static void :target:`prepare_arg_node`(args_t* node, int nargs); static void :target:`free_arg_node`(args_t* node); static void :target:`set_arg`(:ref:`dnnl_exec_arg_t`* arg, int arg_idx, :ref:`dnnl_memory_t` memory); static void :target:`init_data_memory`( uint32_t dim, const :ref:`dnnl_dim_t`* dims, :ref:`dnnl_format_tag_t` user_tag, :ref:`dnnl_engine_t` engine, float* data, :ref:`dnnl_memory_t`* memory ); :ref:`dnnl_status_t` :target:`prepare_reorder`( :ref:`dnnl_memory_t`* user_memory, const :ref:`dnnl_memory_desc_t`* prim_memory_md, :ref:`dnnl_engine_t` prim_engine, int dir_is_user_to_prim, :ref:`dnnl_memory_t`* prim_memory, :ref:`dnnl_primitive_t`* reorder, uint32_t* net_index, :ref:`dnnl_primitive_t`* net, args_t* net_args ); void :target:`simple_net`(); int :target:`main`(int argc, char** argv); std::vector :target:`weighted_src_layer`(batch* feature_size, 1. 0f); std::vector :target:`alignment_model`( src_seq_length_max*batch* feature_size, 1. 0f ); std::vector :target:`alignments`(src_seq_length_max* batch, 1. 0f); std::vector :target:`exp_sums`(batch, 1. 0f); void :target:`compute_weighted_annotations`( float* weighted_annotations, dim_t src_seq_length_max, dim_t batch, dim_t feature_size, float* weights_annot, float* annotations ); void :target:`compute_attention`( float* context_vectors, dim_t src_seq_length_max, dim_t batch, dim_t feature_size, float* weights_src_layer, float* dec_src_layer, float* annotations, float* weighted_annotations, float* weights_alignments ); void :target:`copy_context`( float* src_iter, dim_t n_layers, dim_t batch, dim_t feature_size ); int :target:`main`(int argc, char** argv); std::vector :target:`weighted_src_layer`(batch* feature_size, 1); std::vector :target:`alignment_model`( src_seq_length_max*batch* feature_size, 1. 0f ); std::vector :target:`alignments`(src_seq_length_max* batch, 1. 0f); std::vector :target:`exp_sums`(batch, 1. 0f); void :target:`compute_weighted_annotations`( float* weighted_annotations, dim_t src_seq_length_max, dim_t batch, dim_t feature_size, float* weights_annot, float* annotations ); void :target:`compute_sum_of_rows`(int8_t* a, dim_t rows, dim_t cols, int32_t* a_reduced); void :target:`compute_attention`( float* context_vectors, dim_t src_seq_length_max, dim_t batch, dim_t feature_size, int8_t* weights_src_layer, float weights_src_layer_scale, int32_t* compensation, uint8_t* dec_src_layer, float dec_src_layer_scale, float dec_src_layer_shift, uint8_t* annotations, float* weighted_annotations, float* weights_alignments ); void :target:`copy_context`( float* src_iter, dim_t n_layers, dim_t batch, dim_t feature_size ); int :target:`main`(int argc, char** argv); size_t :target:`product`(int n_dims, const :ref:`dnnl_dim_t` dims[]); void :target:`fill`(:ref:`dnnl_memory_t` mem, int n_dims, const :ref:`dnnl_dim_t` dims[]); int :target:`find_negative`(:ref:`dnnl_memory_t` mem, int n_dims, const :ref:`dnnl_dim_t` dims[]); void :target:`cross_engine_reorder`(); int :target:`main`(); void :target:`fill`(:ref:`memory`& mem, const :ref:`memory::dims`& adims); int :target:`find_negative`(:ref:`memory`& mem, const :ref:`memory::dims`& adims); int :target:`main`(int argc, char** argv); static :ref:`dnnl_engine_kind_t` :target:`validate_engine_kind`(:ref:`dnnl_engine_kind_t` akind); static :ref:`dnnl_engine_kind_t` :target:`parse_engine_kind`(int argc, char** argv); static const char* :target:`engine_kind2str_upper`(:ref:`dnnl_engine_kind_t` kind); static void :target:`read_from_dnnl_memory`(void* handle, :ref:`dnnl_memory_t` mem); static void :target:`write_to_dnnl_memory`(void* handle, :ref:`dnnl_memory_t` mem); :ref:`dnnl::engine::kind` :target:`validate_engine_kind`(:ref:`dnnl::engine::kind` akind); const char* :target:`engine_kind2str_upper`(:ref:`dnnl::engine::kind` kind); int :target:`handle_example_errors`( std::initializer_list<:ref:`dnnl::engine::kind`> engine_kinds, std::function example ); int :target:`handle_example_errors`( std::function`, int, char**)> example, :ref:`dnnl::engine::kind` engine_kind, int argc, char** argv ); int :target:`handle_example_errors`( std::function`)> example, :ref:`dnnl::engine::kind` engine_kind ); :ref:`dnnl::engine::kind` :target:`parse_engine_kind`(int argc, char** argv, int extra_args = 0); :ref:`dnnl::memory::dim` :target:`product`(const :ref:`dnnl::memory::dims`& dims); void :target:`read_from_dnnl_memory`(void* handle, :ref:`dnnl::memory`& mem); void :target:`write_to_dnnl_memory`(void* handle, :ref:`dnnl::memory`& mem); int :target:`main`(int argc, char** argv); cl_kernel :target:`create_init_opencl_kernel`( cl_context ocl_ctx, const char* kernel_name, const char* ocl_code ); int :target:`main`(int argc, char** argv); int :target:`main`(int argc, char** argv); void :target:`init_data`(:ref:`memory`& m, float v); void :target:`create_and_execute_relu`(:ref:`memory`& data, :ref:`engine`& eng, :ref:`stream`& s); primitive_attr :target:`create_attr_with_relu_post_op`(); void :target:`performance_profiling`(:ref:`engine::kind` engine_kind, int argc, char** argv); int :target:`main`(int argc, char** argv); void :target:`batch_normalization_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`binary_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`concat_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`convolution_example`(:ref:`dnnl::engine::kind` engine_kind); void :target:`depthwise_convolution_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`eltwise_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`inner_product_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`layer_normalization_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`logsoftmax_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`lrn_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`lstm_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`matmul_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`pooling_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`prelu_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`reduction_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`reorder_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`resampling_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`shuffle_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`softmax_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`sum_example`(:ref:`dnnl::engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`simple_net`(:ref:`engine::kind` engine_kind); int :target:`main`(int argc, char** argv); int :target:`main`(int argc, char** argv); void :target:`sycl_usm_tutorial`(:ref:`engine::kind` engine_kind); int :target:`main`(int argc, char** argv); void :target:`quantize`( q10n_scheme_t q10n_scheme, const std::vector& X_f32, float scale_X, int32_t zp_X, :ref:`memory`& X_int_m ); void :target:`f32_matmul_compute`( int64_t M, int64_t N, int64_t K, const std::vector& A_f32, const std::vector& B_f32, std::vector& C_f32 ); void :target:`dynamic_q10n_matmul`( int64_t M, int64_t N, int64_t K, const std::vector& A_f32, const std::vector& B_f32, std::vector& C_u8, float& scale_C, int32_t& zp_C ); void :target:`static_q10n_matmul`( int64_t M, int64_t N, int64_t K, const std::vector& A_f32, const std::vector& B_f32, float scale_A, int32_t zp_A, float scale_B, float scale_C, int32_t zp_C, std::vector& C_u8 ); void :target:`compare_f32_and_quantized_matmuls`(); int :target:`main`(int argc, char** argv); :ref:`matmul` :target:`dynamic_matmul_create`(); void :target:`dynamic_matmul_execute`( :ref:`matmul`& matmul_p, char transA, char transB, int64_t M, int64_t N, int64_t K, float alpha, const float* A, int64_t lda, const float* B, int64_t ldb, float beta, float* C, int64_t ldc ); void :target:`static_matmul_create_and_execute`( char transA, char transB, int64_t M, int64_t N, int64_t K, float alpha, const float* A, int64_t lda, const float* B, int64_t ldb, float beta, float* C, int64_t ldc ); void :target:`sgemm_and_matmul_with_params`( char transA, char transB, int64_t M, int64_t N, int64_t K, float alpha, float beta ); void :target:`sgemm_and_matmul`(); int :target:`main`(int argc, char** argv); :ref:`matmul::primitive_desc` :target:`matmul_pd_create`(int64_t K, int64_t N, const :ref:`engine`& eng); void :target:`prepare_input`( :ref:`memory`& A_u8_mem, :ref:`memory`& scale_f32_mem, :ref:`memory`& zp_A_mem, :ref:`memory`& zp_C_mem ); void :target:`sanity_check`(:ref:`memory`& C_u8_mem, :ref:`memory`& zp_C_mem); void :target:`infer`( const :ref:`matmul`& matmul_p, int64_t M, int64_t N, int64_t K, const :ref:`memory`& B_s8_mem, const :ref:`engine`& eng ); void :target:`inference_int8_matmul`(:ref:`engine::kind` engine_kind); int :target:`main`(int argc, char** argv); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_desc_iterator_create`( :ref:`dnnl_primitive_desc_iterator_t`* iterator, :ref:`const_dnnl_op_desc_t` op_desc, :ref:`const_dnnl_primitive_attr_t` attr, :ref:`dnnl_engine_t` engine, :ref:`const_dnnl_primitive_desc_t` hint_forward_primitive_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_desc_iterator_next`(:ref:`dnnl_primitive_desc_iterator_t` iterator); :ref:`dnnl_primitive_desc_t` DNNL_API :ref:`dnnl_primitive_desc_iterator_fetch`(:ref:`const_dnnl_primitive_desc_iterator_t` iterator); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_desc_iterator_destroy`(:ref:`dnnl_primitive_desc_iterator_t` iterator); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_desc_create`( :ref:`dnnl_primitive_desc_t`* primitive_desc, :ref:`const_dnnl_op_desc_t` op_desc, :ref:`const_dnnl_primitive_attr_t` attr, :ref:`dnnl_engine_t` engine, :ref:`const_dnnl_primitive_desc_t` hint_forward_primitive_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_desc_clone`( :ref:`dnnl_primitive_desc_t`* primitive_desc, :ref:`const_dnnl_primitive_desc_t` existing_primitive_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_desc_get_attr`( :ref:`const_dnnl_primitive_desc_t` primitive_desc, :ref:`const_dnnl_primitive_attr_t`* attr ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_desc_destroy`(:ref:`dnnl_primitive_desc_t` primitive_desc); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_desc_query`( :ref:`const_dnnl_primitive_desc_t` primitive_desc, :ref:`dnnl_query_t` what, int index, void* result ); const :ref:`dnnl_memory_desc_t` DNNL_API* :ref:`dnnl_primitive_desc_query_md`( :ref:`const_dnnl_primitive_desc_t` primitive_desc, :ref:`dnnl_query_t` what, int index ); int DNNL_API :ref:`dnnl_primitive_desc_query_s32`( :ref:`const_dnnl_primitive_desc_t` primitive_desc, :ref:`dnnl_query_t` what, int index ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_create`( :ref:`dnnl_primitive_t`* primitive, :ref:`const_dnnl_primitive_desc_t` primitive_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_execute`( :ref:`const_dnnl_primitive_t` primitive, :ref:`dnnl_stream_t` stream, int nargs, const :ref:`dnnl_exec_arg_t`* args ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_get_primitive_desc`( :ref:`const_dnnl_primitive_t` primitive, :ref:`const_dnnl_primitive_desc_t`* primitive_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_destroy`(:ref:`dnnl_primitive_t` primitive); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_create`(:ref:`dnnl_primitive_attr_t`* attr); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_clone`( :ref:`dnnl_primitive_attr_t`* attr, :ref:`const_dnnl_primitive_attr_t` existing_attr ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_destroy`(:ref:`dnnl_primitive_attr_t` attr); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_get_fpmath_mode`( :ref:`const_dnnl_primitive_attr_t` attr, :ref:`dnnl_fpmath_mode_t`* mode ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_set_fpmath_mode`( :ref:`dnnl_primitive_attr_t` attr, :ref:`dnnl_fpmath_mode_t` mode ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_get_scratchpad_mode`( :ref:`const_dnnl_primitive_attr_t` attr, :ref:`dnnl_scratchpad_mode_t`* mode ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_set_scratchpad_mode`( :ref:`dnnl_primitive_attr_t` attr, :ref:`dnnl_scratchpad_mode_t` mode ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_get_output_scales`( :ref:`const_dnnl_primitive_attr_t` attr, :ref:`dnnl_dim_t`* count, int* mask, const float** scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_set_output_scales`( :ref:`dnnl_primitive_attr_t` attr, :ref:`dnnl_dim_t` count, int mask, const float* scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_get_scales`( :ref:`dnnl_primitive_attr_t` attr, int arg, :ref:`dnnl_dim_t`* count, int* mask, const float** scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_set_scales`( :ref:`dnnl_primitive_attr_t` attr, int arg, :ref:`dnnl_dim_t` count, int mask, const float* scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_get_zero_points`( :ref:`const_dnnl_primitive_attr_t` attr, int arg, :ref:`dnnl_dim_t`* count, int* mask, const int32_t** zero_points ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_set_zero_points`( :ref:`dnnl_primitive_attr_t` attr, int arg, :ref:`dnnl_dim_t` count, int mask, const int32_t* zero_points ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_get_post_ops`( :ref:`const_dnnl_primitive_attr_t` attr, :ref:`const_dnnl_post_ops_t`* post_ops ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_set_post_ops`( :ref:`dnnl_primitive_attr_t` attr, :ref:`const_dnnl_post_ops_t` post_ops ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_create`(:ref:`dnnl_post_ops_t`* post_ops); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_destroy`(:ref:`dnnl_post_ops_t` post_ops); int DNNL_API :ref:`dnnl_post_ops_len`(:ref:`const_dnnl_post_ops_t` post_ops); :ref:`dnnl_primitive_kind_t` DNNL_API :ref:`dnnl_post_ops_get_kind`( :ref:`const_dnnl_post_ops_t` post_ops, int index ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_append_sum`( :ref:`dnnl_post_ops_t` post_ops, float scale ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_append_sum_v2`( :ref:`dnnl_post_ops_t` post_ops, float scale, :ref:`dnnl_data_type_t` data_type ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_append_sum_v3`( :ref:`dnnl_post_ops_t` post_ops, float scale, int32_t zero_point, :ref:`dnnl_data_type_t` data_type ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_get_params_sum`( :ref:`const_dnnl_post_ops_t` post_ops, int index, float* scale ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_get_params_sum_v2`( :ref:`const_dnnl_post_ops_t` post_ops, int index, float* scale, :ref:`dnnl_data_type_t`* data_type ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_get_params_sum_v3`( :ref:`const_dnnl_post_ops_t` post_ops, int index, float* scale, int32_t* zero_point, :ref:`dnnl_data_type_t`* data_type ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_append_eltwise`( :ref:`dnnl_post_ops_t` post_ops, float scale, :ref:`dnnl_alg_kind_t` alg_kind, float alpha, float beta ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_get_params_eltwise`( :ref:`const_dnnl_post_ops_t` post_ops, int index, float* scale, :ref:`dnnl_alg_kind_t`* alg_kind, float* alpha, float* beta ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_append_dw_k3s1p1`( :ref:`dnnl_post_ops_t` post_ops, :ref:`dnnl_data_type_t` weights_data_type, :ref:`dnnl_data_type_t` bias_data_type, :ref:`dnnl_data_type_t` dst_data_type, :ref:`dnnl_dim_t` count, int mask, const float* scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_get_params_dw_k3s1p1`( :ref:`const_dnnl_post_ops_t` post_ops, int index, :ref:`dnnl_data_type_t`* weights_data_type, :ref:`dnnl_data_type_t`* bias_data_type, :ref:`dnnl_data_type_t`* dst_data_type, :ref:`dnnl_dim_t`* count, int* mask, const float** scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_append_dw_k3s2p1`( :ref:`dnnl_post_ops_t` post_ops, :ref:`dnnl_data_type_t` weights_data_type, :ref:`dnnl_data_type_t` bias_data_type, :ref:`dnnl_data_type_t` dst_data_type, :ref:`dnnl_dim_t` count, int mask, const float* scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_get_params_dw_k3s2p1`( :ref:`const_dnnl_post_ops_t` post_ops, int index, :ref:`dnnl_data_type_t`* weights_data_type, :ref:`dnnl_data_type_t`* bias_data_type, :ref:`dnnl_data_type_t`* dst_data_type, :ref:`dnnl_dim_t`* count, int* mask, const float** scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_append_binary`( :ref:`dnnl_post_ops_t` post_ops, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src1_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_get_params_binary`( :ref:`const_dnnl_post_ops_t` post_ops, int index, :ref:`dnnl_alg_kind_t`* alg_kind, const :ref:`dnnl_memory_desc_t`** src1_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_append_prelu`( :ref:`dnnl_post_ops_t` post_ops, int mask ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_post_ops_get_params_prelu`( :ref:`const_dnnl_post_ops_t` post_ops, int index, int* mask ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_desc_init_by_strides`( :ref:`dnnl_memory_desc_t`* memory_desc, int ndims, const :ref:`dnnl_dims_t` dims, :ref:`dnnl_data_type_t` data_type, const :ref:`dnnl_dims_t` strides ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_desc_init_by_tag`( :ref:`dnnl_memory_desc_t`* memory_desc, int ndims, const :ref:`dnnl_dims_t` dims, :ref:`dnnl_data_type_t` data_type, :ref:`dnnl_format_tag_t` tag ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_desc_init_submemory`( :ref:`dnnl_memory_desc_t`* memory_desc, const :ref:`dnnl_memory_desc_t`* parent_memory_desc, const :ref:`dnnl_dims_t` dims, const :ref:`dnnl_dims_t` offsets ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_desc_reshape`( :ref:`dnnl_memory_desc_t`* out_memory_desc, const :ref:`dnnl_memory_desc_t`* in_memory_desc, int ndims, const :ref:`dnnl_dims_t` dims ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_desc_permute_axes`( :ref:`dnnl_memory_desc_t`* out_memory_desc, const :ref:`dnnl_memory_desc_t`* in_memory_desc, const int* permutation ); int DNNL_API :ref:`dnnl_memory_desc_equal`( const :ref:`dnnl_memory_desc_t`* lhs, const :ref:`dnnl_memory_desc_t`* rhs ); size_t DNNL_API :ref:`dnnl_memory_desc_get_size`(const :ref:`dnnl_memory_desc_t`* memory_desc); size_t DNNL_API :ref:`dnnl_data_type_size`(:ref:`dnnl_data_type_t` data_type); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_create`( :ref:`dnnl_memory_t`* memory, const :ref:`dnnl_memory_desc_t`* memory_desc, :ref:`dnnl_engine_t` engine, void* handle ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_get_memory_desc`( :ref:`const_dnnl_memory_t` memory, const :ref:`dnnl_memory_desc_t`** memory_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_get_engine`( :ref:`const_dnnl_memory_t` memory, :ref:`dnnl_engine_t`* engine ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_map_data`( :ref:`const_dnnl_memory_t` memory, void** mapped_ptr ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_unmap_data`( :ref:`const_dnnl_memory_t` memory, void* mapped_ptr ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_get_data_handle`( :ref:`const_dnnl_memory_t` memory, void** handle ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_set_data_handle`( :ref:`dnnl_memory_t` memory, void* handle ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_set_data_handle_v2`( :ref:`dnnl_memory_t` memory, void* handle, :ref:`dnnl_stream_t` stream ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_memory_destroy`(:ref:`dnnl_memory_t` memory); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_reorder_primitive_desc_create`( :ref:`dnnl_primitive_desc_t`* reorder_primitive_desc, const :ref:`dnnl_memory_desc_t`* src_desc, :ref:`dnnl_engine_t` src_engine, const :ref:`dnnl_memory_desc_t`* dst_desc, :ref:`dnnl_engine_t` dst_engine, :ref:`const_dnnl_primitive_attr_t` attr ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_concat_primitive_desc_create`( :ref:`dnnl_primitive_desc_t`* concat_primitive_desc, const :ref:`dnnl_memory_desc_t`* dst_desc, int n, int concat_dimension, const :ref:`dnnl_memory_desc_t`* src_descs, :ref:`const_dnnl_primitive_attr_t` attr, :ref:`dnnl_engine_t` engine ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_sum_primitive_desc_create`( :ref:`dnnl_primitive_desc_t`* sum_primitive_desc, const :ref:`dnnl_memory_desc_t`* dst_desc, int n, const float* scales, const :ref:`dnnl_memory_desc_t`* src_descs, :ref:`const_dnnl_primitive_attr_t` attr, :ref:`dnnl_engine_t` engine ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_binary_desc_init`( :ref:`dnnl_binary_desc_t`* binary_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src0_desc, const :ref:`dnnl_memory_desc_t`* src1_desc, const :ref:`dnnl_memory_desc_t`* dst_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_convolution_forward_desc_init`( :ref:`dnnl_convolution_desc_t`* conv_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_dilated_convolution_forward_desc_init`( :ref:`dnnl_convolution_desc_t`* conv_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` dilates, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_convolution_backward_data_desc_init`( :ref:`dnnl_convolution_desc_t`* conv_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* diff_src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_dilated_convolution_backward_data_desc_init`( :ref:`dnnl_convolution_desc_t`* conv_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* diff_src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` dilates, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_convolution_backward_weights_desc_init`( :ref:`dnnl_convolution_desc_t`* conv_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_dilated_convolution_backward_weights_desc_init`( :ref:`dnnl_convolution_desc_t`* conv_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` dilates, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_deconvolution_forward_desc_init`( :ref:`dnnl_deconvolution_desc_t`* deconv_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_dilated_deconvolution_forward_desc_init`( :ref:`dnnl_deconvolution_desc_t`* deconv_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` dilates, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_deconvolution_backward_data_desc_init`( :ref:`dnnl_deconvolution_desc_t`* deconv_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* diff_src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_dilated_deconvolution_backward_data_desc_init`( :ref:`dnnl_deconvolution_desc_t`* deconv_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* diff_src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` dilates, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_deconvolution_backward_weights_desc_init`( :ref:`dnnl_deconvolution_desc_t`* deconv_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_dilated_deconvolution_backward_weights_desc_init`( :ref:`dnnl_deconvolution_desc_t`* deconv_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` dilates, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_shuffle_forward_desc_init`( :ref:`dnnl_shuffle_desc_t`* shuffle_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_memory_desc_t`* data_desc, int axis, :ref:`dnnl_dim_t` group_size ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_shuffle_backward_desc_init`( :ref:`dnnl_shuffle_desc_t`* shuffle_desc, const :ref:`dnnl_memory_desc_t`* diff_data_desc, int axis, :ref:`dnnl_dim_t` group_size ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_eltwise_forward_desc_init`( :ref:`dnnl_eltwise_desc_t`* eltwise_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* data_desc, float alpha, float beta ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_eltwise_backward_desc_init`( :ref:`dnnl_eltwise_desc_t`* eltwise_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* diff_data_desc, const :ref:`dnnl_memory_desc_t`* data_desc, float alpha, float beta ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_softmax_forward_desc_init`( :ref:`dnnl_softmax_desc_t`* softmax_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_memory_desc_t`* data_desc, int softmax_axis ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_softmax_backward_desc_init`( :ref:`dnnl_softmax_desc_t`* softmax_desc, const :ref:`dnnl_memory_desc_t`* diff_data_desc, const :ref:`dnnl_memory_desc_t`* data_desc, int softmax_axis ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_logsoftmax_forward_desc_init`( :ref:`dnnl_logsoftmax_desc_t`* logsoftmax_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_memory_desc_t`* data_desc, int logsoftmax_axis ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_logsoftmax_backward_desc_init`( :ref:`dnnl_logsoftmax_desc_t`* logsoftmax_desc, const :ref:`dnnl_memory_desc_t`* diff_data_desc, const :ref:`dnnl_memory_desc_t`* data_desc, int logsoftmax_axis ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_pooling_forward_desc_init`( :ref:`dnnl_pooling_desc_t`* pool_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` kernel, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_pooling_backward_desc_init`( :ref:`dnnl_pooling_desc_t`* pool_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* diff_src_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` kernel, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_pooling_v2_forward_desc_init`( :ref:`dnnl_pooling_v2_desc_t`* pool_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` kernel, const :ref:`dnnl_dims_t` dilation, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_pooling_v2_backward_desc_init`( :ref:`dnnl_pooling_v2_desc_t`* pool_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* diff_src_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc, const :ref:`dnnl_dims_t` strides, const :ref:`dnnl_dims_t` kernel, const :ref:`dnnl_dims_t` dilation, const :ref:`dnnl_dims_t` padding_l, const :ref:`dnnl_dims_t` padding_r ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_prelu_forward_desc_init`( dnnl_prelu_desc_t* prelu_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_memory_desc_t`* data_desc, const :ref:`dnnl_memory_desc_t`* weights_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_prelu_backward_desc_init`( dnnl_prelu_desc_t* prelu_desc, const :ref:`dnnl_memory_desc_t`* data_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* diff_data_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_lrn_forward_desc_init`( :ref:`dnnl_lrn_desc_t`* lrn_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* data_desc, :ref:`dnnl_dim_t` local_size, float alpha, float beta, float k ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_lrn_backward_desc_init`( :ref:`dnnl_lrn_desc_t`* lrn_desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* diff_data_desc, const :ref:`dnnl_memory_desc_t`* data_desc, :ref:`dnnl_dim_t` local_size, float alpha, float beta, float k ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_batch_normalization_forward_desc_init`( :ref:`dnnl_batch_normalization_desc_t`* bnrm_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_memory_desc_t`* data_desc, float epsilon, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_batch_normalization_backward_desc_init`( :ref:`dnnl_batch_normalization_desc_t`* bnrm_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_memory_desc_t`* diff_data_desc, const :ref:`dnnl_memory_desc_t`* data_desc, float epsilon, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_layer_normalization_forward_desc_init`( :ref:`dnnl_layer_normalization_desc_t`* lnrm_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_memory_desc_t`* data_desc, const :ref:`dnnl_memory_desc_t`* stat_desc, float epsilon, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_layer_normalization_backward_desc_init`( :ref:`dnnl_layer_normalization_desc_t`* lnrm_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_memory_desc_t`* diff_data_desc, const :ref:`dnnl_memory_desc_t`* data_desc, const :ref:`dnnl_memory_desc_t`* stat_desc, float epsilon, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_inner_product_forward_desc_init`( :ref:`dnnl_inner_product_desc_t`* ip_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_inner_product_backward_data_desc_init`( :ref:`dnnl_inner_product_desc_t`* ip_desc, const :ref:`dnnl_memory_desc_t`* diff_src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_inner_product_backward_weights_desc_init`( :ref:`dnnl_inner_product_desc_t`* ip_desc, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_set_rnn_data_qparams`( :ref:`dnnl_primitive_attr_t` attr, const float scale, const float shift ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_get_rnn_data_qparams`( :ref:`const_dnnl_primitive_attr_t` attr, float* scale, float* shift ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_set_rnn_weights_qparams`( :ref:`dnnl_primitive_attr_t` attr, :ref:`dnnl_dim_t` count, int mask, const float* scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_get_rnn_weights_qparams`( :ref:`const_dnnl_primitive_attr_t` attr, :ref:`dnnl_dim_t`* count, int* mask, const float** scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_set_rnn_weights_projection_qparams`( :ref:`dnnl_primitive_attr_t` attr, :ref:`dnnl_dim_t` count, int mask, const float* scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_primitive_attr_get_rnn_weights_projection_qparams`( :ref:`const_dnnl_primitive_attr_t` attr, :ref:`dnnl_dim_t`* count, int* mask, const float** scales ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_vanilla_rnn_forward_desc_init`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_alg_kind_t` activation, const :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, unsigned flags, float alpha, float beta ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_vanilla_rnn_backward_desc_init`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_alg_kind_t` activation, const :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_src_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_src_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_iter_desc, unsigned flags, float alpha, float beta ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_lstm_forward_desc_init`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* src_iter_c_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_c_desc, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_lstm_forward_desc_init_v2`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* src_iter_c_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* weights_peephole_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_c_desc, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_lstm_forward_desc_init_v3`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* src_iter_c_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* weights_peephole_desc, const :ref:`dnnl_memory_desc_t`* weights_projection_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_c_desc, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_lstm_backward_desc_init`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* src_iter_c_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_c_desc, const :ref:`dnnl_memory_desc_t`* diff_src_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_src_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_src_iter_c_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_iter_c_desc, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_lstm_backward_desc_init_v2`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* src_iter_c_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* weights_peephole_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_c_desc, const :ref:`dnnl_memory_desc_t`* diff_src_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_src_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_src_iter_c_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_peephole_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_iter_c_desc, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_lstm_backward_desc_init_v3`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* src_iter_c_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* weights_peephole_desc, const :ref:`dnnl_memory_desc_t`* weights_projection_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_c_desc, const :ref:`dnnl_memory_desc_t`* diff_src_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_src_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_src_iter_c_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_peephole_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_projection_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_iter_c_desc, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_gru_forward_desc_init`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_gru_backward_desc_init`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_src_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_src_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_iter_desc, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_lbr_gru_forward_desc_init`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_lbr_gru_backward_desc_init`( :ref:`dnnl_rnn_desc_t`* rnn_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_rnn_direction_t` direction, const :ref:`dnnl_memory_desc_t`* src_layer_desc, const :ref:`dnnl_memory_desc_t`* src_iter_desc, const :ref:`dnnl_memory_desc_t`* weights_layer_desc, const :ref:`dnnl_memory_desc_t`* weights_iter_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_layer_desc, const :ref:`dnnl_memory_desc_t`* dst_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_src_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_src_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_iter_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_layer_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_iter_desc, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_matmul_desc_init`( :ref:`dnnl_matmul_desc_t`* matmul_desc, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_resampling_forward_desc_init`( :ref:`dnnl_resampling_desc_t`* resampling_desc, :ref:`dnnl_prop_kind_t` prop_kind, :ref:`dnnl_alg_kind_t` alg_kind, const float* factors, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* dst_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_resampling_backward_desc_init`( :ref:`dnnl_resampling_desc_t`* resampling_desc, :ref:`dnnl_alg_kind_t` alg_kind, const float* factors, const :ref:`dnnl_memory_desc_t`* diff_src_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_reduction_desc_init`( :ref:`dnnl_reduction_desc_t`* desc, :ref:`dnnl_alg_kind_t` alg_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* dst_desc, float p, float eps ); size_t DNNL_API :ref:`dnnl_engine_get_count`(:ref:`dnnl_engine_kind_t` kind); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_engine_create`( :ref:`dnnl_engine_t`* engine, :ref:`dnnl_engine_kind_t` kind, size_t index ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_engine_get_kind`( :ref:`dnnl_engine_t` engine, :ref:`dnnl_engine_kind_t`* kind ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_engine_destroy`(:ref:`dnnl_engine_t` engine); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_stream_create`( :ref:`dnnl_stream_t`* stream, :ref:`dnnl_engine_t` engine, unsigned flags ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_stream_get_engine`( :ref:`const_dnnl_stream_t` stream, :ref:`dnnl_engine_t`* engine ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_stream_wait`(:ref:`dnnl_stream_t` stream); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_stream_destroy`(:ref:`dnnl_stream_t` stream); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_get_primitive_cache_capacity`(int* capacity); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_set_primitive_cache_capacity`(int capacity); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_get_default_fpmath_mode`(:ref:`dnnl_fpmath_mode_t`* mode); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_set_default_fpmath_mode`(:ref:`dnnl_fpmath_mode_t` mode); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_set_verbose`(int level); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_set_jit_dump`(int enable); const :ref:`dnnl_version_t` DNNL_API* :ref:`dnnl_version`(void); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_set_jit_profiling_flags`(unsigned flags); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_set_jit_profiling_jitdumpdir`(const char* dir); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_set_max_cpu_isa`(:ref:`dnnl_cpu_isa_t` isa); :ref:`dnnl_cpu_isa_t` DNNL_API :ref:`dnnl_get_effective_cpu_isa`(void); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_set_cpu_isa_hints`(:ref:`dnnl_cpu_isa_hints_t` isa_hints); :ref:`dnnl_cpu_isa_hints_t` DNNL_API :ref:`dnnl_get_cpu_isa_hints`(void); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_sgemm`( char transa, char transb, :ref:`dnnl_dim_t` M, :ref:`dnnl_dim_t` N, :ref:`dnnl_dim_t` K, float alpha, const float* A, :ref:`dnnl_dim_t` lda, const float* B, :ref:`dnnl_dim_t` ldb, float beta, float* C, :ref:`dnnl_dim_t` ldc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_gemm_u8s8s32`( char transa, char transb, char offsetc, :ref:`dnnl_dim_t` M, :ref:`dnnl_dim_t` N, :ref:`dnnl_dim_t` K, float alpha, const uint8_t* A, :ref:`dnnl_dim_t` lda, uint8_t ao, const int8_t* B, :ref:`dnnl_dim_t` ldb, int8_t bo, float beta, int32_t* C, :ref:`dnnl_dim_t` ldc, const int32_t* co ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_gemm_s8s8s32`( char transa, char transb, char offsetc, :ref:`dnnl_dim_t` M, :ref:`dnnl_dim_t` N, :ref:`dnnl_dim_t` K, float alpha, const int8_t* A, :ref:`dnnl_dim_t` lda, int8_t ao, const int8_t* B, :ref:`dnnl_dim_t` ldb, int8_t bo, float beta, int32_t* C, :ref:`dnnl_dim_t` ldc, const int32_t* co ); const char DNNL_API* :target:`dnnl_status2str`(:ref:`dnnl_status_t` v); const char DNNL_API* :target:`dnnl_dt2str`(:ref:`dnnl_data_type_t` v); const char DNNL_API* :target:`dnnl_fmt_kind2str`(:ref:`dnnl_format_kind_t` v); const char DNNL_API* :target:`dnnl_fmt_tag2str`(:ref:`dnnl_format_tag_t` v); const char DNNL_API* :target:`dnnl_prop_kind2str`(:ref:`dnnl_prop_kind_t` v); const char DNNL_API* :target:`dnnl_prim_kind2str`(:ref:`dnnl_primitive_kind_t` v); const char DNNL_API* :target:`dnnl_alg_kind2str`(:ref:`dnnl_alg_kind_t` v); const char DNNL_API* :target:`dnnl_rnn_flags2str`(:ref:`dnnl_rnn_flags_t` v); const char DNNL_API* :target:`dnnl_rnn_direction2str`(:ref:`dnnl_rnn_direction_t` v); const char DNNL_API* :target:`dnnl_engine_kind2str`(:ref:`dnnl_engine_kind_t` v); const char DNNL_API* :target:`dnnl_fpmath_mode2str`(:ref:`dnnl_fpmath_mode_t` v); const char DNNL_API* :target:`dnnl_scratchpad_mode2str`(:ref:`dnnl_scratchpad_mode_t` v); const char DNNL_API* :target:`dnnl_cpu_isa2str`(:ref:`dnnl_cpu_isa_t` v); const char DNNL_API* :target:`dnnl_cpu_isa_hints2str`(:ref:`dnnl_cpu_isa_hints_t` v); const char DNNL_API* :target:`dnnl_runtime2str`(unsigned v); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_ocl_interop_memory_create`( :ref:`dnnl_memory_t`* memory, const :ref:`dnnl_memory_desc_t`* memory_desc, :ref:`dnnl_engine_t` engine, :ref:`dnnl_ocl_interop_memory_kind_t` memory_kind, void* handle ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_ocl_interop_memory_get_memory_kind`( :ref:`const_dnnl_memory_t` memory, :ref:`dnnl_ocl_interop_memory_kind_t`* memory_kind ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_ocl_interop_memory_get_mem_object`( :ref:`const_dnnl_memory_t` memory, cl_mem* mem_object ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_ocl_interop_memory_set_mem_object`( :ref:`dnnl_memory_t` memory, cl_mem mem_object ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_ocl_interop_engine_create`( :ref:`dnnl_engine_t`* engine, cl_device_id device, cl_context context ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_ocl_interop_engine_get_context`( :ref:`dnnl_engine_t` engine, cl_context* context ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_ocl_interop_get_device`( :ref:`dnnl_engine_t` engine, cl_device_id* device ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_ocl_interop_stream_create`( :ref:`dnnl_stream_t`* stream, :ref:`dnnl_engine_t` engine, cl_command_queue queue ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_ocl_interop_stream_get_command_queue`( :ref:`dnnl_stream_t` stream, cl_command_queue* queue ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_sycl_interop_engine_create`( :ref:`dnnl_engine_t`* engine, const void* device, const void* context ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_sycl_interop_engine_get_context`( :ref:`dnnl_engine_t` engine, void** context ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_sycl_interop_engine_get_device`( :ref:`dnnl_engine_t` engine, void** device ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_sycl_interop_memory_create`( :ref:`dnnl_memory_t`* memory, const :ref:`dnnl_memory_desc_t`* memory_desc, :ref:`dnnl_engine_t` engine, :ref:`dnnl_sycl_interop_memory_kind_t` memory_kind, void* handle ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_sycl_interop_memory_get_memory_kind`( :ref:`const_dnnl_memory_t` memory, :ref:`dnnl_sycl_interop_memory_kind_t`* memory_kind ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_sycl_interop_memory_set_buffer`( :ref:`dnnl_memory_t` memory, void* buffer, :ref:`dnnl_stream_t` stream ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_sycl_interop_stream_create`( :ref:`dnnl_stream_t`* stream, :ref:`dnnl_engine_t` engine, void* queue ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_sycl_interop_stream_get_queue`( :ref:`dnnl_stream_t` stream, void** queue ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_sycl_interop_primitive_execute`( :ref:`const_dnnl_primitive_t` primitive, :ref:`dnnl_stream_t` stream, int nargs, const :ref:`dnnl_exec_arg_t`* args, const void* deps, void* return_event ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_threadpool_interop_stream_create`( :ref:`dnnl_stream_t`* stream, :ref:`dnnl_engine_t` engine, void* threadpool ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_threadpool_interop_stream_get_threadpool`( :ref:`dnnl_stream_t` astream, void** threadpool ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_threadpool_interop_sgemm`( char transa, char transb, :ref:`dnnl_dim_t` M, :ref:`dnnl_dim_t` N, :ref:`dnnl_dim_t` K, float alpha, const float* A, :ref:`dnnl_dim_t` lda, const float* B, :ref:`dnnl_dim_t` ldb, float beta, float* C, :ref:`dnnl_dim_t` ldc, void* threadpool ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_threadpool_interop_gemm_u8s8s32`( char transa, char transb, char offsetc, :ref:`dnnl_dim_t` M, :ref:`dnnl_dim_t` N, :ref:`dnnl_dim_t` K, float alpha, const uint8_t* A, :ref:`dnnl_dim_t` lda, uint8_t ao, const int8_t* B, :ref:`dnnl_dim_t` ldb, int8_t bo, float beta, int32_t* C, :ref:`dnnl_dim_t` ldc, const int32_t* co, void* threadpool ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_threadpool_interop_gemm_s8s8s32`( char transa, char transb, char offsetc, :ref:`dnnl_dim_t` M, :ref:`dnnl_dim_t` N, :ref:`dnnl_dim_t` K, float alpha, const int8_t* A, :ref:`dnnl_dim_t` lda, int8_t ao, const int8_t* B, :ref:`dnnl_dim_t` ldb, int8_t bo, float beta, int32_t* C, :ref:`dnnl_dim_t` ldc, const int32_t* co, void* threadpool ); // macros #define :target:`BATCH` #define :target:`BATCH` #define :target:`CHECK`(f) #define :target:`COMPLAIN_DNNL_ERROR_AND_EXIT`(what, status) #define :target:`COMPLAIN_EXAMPLE_ERROR_AND_EXIT`(complain_fmt, ...) #define :target:`CONV_IH` #define :target:`CONV_IH` #define :target:`CONV_IW` #define :target:`CONV_IW` #define :target:`CONV_OH` #define :target:`CONV_OH` #define :target:`CONV_OW` #define :target:`CONV_OW` #define :target:`CONV_PAD` #define :target:`CONV_PAD` #define :target:`CONV_STRIDE` #define :target:`CONV_STRIDE` #define :ref:`DNNL_ARG_ATTR_INPUT_SCALES` #define :ref:`DNNL_ARG_ATTR_MULTIPLE_POST_OP`(idx) #define :ref:`DNNL_ARG_ATTR_MULTIPLE_POST_OP_BASE` #define :ref:`DNNL_ARG_ATTR_OUTPUT_SCALES` #define :ref:`DNNL_ARG_ATTR_POST_OP_DW` #define :ref:`DNNL_ARG_ATTR_ZERO_POINTS` #define :ref:`DNNL_ARG_BIAS` #define :ref:`DNNL_ARG_DIFF_BIAS` #define :ref:`DNNL_ARG_DIFF_DST` #define :ref:`DNNL_ARG_DIFF_DST_0` #define :ref:`DNNL_ARG_DIFF_DST_1` #define :ref:`DNNL_ARG_DIFF_DST_2` #define :ref:`DNNL_ARG_DIFF_DST_ITER` #define :ref:`DNNL_ARG_DIFF_DST_ITER_C` #define :ref:`DNNL_ARG_DIFF_DST_LAYER` #define :ref:`DNNL_ARG_DIFF_SCALE` #define :ref:`DNNL_ARG_DIFF_SCALE_SHIFT` #define :ref:`DNNL_ARG_DIFF_SHIFT` #define :ref:`DNNL_ARG_DIFF_SRC` #define :ref:`DNNL_ARG_DIFF_SRC_0` #define :ref:`DNNL_ARG_DIFF_SRC_1` #define :ref:`DNNL_ARG_DIFF_SRC_2` #define :ref:`DNNL_ARG_DIFF_SRC_ITER` #define :ref:`DNNL_ARG_DIFF_SRC_ITER_C` #define :ref:`DNNL_ARG_DIFF_SRC_LAYER` #define :ref:`DNNL_ARG_DIFF_WEIGHTS` #define :ref:`DNNL_ARG_DIFF_WEIGHTS_0` #define :ref:`DNNL_ARG_DIFF_WEIGHTS_1` #define :ref:`DNNL_ARG_DIFF_WEIGHTS_2` #define :ref:`DNNL_ARG_DIFF_WEIGHTS_3` #define :ref:`DNNL_ARG_DIFF_WEIGHTS_ITER` #define :ref:`DNNL_ARG_DIFF_WEIGHTS_LAYER` #define :ref:`DNNL_ARG_DIFF_WEIGHTS_PEEPHOLE` #define :ref:`DNNL_ARG_DIFF_WEIGHTS_PROJECTION` #define :ref:`DNNL_ARG_DST` #define :ref:`DNNL_ARG_DST_0` #define :ref:`DNNL_ARG_DST_1` #define :ref:`DNNL_ARG_DST_2` #define :ref:`DNNL_ARG_DST_ITER` #define :ref:`DNNL_ARG_DST_ITER_C` #define :ref:`DNNL_ARG_DST_LAYER` #define :ref:`DNNL_ARG_FROM` #define :ref:`DNNL_ARG_MEAN` #define :ref:`DNNL_ARG_MULTIPLE_DST` #define :ref:`DNNL_ARG_MULTIPLE_SRC` #define :ref:`DNNL_ARG_SCALE` #define :ref:`DNNL_ARG_SCALE_SHIFT` #define :ref:`DNNL_ARG_SCRATCHPAD` #define :ref:`DNNL_ARG_SHIFT` #define :ref:`DNNL_ARG_SRC` #define :ref:`DNNL_ARG_SRC_0` #define :ref:`DNNL_ARG_SRC_1` #define :ref:`DNNL_ARG_SRC_2` #define :ref:`DNNL_ARG_SRC_ITER` #define :ref:`DNNL_ARG_SRC_ITER_C` #define :ref:`DNNL_ARG_SRC_LAYER` #define :ref:`DNNL_ARG_TO` #define :ref:`DNNL_ARG_VARIANCE` #define :ref:`DNNL_ARG_WEIGHTS` #define :ref:`DNNL_ARG_WEIGHTS_0` #define :ref:`DNNL_ARG_WEIGHTS_1` #define :ref:`DNNL_ARG_WEIGHTS_2` #define :ref:`DNNL_ARG_WEIGHTS_3` #define :ref:`DNNL_ARG_WEIGHTS_ITER` #define :ref:`DNNL_ARG_WEIGHTS_LAYER` #define :ref:`DNNL_ARG_WEIGHTS_PEEPHOLE` #define :ref:`DNNL_ARG_WEIGHTS_PROJECTION` #define :ref:`DNNL_ARG_WORKSPACE` #define :target:`DNNL_ENABLE_EXCEPTIONS` #define :ref:`DNNL_JIT_PROFILE_LINUX_JITDUMP` #define :ref:`DNNL_JIT_PROFILE_LINUX_JITDUMP_USE_TSC` #define :ref:`DNNL_JIT_PROFILE_LINUX_PERF` #define :ref:`DNNL_JIT_PROFILE_LINUX_PERFMAP` #define :ref:`DNNL_JIT_PROFILE_NONE` #define :ref:`DNNL_JIT_PROFILE_VTUNE` #define :ref:`DNNL_MAX_NDIMS` #define :ref:`DNNL_MEMORY_ALLOCATE` #define :ref:`DNNL_MEMORY_NONE` #define :ref:`DNNL_RNN_MAX_N_PARTS` #define :ref:`DNNL_RUNTIME_DIM_VAL` #define :ref:`DNNL_RUNTIME_DPCPP` #define :ref:`DNNL_RUNTIME_F32_VAL` #define :ref:`DNNL_RUNTIME_NONE` #define :ref:`DNNL_RUNTIME_OCL` #define :ref:`DNNL_RUNTIME_OMP` #define :ref:`DNNL_RUNTIME_S32_VAL` #define :ref:`DNNL_RUNTIME_SEQ` #define :ref:`DNNL_RUNTIME_SIZE_VAL` #define :ref:`DNNL_RUNTIME_SYCL` #define :ref:`DNNL_RUNTIME_TBB` #define :ref:`DNNL_RUNTIME_THREADPOOL` #define :target:`DNNL_THROW_ERROR`(status, msg) #define :target:`IC` #define :target:`IC` #define :target:`MKLDNN_API` #define :target:`MKLDNN_ARG_BIAS` #define :target:`MKLDNN_ARG_DIFF_BIAS` #define :target:`MKLDNN_ARG_DIFF_DST` #define :target:`MKLDNN_ARG_DIFF_DST_0` #define :target:`MKLDNN_ARG_DIFF_DST_1` #define :target:`MKLDNN_ARG_DIFF_DST_2` #define :target:`MKLDNN_ARG_DIFF_DST_ITER` #define :target:`MKLDNN_ARG_DIFF_DST_ITER_C` #define :target:`MKLDNN_ARG_DIFF_DST_LAYER` #define :target:`MKLDNN_ARG_DIFF_SCALE_SHIFT` #define :target:`MKLDNN_ARG_DIFF_SRC` #define :target:`MKLDNN_ARG_DIFF_SRC_0` #define :target:`MKLDNN_ARG_DIFF_SRC_1` #define :target:`MKLDNN_ARG_DIFF_SRC_2` #define :target:`MKLDNN_ARG_DIFF_SRC_ITER` #define :target:`MKLDNN_ARG_DIFF_SRC_ITER_C` #define :target:`MKLDNN_ARG_DIFF_SRC_LAYER` #define :target:`MKLDNN_ARG_DIFF_WEIGHTS` #define :target:`MKLDNN_ARG_DIFF_WEIGHTS_0` #define :target:`MKLDNN_ARG_DIFF_WEIGHTS_1` #define :target:`MKLDNN_ARG_DIFF_WEIGHTS_ITER` #define :target:`MKLDNN_ARG_DIFF_WEIGHTS_LAYER` #define :target:`MKLDNN_ARG_DST` #define :target:`MKLDNN_ARG_DST_0` #define :target:`MKLDNN_ARG_DST_1` #define :target:`MKLDNN_ARG_DST_2` #define :target:`MKLDNN_ARG_DST_ITER` #define :target:`MKLDNN_ARG_DST_ITER_C` #define :target:`MKLDNN_ARG_DST_LAYER` #define :target:`MKLDNN_ARG_FROM` #define :target:`MKLDNN_ARG_MEAN` #define :target:`MKLDNN_ARG_MULTIPLE_DST` #define :target:`MKLDNN_ARG_MULTIPLE_SRC` #define :target:`MKLDNN_ARG_SCALE_SHIFT` #define :target:`MKLDNN_ARG_SCRATCHPAD` #define :target:`MKLDNN_ARG_SRC` #define :target:`MKLDNN_ARG_SRC_0` #define :target:`MKLDNN_ARG_SRC_1` #define :target:`MKLDNN_ARG_SRC_2` #define :target:`MKLDNN_ARG_SRC_ITER` #define :target:`MKLDNN_ARG_SRC_ITER_C` #define :target:`MKLDNN_ARG_SRC_LAYER` #define :target:`MKLDNN_ARG_TO` #define :target:`MKLDNN_ARG_VARIANCE` #define :target:`MKLDNN_ARG_WEIGHTS` #define :target:`MKLDNN_ARG_WEIGHTS_0` #define :target:`MKLDNN_ARG_WEIGHTS_1` #define :target:`MKLDNN_ARG_WEIGHTS_ITER` #define :target:`MKLDNN_ARG_WEIGHTS_LAYER` #define :target:`MKLDNN_ARG_WORKSPACE` #define :target:`MKLDNN_CPU_RUNTIME` #define :target:`MKLDNN_DEFINE_BITMASK_OPS` #define :target:`MKLDNN_GPU_RUNTIME` #define :target:`MKLDNN_JIT_DUMP` #define :target:`MKLDNN_MAX_NDIMS` #define :target:`MKLDNN_MEMORY_ALLOCATE` #define :target:`MKLDNN_MEMORY_NONE` #define :target:`MKLDNN_RNN_MAX_N_PARTS` #define :target:`MKLDNN_RUNTIME_NONE` #define :target:`MKLDNN_RUNTIME_OCL` #define :target:`MKLDNN_RUNTIME_OMP` #define :target:`MKLDNN_RUNTIME_SEQ` #define :target:`MKLDNN_RUNTIME_SYCL` #define :target:`MKLDNN_RUNTIME_TBB` #define :target:`MKLDNN_VERBOSE` #define :target:`MKLDNN_VERSION_HASH` #define :target:`MKLDNN_VERSION_MAJOR` #define :target:`MKLDNN_VERSION_MINOR` #define :target:`MKLDNN_VERSION_PATCH` #define :target:`MKLDNN_WITH_SYCL` #define :target:`OC` #define :target:`OC` #define :target:`OCL_CHECK`(x) #define :target:`POOL_OH` #define :target:`POOL_OH` #define :target:`POOL_OW` #define :target:`POOL_OW` #define :target:`POOL_PAD` #define :target:`POOL_PAD` #define :target:`POOL_STRIDE` #define :target:`POOL_STRIDE` #define :target:`PRAGMA_MACRO`(x) #define :target:`PRAGMA_MACRo`(x) #define :target:`PRAGMA_OMP_PARALLEL_FOR_COLLAPSE`(n) #define :target:`_POSIX_C_SOURCE` #define :target:`_POSIX_C_SOURCE` #define :target:`const_mkldnn_engine_t` #define :target:`const_mkldnn_memory_t` #define :target:`const_mkldnn_op_desc_t` #define :target:`const_mkldnn_post_ops_t` #define :target:`const_mkldnn_primitive_attr_t` #define :target:`const_mkldnn_primitive_desc_iterator_t` #define :target:`const_mkldnn_primitive_desc_t` #define :target:`const_mkldnn_primitive_t` #define :target:`const_mkldnn_stream_t` #define :target:`mkldnn` #define :target:`mkldnn_` #define :target:`mkldnn_ABc16a16b` #define :target:`mkldnn_ABc16b16a` #define :target:`mkldnn_ABc4a4b` #define :target:`mkldnn_ABc4b16a4b` #define :target:`mkldnn_ABc4b4a` #define :target:`mkldnn_ABc8a16b2a` #define :target:`mkldnn_ABc8a8b` #define :target:`mkldnn_ABc8b16a2b` #define :target:`mkldnn_ABc8b8a` #define :target:`mkldnn_ABcd16a16b` #define :target:`mkldnn_ABcd16b16a` #define :target:`mkldnn_ABcd2a8b8a2b` #define :target:`mkldnn_ABcd32a32b` #define :target:`mkldnn_ABcd4a4b` #define :target:`mkldnn_ABcd4a8b8a4b` #define :target:`mkldnn_ABcd4b16a4b` #define :target:`mkldnn_ABcd4b4a` #define :target:`mkldnn_ABcd8a16b2a` #define :target:`mkldnn_ABcd8a8b` #define :target:`mkldnn_ABcd8b16a2b` #define :target:`mkldnn_ABcd8b8a` #define :target:`mkldnn_ABcde16a16b` #define :target:`mkldnn_ABcde16b16a` #define :target:`mkldnn_ABcde4a4b` #define :target:`mkldnn_ABcde4b16a4b` #define :target:`mkldnn_ABcde4b4a` #define :target:`mkldnn_ABcde8a16b2a` #define :target:`mkldnn_ABcde8a8b` #define :target:`mkldnn_ABcde8b16a2b` #define :target:`mkldnn_ABcde8b8a` #define :target:`mkldnn_Abc16a` #define :target:`mkldnn_Abc4a` #define :target:`mkldnn_Abcd16a` #define :target:`mkldnn_Abcd4a` #define :target:`mkldnn_Abcde16a` #define :target:`mkldnn_Abcde4a` #define :target:`mkldnn_Abcde8a` #define :target:`mkldnn_Abcdef16a` #define :target:`mkldnn_Acb16a` #define :target:`mkldnn_Acb4a` #define :target:`mkldnn_Acb8a` #define :target:`mkldnn_Acdb16a` #define :target:`mkldnn_Acdb32a` #define :target:`mkldnn_Acdb4a` #define :target:`mkldnn_Acdb8a` #define :target:`mkldnn_Acdeb16a` #define :target:`mkldnn_Acdeb4a` #define :target:`mkldnn_Acdeb8a` #define :target:`mkldnn_BAc16a16b` #define :target:`mkldnn_BAc16b16a` #define :target:`mkldnn_BAc8a16b2a` #define :target:`mkldnn_BAcd16a16b` #define :target:`mkldnn_BAcd16b16a` #define :target:`mkldnn_BAcd8a16b2a` #define :target:`mkldnn_BAcde16a16b` #define :target:`mkldnn_BAcde16b16a` #define :target:`mkldnn_BAcde8a16b2a` #define :target:`mkldnn_Goidhw16g` #define :target:`mkldnn_Goihw16g` #define :target:`mkldnn_Goihw8g` #define :target:`mkldnn_Goiw16g` #define :target:`mkldnn_IOdhw16i16o` #define :target:`mkldnn_IOdhw16o16i` #define :target:`mkldnn_IOdhw8o16i2o` #define :target:`mkldnn_IOhw16i16o` #define :target:`mkldnn_IOhw16o16i` #define :target:`mkldnn_IOhw8o16i2o` #define :target:`mkldnn_IOw16i16o` #define :target:`mkldnn_IOw16o16i` #define :target:`mkldnn_IOw8o16i2o` #define :target:`mkldnn_NCdhw16n16c` #define :target:`mkldnn_NChw16n16c` #define :target:`mkldnn_NChw32n32c` #define :target:`mkldnn_NCw16n16c` #define :target:`mkldnn_OIdhw16i16o` #define :target:`mkldnn_OIdhw16o16i` #define :target:`mkldnn_OIdhw4i16o4i` #define :target:`mkldnn_OIdhw4i4o` #define :target:`mkldnn_OIdhw4o4i` #define :target:`mkldnn_OIdhw8i16o2i` #define :target:`mkldnn_OIdhw8i8o` #define :target:`mkldnn_OIdhw8o16i2o` #define :target:`mkldnn_OIdhw8o8i` #define :target:`mkldnn_OIhw16i16o` #define :target:`mkldnn_OIhw16i16o2i` #define :target:`mkldnn_OIhw16i16o4i` #define :target:`mkldnn_OIhw16o16i` #define :target:`mkldnn_OIhw2o8i8o2i` #define :target:`mkldnn_OIhw4i16o4i` #define :target:`mkldnn_OIhw4i4o` #define :target:`mkldnn_OIhw4o4i` #define :target:`mkldnn_OIhw4o8i8o4i` #define :target:`mkldnn_OIhw8i16o2i` #define :target:`mkldnn_OIhw8i8o` #define :target:`mkldnn_OIhw8o16i2o` #define :target:`mkldnn_OIhw8o8i` #define :target:`mkldnn_OIw16i16o` #define :target:`mkldnn_OIw16o16i` #define :target:`mkldnn_OIw4i16o4i` #define :target:`mkldnn_OIw4i4o` #define :target:`mkldnn_OIw4o4i` #define :target:`mkldnn_OIw8i16o2i` #define :target:`mkldnn_OIw8i8o` #define :target:`mkldnn_OIw8o16i2o` #define :target:`mkldnn_OIw8o8i` #define :target:`mkldnn_Odhwi16o` #define :target:`mkldnn_Odhwi4o` #define :target:`mkldnn_Odhwi8o` #define :target:`mkldnn_Ohwi16o` #define :target:`mkldnn_Ohwi32o` #define :target:`mkldnn_Ohwi4o` #define :target:`mkldnn_Ohwi8o` #define :target:`mkldnn_Oidhw16o` #define :target:`mkldnn_Oidhw4o` #define :target:`mkldnn_Oihw16o` #define :target:`mkldnn_Oihw4o` #define :target:`mkldnn_Oiw16o` #define :target:`mkldnn_Oiw4o` #define :target:`mkldnn_Owi16o` #define :target:`mkldnn_Owi4o` #define :target:`mkldnn_Owi8o` #define :target:`mkldnn_a` #define :target:`mkldnn_aBCd16b16c` #define :target:`mkldnn_aBCd16c16b` #define :target:`mkldnn_aBCd4b4c` #define :target:`mkldnn_aBCd4c16b4c` #define :target:`mkldnn_aBCd4c4b` #define :target:`mkldnn_aBCd8b16c2b` #define :target:`mkldnn_aBCd8b8c` #define :target:`mkldnn_aBCd8c16b2c` #define :target:`mkldnn_aBCd8c8b` #define :target:`mkldnn_aBCde16b16c` #define :target:`mkldnn_aBCde16c16b` #define :target:`mkldnn_aBCde2b8c8b2c` #define :target:`mkldnn_aBCde2c8b4c` #define :target:`mkldnn_aBCde4b4c` #define :target:`mkldnn_aBCde4b8c8b4c` #define :target:`mkldnn_aBCde4c16b4c` #define :target:`mkldnn_aBCde4c4b` #define :target:`mkldnn_aBCde8b16c2b` #define :target:`mkldnn_aBCde8b8c` #define :target:`mkldnn_aBCde8c16b2c` #define :target:`mkldnn_aBCde8c8b` #define :target:`mkldnn_aBCdef16b16c` #define :target:`mkldnn_aBCdef16c16b` #define :target:`mkldnn_aBCdef4b4c` #define :target:`mkldnn_aBCdef4c16b4c` #define :target:`mkldnn_aBCdef4c4b` #define :target:`mkldnn_aBCdef8b16c2b` #define :target:`mkldnn_aBCdef8b8c` #define :target:`mkldnn_aBCdef8c16b2c` #define :target:`mkldnn_aBCdef8c8b` #define :target:`mkldnn_aBc16b` #define :target:`mkldnn_aBc4b` #define :target:`mkldnn_aBc8b` #define :target:`mkldnn_aBcd16b` #define :target:`mkldnn_aBcd4b` #define :target:`mkldnn_aBcd8b` #define :target:`mkldnn_aBcde16b` #define :target:`mkldnn_aBcde4b` #define :target:`mkldnn_aBcde8b` #define :target:`mkldnn_aBcdef16b` #define :target:`mkldnn_aBcdef4b` #define :target:`mkldnn_aBdc16b` #define :target:`mkldnn_aBdc4b` #define :target:`mkldnn_aBdc8b` #define :target:`mkldnn_aBdec16b` #define :target:`mkldnn_aBdec32b` #define :target:`mkldnn_aBdec4b` #define :target:`mkldnn_aBdec8b` #define :target:`mkldnn_aBdefc16b` #define :target:`mkldnn_aBdefc4b` #define :target:`mkldnn_aBdefc8b` #define :target:`mkldnn_aCBd16b16c` #define :target:`mkldnn_aCBd16c16b` #define :target:`mkldnn_aCBd8b16c2b` #define :target:`mkldnn_aCBde16b16c` #define :target:`mkldnn_aCBde16c16b` #define :target:`mkldnn_aCBde8b16c2b` #define :target:`mkldnn_aCBdef16b16c` #define :target:`mkldnn_aCBdef16c16b` #define :target:`mkldnn_aCBdef8b16c2b` #define :target:`mkldnn_ab` #define :target:`mkldnn_abc` #define :target:`mkldnn_abcd` #define :target:`mkldnn_abcde` #define :target:`mkldnn_abcdef` #define :target:`mkldnn_abdec` #define :target:`mkldnn_acb` #define :target:`mkldnn_acbde` #define :target:`mkldnn_acdb` #define :target:`mkldnn_acdeb` #define :target:`mkldnn_alg_kind2str` #define :target:`mkldnn_alg_kind_t` #define :target:`mkldnn_alg_kind_undef` #define :target:`mkldnn_any_engine` #define :target:`mkldnn_ba` #define :target:`mkldnn_bac` #define :target:`mkldnn_bacd` #define :target:`mkldnn_backward` #define :target:`mkldnn_backward_bias` #define :target:`mkldnn_backward_data` #define :target:`mkldnn_backward_weights` #define :target:`mkldnn_batch_normalization` #define :target:`mkldnn_batch_normalization_backward_desc_init` #define :target:`mkldnn_batch_normalization_desc_t` #define :target:`mkldnn_batch_normalization_forward_desc_init` #define :target:`mkldnn_bca` #define :target:`mkldnn_bcda` #define :target:`mkldnn_bcdea` #define :target:`mkldnn_bf16` #define :target:`mkldnn_bidirectional_concat` #define :target:`mkldnn_bidirectional_sum` #define :target:`mkldnn_blocked` #define :target:`mkldnn_blocking_desc_t` #define :target:`mkldnn_cba` #define :target:`mkldnn_cdba` #define :target:`mkldnn_cdeba` #define :target:`mkldnn_chwn` #define :target:`mkldnn_cn` #define :target:`mkldnn_concat` #define :target:`mkldnn_concat_primitive_desc_create` #define :target:`mkldnn_config` #define :target:`mkldnn_convolution` #define :target:`mkldnn_convolution_auto` #define :target:`mkldnn_convolution_backward_data_desc_init` #define :target:`mkldnn_convolution_backward_weights_desc_init` #define :target:`mkldnn_convolution_desc_t` #define :target:`mkldnn_convolution_direct` #define :target:`mkldnn_convolution_forward_desc_init` #define :target:`mkldnn_convolution_winograd` #define :target:`mkldnn_cpu` #define :target:`mkldnn_data_type_t` #define :target:`mkldnn_data_type_undef` #define :target:`mkldnn_decab` #define :target:`mkldnn_deconvolution` #define :target:`mkldnn_deconvolution_backward_data_desc_init` #define :target:`mkldnn_deconvolution_backward_weights_desc_init` #define :target:`mkldnn_deconvolution_desc_t` #define :target:`mkldnn_deconvolution_direct` #define :target:`mkldnn_deconvolution_forward_desc_init` #define :target:`mkldnn_deconvolution_winograd` #define :target:`mkldnn_dhwio` #define :target:`mkldnn_dilated_convolution_backward_data_desc_init` #define :target:`mkldnn_dilated_convolution_backward_weights_desc_init` #define :target:`mkldnn_dilated_convolution_forward_desc_init` #define :target:`mkldnn_dilated_deconvolution_backward_data_desc_init` #define :target:`mkldnn_dilated_deconvolution_backward_weights_desc_init` #define :target:`mkldnn_dilated_deconvolution_forward_desc_init` #define :target:`mkldnn_dim_t` #define :target:`mkldnn_dims_t` #define :target:`mkldnn_dt2str` #define :target:`mkldnn_eltwise` #define :target:`mkldnn_eltwise_abs` #define :target:`mkldnn_eltwise_backward_desc_init` #define :target:`mkldnn_eltwise_bounded_relu` #define :target:`mkldnn_eltwise_desc_t` #define :target:`mkldnn_eltwise_elu` #define :target:`mkldnn_eltwise_exp` #define :target:`mkldnn_eltwise_forward_desc_init` #define :target:`mkldnn_eltwise_gelu` #define :target:`mkldnn_eltwise_linear` #define :target:`mkldnn_eltwise_logistic` #define :target:`mkldnn_eltwise_relu` #define :target:`mkldnn_eltwise_soft_relu` #define :target:`mkldnn_eltwise_sqrt` #define :target:`mkldnn_eltwise_square` #define :target:`mkldnn_eltwise_swish` #define :target:`mkldnn_eltwise_tanh` #define :target:`mkldnn_engine` #define :target:`mkldnn_engine_create` #define :target:`mkldnn_engine_create_ocl` #define :target:`mkldnn_engine_destroy` #define :target:`mkldnn_engine_get_count` #define :target:`mkldnn_engine_get_kind` #define :target:`mkldnn_engine_get_ocl_context` #define :target:`mkldnn_engine_get_ocl_device` #define :target:`mkldnn_engine_kind2str` #define :target:`mkldnn_engine_kind_t` #define :target:`mkldnn_engine_t` #define :target:`mkldnn_exec_arg_t` #define :target:`mkldnn_f16` #define :target:`mkldnn_f32` #define :target:`mkldnn_fmt_kind2str` #define :target:`mkldnn_fmt_tag2str` #define :target:`mkldnn_format_kind_any` #define :target:`mkldnn_format_kind_rnn_packed` #define :target:`mkldnn_format_kind_t` #define :target:`mkldnn_format_kind_undef` #define :target:`mkldnn_format_kind_wino` #define :target:`mkldnn_format_tag_any` #define :target:`mkldnn_format_tag_last` #define :target:`mkldnn_format_tag_t` #define :target:`mkldnn_format_tag_undef` #define :target:`mkldnn_forward` #define :target:`mkldnn_forward_inference` #define :target:`mkldnn_forward_scoring` #define :target:`mkldnn_forward_training` #define :target:`mkldnn_fuse_norm_relu` #define :target:`mkldnn_gIOdhw16i16o` #define :target:`mkldnn_gIOdhw16o16i` #define :target:`mkldnn_gIOdhw8o16i2o` #define :target:`mkldnn_gIOhw16i16o` #define :target:`mkldnn_gIOhw16o16i` #define :target:`mkldnn_gIOhw8o16i2o` #define :target:`mkldnn_gIOw16i16o` #define :target:`mkldnn_gIOw16o16i` #define :target:`mkldnn_gIOw8o16i2o` #define :target:`mkldnn_gOIdhw16i16o` #define :target:`mkldnn_gOIdhw16o16i` #define :target:`mkldnn_gOIdhw4i16o4i` #define :target:`mkldnn_gOIdhw4i4o` #define :target:`mkldnn_gOIdhw4o4i` #define :target:`mkldnn_gOIdhw8i16o2i` #define :target:`mkldnn_gOIdhw8i8o` #define :target:`mkldnn_gOIdhw8o16i2o` #define :target:`mkldnn_gOIdhw8o8i` #define :target:`mkldnn_gOIhw16i16o` #define :target:`mkldnn_gOIhw16i16o2i` #define :target:`mkldnn_gOIhw16i16o4i` #define :target:`mkldnn_gOIhw16o16i` #define :target:`mkldnn_gOIhw2i8o4i` #define :target:`mkldnn_gOIhw2o8i8o2i` #define :target:`mkldnn_gOIhw4i16o4i` #define :target:`mkldnn_gOIhw4i4o` #define :target:`mkldnn_gOIhw4o4i` #define :target:`mkldnn_gOIhw4o8i8o4i` #define :target:`mkldnn_gOIhw8i16o2i` #define :target:`mkldnn_gOIhw8i8o` #define :target:`mkldnn_gOIhw8o16i2o` #define :target:`mkldnn_gOIhw8o8i` #define :target:`mkldnn_gOIw16i16o` #define :target:`mkldnn_gOIw16o16i` #define :target:`mkldnn_gOIw4i16o4i` #define :target:`mkldnn_gOIw4i4o` #define :target:`mkldnn_gOIw4o4i` #define :target:`mkldnn_gOIw8i16o2i` #define :target:`mkldnn_gOIw8i8o` #define :target:`mkldnn_gOIw8o16i2o` #define :target:`mkldnn_gOIw8o8i` #define :target:`mkldnn_gOdhwi16o` #define :target:`mkldnn_gOdhwi4o` #define :target:`mkldnn_gOdhwi8o` #define :target:`mkldnn_gOhwi16o` #define :target:`mkldnn_gOhwi32o` #define :target:`mkldnn_gOhwi4o` #define :target:`mkldnn_gOhwi8o` #define :target:`mkldnn_gOidhw16o` #define :target:`mkldnn_gOidhw4o` #define :target:`mkldnn_gOihw16o` #define :target:`mkldnn_gOihw4o` #define :target:`mkldnn_gOiw16o` #define :target:`mkldnn_gOiw4o` #define :target:`mkldnn_gOwi16o` #define :target:`mkldnn_gOwi4o` #define :target:`mkldnn_gOwi8o` #define :target:`mkldnn_gemm` #define :target:`mkldnn_gemm_s8s8s32` #define :target:`mkldnn_gemm_u8s8s32` #define :target:`mkldnn_giohw` #define :target:`mkldnn_goidhw` #define :target:`mkldnn_goihw` #define :target:`mkldnn_goiw` #define :target:`mkldnn_gpu` #define :target:`mkldnn_gru_backward_desc_init` #define :target:`mkldnn_gru_forward_desc_init` #define :target:`mkldnn_hwigo` #define :target:`mkldnn_hwio` #define :target:`mkldnn_idhwo` #define :target:`mkldnn_ihwo` #define :target:`mkldnn_inner_product` #define :target:`mkldnn_inner_product_backward_data_desc_init` #define :target:`mkldnn_inner_product_backward_weights_desc_init` #define :target:`mkldnn_inner_product_desc_t` #define :target:`mkldnn_inner_product_forward_desc_init` #define :target:`mkldnn_invalid_arguments` #define :target:`mkldnn_io` #define :target:`mkldnn_iohw` #define :target:`mkldnn_iterator_ends` #define :target:`mkldnn_iwo` #define :target:`mkldnn_layer_normalization` #define :target:`mkldnn_layer_normalization_backward_desc_init` #define :target:`mkldnn_layer_normalization_desc_t` #define :target:`mkldnn_layer_normalization_forward_desc_init` #define :target:`mkldnn_lbr_gru` #define :target:`mkldnn_lbr_gru_backward_desc_init` #define :target:`mkldnn_lbr_gru_forward_desc_init` #define :target:`mkldnn_ldgo` #define :target:`mkldnn_ldgoi` #define :target:`mkldnn_ldgoi_p` #define :target:`mkldnn_ldigo` #define :target:`mkldnn_ldigo_p` #define :target:`mkldnn_ldnc` #define :target:`mkldnn_lrn` #define :target:`mkldnn_lrn_across_channels` #define :target:`mkldnn_lrn_backward_desc_init` #define :target:`mkldnn_lrn_desc_t` #define :target:`mkldnn_lrn_forward_desc_init` #define :target:`mkldnn_lrn_within_channel` #define :target:`mkldnn_lstm_backward_desc_init` #define :target:`mkldnn_lstm_forward_desc_init` #define :target:`mkldnn_md2dim_str` #define :target:`mkldnn_md2fmt_str` #define :target:`mkldnn_memory` #define :target:`mkldnn_memory_create` #define :target:`mkldnn_memory_desc_equal` #define :target:`mkldnn_memory_desc_get_size` #define :target:`mkldnn_memory_desc_init_by_strides` #define :target:`mkldnn_memory_desc_init_by_tag` #define :target:`mkldnn_memory_desc_init_submemory` #define :target:`mkldnn_memory_desc_t` #define :target:`mkldnn_memory_destroy` #define :target:`mkldnn_memory_extra_desc_t` #define :target:`mkldnn_memory_extra_flag_compensation_conv_s8s8` #define :target:`mkldnn_memory_extra_flag_none` #define :target:`mkldnn_memory_extra_flag_scale_adjust` #define :target:`mkldnn_memory_extra_flags_t` #define :target:`mkldnn_memory_get_data_handle` #define :target:`mkldnn_memory_get_engine` #define :target:`mkldnn_memory_get_memory_desc` #define :target:`mkldnn_memory_get_ocl_mem_object` #define :target:`mkldnn_memory_map_data` #define :target:`mkldnn_memory_set_data_handle` #define :target:`mkldnn_memory_set_ocl_mem_object` #define :target:`mkldnn_memory_t` #define :target:`mkldnn_memory_unmap_data` #define :target:`mkldnn_nCdhw16c` #define :target:`mkldnn_nCdhw4c` #define :target:`mkldnn_nCdhw8c` #define :target:`mkldnn_nChw16c` #define :target:`mkldnn_nChw4c` #define :target:`mkldnn_nChw8c` #define :target:`mkldnn_nCw16c` #define :target:`mkldnn_nCw4c` #define :target:`mkldnn_nCw8c` #define :target:`mkldnn_nc` #define :target:`mkldnn_ncdhw` #define :target:`mkldnn_nchw` #define :target:`mkldnn_ncw` #define :target:`mkldnn_ndhwc` #define :target:`mkldnn_nhwc` #define :target:`mkldnn_normalization_flags2str` #define :target:`mkldnn_normalization_flags_t` #define :target:`mkldnn_not_required` #define :target:`mkldnn_nt` #define :target:`mkldnn_ntc` #define :target:`mkldnn_nwc` #define :target:`mkldnn_odhwi` #define :target:`mkldnn_ohwi` #define :target:`mkldnn_oi` #define :target:`mkldnn_oidhw` #define :target:`mkldnn_oihw` #define :target:`mkldnn_oiw` #define :target:`mkldnn_op_desc_t` #define :target:`mkldnn_out_of_memory` #define :target:`mkldnn_owi` #define :target:`mkldnn_packed_format_undef` #define :target:`mkldnn_pooling` #define :target:`mkldnn_pooling_avg` #define :target:`mkldnn_pooling_avg_exclude_padding` #define :target:`mkldnn_pooling_avg_include_padding` #define :target:`mkldnn_pooling_backward_desc_init` #define :target:`mkldnn_pooling_desc_t` #define :target:`mkldnn_pooling_forward_desc_init` #define :target:`mkldnn_pooling_max` #define :target:`mkldnn_post_ops` #define :target:`mkldnn_post_ops_append_eltwise` #define :target:`mkldnn_post_ops_append_sum` #define :target:`mkldnn_post_ops_create` #define :target:`mkldnn_post_ops_destroy` #define :target:`mkldnn_post_ops_get_kind` #define :target:`mkldnn_post_ops_get_params_eltwise` #define :target:`mkldnn_post_ops_get_params_sum` #define :target:`mkldnn_post_ops_len` #define :target:`mkldnn_post_ops_t` #define :target:`mkldnn_prim_kind2str` #define :target:`mkldnn_primitive` #define :target:`mkldnn_primitive_attr` #define :target:`mkldnn_primitive_attr_clone` #define :target:`mkldnn_primitive_attr_create` #define :target:`mkldnn_primitive_attr_destroy` #define :target:`mkldnn_primitive_attr_get_output_scales` #define :target:`mkldnn_primitive_attr_get_post_ops` #define :target:`mkldnn_primitive_attr_get_scratchpad_mode` #define :target:`mkldnn_primitive_attr_set_output_scales` #define :target:`mkldnn_primitive_attr_set_post_ops` #define :target:`mkldnn_primitive_attr_set_rnn_data_qparams` #define :target:`mkldnn_primitive_attr_set_rnn_weights_qparams` #define :target:`mkldnn_primitive_attr_set_scratchpad_mode` #define :target:`mkldnn_primitive_attr_t` #define :target:`mkldnn_primitive_create` #define :target:`mkldnn_primitive_desc` #define :target:`mkldnn_primitive_desc_clone` #define :target:`mkldnn_primitive_desc_create` #define :target:`mkldnn_primitive_desc_destroy` #define :target:`mkldnn_primitive_desc_get_attr` #define :target:`mkldnn_primitive_desc_iterator` #define :target:`mkldnn_primitive_desc_iterator_create` #define :target:`mkldnn_primitive_desc_iterator_destroy` #define :target:`mkldnn_primitive_desc_iterator_fetch` #define :target:`mkldnn_primitive_desc_iterator_next` #define :target:`mkldnn_primitive_desc_iterator_t` #define :target:`mkldnn_primitive_desc_query` #define :target:`mkldnn_primitive_desc_query_md` #define :target:`mkldnn_primitive_desc_query_pd` #define :target:`mkldnn_primitive_desc_query_s32` #define :target:`mkldnn_primitive_desc_t` #define :target:`mkldnn_primitive_destroy` #define :target:`mkldnn_primitive_execute` #define :target:`mkldnn_primitive_get_primitive_desc` #define :target:`mkldnn_primitive_kind_t` #define :target:`mkldnn_primitive_t` #define :target:`mkldnn_prop_kind2str` #define :target:`mkldnn_prop_kind_t` #define :target:`mkldnn_prop_kind_undef` #define :target:`mkldnn_query_batch_normalization_d` #define :target:`mkldnn_query_convolution_d` #define :target:`mkldnn_query_deconvolution_d` #define :target:`mkldnn_query_diff_dst_md` #define :target:`mkldnn_query_diff_src_md` #define :target:`mkldnn_query_diff_weights_md` #define :target:`mkldnn_query_dst_md` #define :target:`mkldnn_query_eltwise_d` #define :target:`mkldnn_query_engine` #define :target:`mkldnn_query_gemm_d` #define :target:`mkldnn_query_impl_info_str` #define :target:`mkldnn_query_inner_product_d` #define :target:`mkldnn_query_layer_normalization_d` #define :target:`mkldnn_query_lrn_d` #define :target:`mkldnn_query_memory_consumption_s64` #define :target:`mkldnn_query_num_of_inputs_s32` #define :target:`mkldnn_query_num_of_outputs_s32` #define :target:`mkldnn_query_op_d` #define :target:`mkldnn_query_pooling_d` #define :target:`mkldnn_query_primitive_kind` #define :target:`mkldnn_query_rnn_d` #define :target:`mkldnn_query_scratchpad_engine` #define :target:`mkldnn_query_scratchpad_md` #define :target:`mkldnn_query_shuffle_d` #define :target:`mkldnn_query_softmax_d` #define :target:`mkldnn_query_some_d` #define :target:`mkldnn_query_some_md` #define :target:`mkldnn_query_src_md` #define :target:`mkldnn_query_t` #define :target:`mkldnn_query_time_estimate_f64` #define :target:`mkldnn_query_undef` #define :target:`mkldnn_query_weights_md` #define :target:`mkldnn_query_workspace_md` #define :target:`mkldnn_reorder` #define :target:`mkldnn_reorder_primitive_desc_create` #define :target:`mkldnn_rnn` #define :target:`mkldnn_rnn_desc_t` #define :target:`mkldnn_rnn_direction2str` #define :target:`mkldnn_rnn_direction_t` #define :target:`mkldnn_rnn_flags2str` #define :target:`mkldnn_rnn_flags_t` #define :target:`mkldnn_rnn_flags_undef` #define :target:`mkldnn_rnn_packed_desc_t` #define :target:`mkldnn_rnn_packed_memory_format_t` #define :target:`mkldnn_runtime_error` #define :target:`mkldnn_s32` #define :target:`mkldnn_s8` #define :target:`mkldnn_scratchpad_mode2str` #define :target:`mkldnn_scratchpad_mode_library` #define :target:`mkldnn_scratchpad_mode_t` #define :target:`mkldnn_scratchpad_mode_user` #define :target:`mkldnn_set_jit_dump` #define :target:`mkldnn_set_verbose` #define :target:`mkldnn_sgemm` #define :target:`mkldnn_shuffle` #define :target:`mkldnn_shuffle_backward_desc_init` #define :target:`mkldnn_shuffle_desc_t` #define :target:`mkldnn_shuffle_forward_desc_init` #define :target:`mkldnn_softmax` #define :target:`mkldnn_softmax_backward_desc_init` #define :target:`mkldnn_softmax_desc_t` #define :target:`mkldnn_softmax_forward_desc_init` #define :target:`mkldnn_status2str` #define :target:`mkldnn_status_t` #define :target:`mkldnn_stream` #define :target:`mkldnn_stream_create` #define :target:`mkldnn_stream_create_ocl` #define :target:`mkldnn_stream_default_flags` #define :target:`mkldnn_stream_destroy` #define :target:`mkldnn_stream_flags_t` #define :target:`mkldnn_stream_get_ocl_command_queue` #define :target:`mkldnn_stream_in_order` #define :target:`mkldnn_stream_out_of_order` #define :target:`mkldnn_stream_t` #define :target:`mkldnn_stream_wait` #define :target:`mkldnn_success` #define :target:`mkldnn_sum` #define :target:`mkldnn_sum_primitive_desc_create` #define :target:`mkldnn_tn` #define :target:`mkldnn_tnc` #define :target:`mkldnn_types` #define :target:`mkldnn_u8` #define :target:`mkldnn_undefined_primitive` #define :target:`mkldnn_unidirectional` #define :target:`mkldnn_unidirectional_left2right` #define :target:`mkldnn_unidirectional_right2left` #define :target:`mkldnn_unimplemented` #define :target:`mkldnn_use_global_stats` #define :target:`mkldnn_use_scaleshift` #define :target:`mkldnn_vanilla_gru` #define :target:`mkldnn_vanilla_lstm` #define :target:`mkldnn_vanilla_rnn` #define :target:`mkldnn_vanilla_rnn_backward_desc_init` #define :target:`mkldnn_vanilla_rnn_forward_desc_init` #define :target:`mkldnn_version` #define :target:`mkldnn_version_t` #define :target:`mkldnn_wino_desc_t` #define :target:`mkldnn_wino_memory_format_t` #define :target:`mkldnn_wino_undef` #define :target:`mkldnn_wino_wei_OBaaIBOIio` #define :target:`mkldnn_wino_wei_aaOBiOo` #define :target:`mkldnn_wino_wei_aaOIoi` #define :target:`mkldnn_wino_wei_aaOio` #define :target:`mkldnn_wio` #define :target:`mkldnn_x`