enum dnnl_query_t

Overview

Primitive descriptor query specification. More…

#include <dnnl_types.h>

enum dnnl_query_t
{
    dnnl_query_undef                  = 0,
    dnnl_query_engine,
    dnnl_query_primitive_kind,
    dnnl_query_num_of_inputs_s32,
    dnnl_query_num_of_outputs_s32,
    dnnl_query_time_estimate_f64,
    dnnl_query_memory_consumption_s64,
    dnnl_query_scratchpad_engine,
    dnnl_query_impl_info_str,
    dnnl_query_reorder_src_engine,
    dnnl_query_reorder_dst_engine,
    dnnl_query_prop_kind,
    dnnl_query_cache_blob_id_size_s64,
    dnnl_query_cache_blob_id,
    dnnl_query_strides,
    dnnl_query_dilations,
    dnnl_query_padding_l,
    dnnl_query_padding_r,
    dnnl_query_epsilon_f32,
    dnnl_query_flags,
    dnnl_query_alg_kind,
    dnnl_query_alpha_f32,
    dnnl_query_beta_f32,
    dnnl_query_axis_s32,
    dnnl_query_local_size_s64,
    dnnl_query_k_f32,
    dnnl_query_p_f32,
    dnnl_query_factors,
    dnnl_query_cell_kind,
    dnnl_query_direction,
    dnnl_query_activation_kind,
    dnnl_query_kernel,
    dnnl_query_group_size_s64,
    dnnl_query_some_md                = 128,
    dnnl_query_src_md,
    dnnl_query_diff_src_md,
    dnnl_query_weights_md,
    dnnl_query_diff_weights_md,
    dnnl_query_dst_md,
    dnnl_query_diff_dst_md,
    dnnl_query_workspace_md,
    dnnl_query_scratchpad_md,
    dnnl_query_exec_arg_md            = 255,
    dnnl_query_ndims_s32,
    dnnl_query_dims,
    dnnl_query_data_type,
    dnnl_query_submemory_offset_s64,
    dnnl_query_padded_dims,
    dnnl_query_padded_offsets,
    dnnl_query_format_kind,
    dnnl_query_inner_nblks_s32,
    dnnl_query_inner_blks,
    dnnl_query_inner_idxs,
    dnnl_query_sparse_encoding,
    dnnl_query_nnz_s64,
    dnnl_query_num_handles_s32,
    dnnl_query_max                    = 0x7fff,
};

Detailed Documentation

Primitive descriptor query specification.

For generic function dnnl_primitive_desc_query(), the type of result must agree with the queried argument. The correspondence table:

Query kind

Type of query result —-

dnnl_query_*_engine

dnnl_engine_t *

dnnl_query_primitive_kind

dnnl_primitive_kind_t *

dnnl_query_*_s32

int *

dnnl_query_*_s64

dnnl_dim_t * (same as int64_t *)

dnnl_query_*_f32

float *

dnnl_query_*_f64

double *

dnnl_query_*_str

const char **

dnnl_query_*_md

const_dnnl_memory_desc_t *

dnnl_query_*_pd

const_dnnl_primitive_desc_t *

dnnl_query_cache_blob_id

const uint8_t **

dnnl_query_strides

const dnnl_dims_t **

dnnl_query_dilations

const dnnl_dims_t **

dnnl_query_padding_l

const dnnl_dims_t **

dnnl_query_padding_r

const dnnl_dims_t **

dnnl_query_flags

unsigned *

dnnl_query_alg_kind

dnnl_alg_kind_t *

dnnl_query_factors

const float **

dnnl_query_cell_kind

dnnl_alg_kind_t *

dnnl_query_direction

dnnl_rnn_direction_t *

dnnl_query_activation_kind

dnnl_alg_kind_t *

dnnl_query_kernel

const dnnl_dims_t **

dnnl_query_dims

const dnnl_dims_t **

dnnl_query_data_type

dnnl_data_type_t *

dnnl_query_padded_dims

const dnnl_dims_t **

dnnl_query_padded_offsets

const dnnl_dims_t **

dnnl_query_format_kind

dnnl_format_kind_t *

dnnl_query_inner_blks

const dnnl_dims_t **

dnnl_query_inner_idxs

const dnnl_dims_t **

dnnl_query_sparse_encoding

dnnl_sparse_encoding_t *

Note

Rule of thumb: all opaque types and structures are returned by reference. All numbers are returned by value.

Warning

All returned references point to constant objects and are valid only during the lifetime of the queried primitive descriptor. Returned objects must not be destroyed by the user. If you need to keep the object longer than the lifetime of the queried primitive descriptor, use dnnl_primitive_desc_clone() to make a copy.

Enum Values

dnnl_query_undef

no query

dnnl_query_engine

execution engine

dnnl_query_primitive_kind

primitive kind

dnnl_query_num_of_inputs_s32

number of inputs expected

dnnl_query_num_of_outputs_s32

number of outputs expected

dnnl_query_time_estimate_f64

runtime estimation (seconds)

dnnl_query_memory_consumption_s64

memory consumption extra

dnnl_query_scratchpad_engine

(scratch) memory, additional to all inputs and outputs memory (bytes)

scratchpad engine engine to be used

dnnl_query_impl_info_str

for creating scratchpad memory

implementation name

dnnl_query_reorder_src_engine

source engine

dnnl_query_reorder_dst_engine

destination engine

dnnl_query_prop_kind

propagation kind

dnnl_query_cache_blob_id_size_s64

size of cache blob ID in bytes

dnnl_query_cache_blob_id

cache blob ID (pointer to array)

dnnl_query_strides

strides

dnnl_query_dilations

dilations

dnnl_query_padding_l

left padding

dnnl_query_padding_r

right padding

dnnl_query_epsilon_f32

epsilon

dnnl_query_flags

flags

dnnl_query_alg_kind

algorithm kind

dnnl_query_alpha_f32

alpha

dnnl_query_beta_f32

beta

dnnl_query_axis_s32

axis

dnnl_query_local_size_s64

LRN parameter local size.

dnnl_query_k_f32

LRN parameter K.

dnnl_query_p_f32

Reduction parameter P.

dnnl_query_factors

Resampling parameter factors.

dnnl_query_cell_kind

RNN parameter cell kind.

dnnl_query_direction

RNN parameter direction.

dnnl_query_activation_kind

RNN parameter activation kind.

dnnl_query_kernel

Pooling parameter kernel.

dnnl_query_group_size_s64

Shuffle parameter group size.

dnnl_query_some_md

stub

dnnl_query_src_md

source memory desc

dnnl_query_diff_src_md

source gradient memory desc

dnnl_query_weights_md

weights memory descriptor desc

dnnl_query_diff_weights_md

weights grad. memory desc

dnnl_query_dst_md

destination memory desc

dnnl_query_diff_dst_md

destination grad. memory desc

dnnl_query_workspace_md

workspace memory desc

dnnl_query_scratchpad_md

scratchpad memory desc

dnnl_query_exec_arg_md

memory desc of an execute argument

dnnl_query_ndims_s32

number of dimensions

dnnl_query_dims

vector of dimensions

dnnl_query_data_type

data type

dnnl_query_submemory_offset_s64

submemory offset

dnnl_query_padded_dims

vector of padded dimensions

dnnl_query_padded_offsets

vector of padded offsets

dnnl_query_format_kind

format kind

dnnl_query_inner_nblks_s32

number of innermost blocks

dnnl_query_inner_blks

vector of sizes of the innermost blocks

dnnl_query_inner_idxs

vector of logical indices of the blocks

dnnl_query_sparse_encoding

Sparse encoding.

dnnl_query_nnz_s64

Number of non-zero entries.

dnnl_query_num_handles_s32

Number of buffers required for a memory.

dnnl_query_max

descriptor