enum dnnl_primitive_kind_t

Overview

Kinds of primitives. More…

#include <dnnl_types.h>

enum dnnl_primitive_kind_t
{
    dnnl_undefined_primitive,
    dnnl_reorder,
    dnnl_shuffle,
    dnnl_concat,
    dnnl_sum,
    dnnl_convolution,
    dnnl_deconvolution,
    dnnl_eltwise,
    dnnl_softmax,
    dnnl_pooling,
    dnnl_lrn,
    dnnl_batch_normalization,
    dnnl_layer_normalization,
    dnnl_inner_product,
    dnnl_rnn,
    dnnl_gemm,
    dnnl_binary,
    dnnl_logsoftmax,
    dnnl_matmul,
    dnnl_resampling,
    dnnl_pooling_v2,
    dnnl_reduction,
    dnnl_prelu,
    dnnl_primitive_kind_max  = 0x7fff,
};

Detailed Documentation

Kinds of primitives.

Used to implement a way to extend the library with new primitives without changing the ABI.

Enum Values

dnnl_undefined_primitive

Undefined primitive.

dnnl_reorder

A reorder primitive.

dnnl_shuffle

A shuffle primitive.

dnnl_concat

A (out-of-place) concat primitive.

dnnl_sum

A sum primitive.

dnnl_convolution

A convolution primitive.

dnnl_deconvolution

A deconvolution primitive.

dnnl_eltwise

An element-wise primitive.

dnnl_softmax

A softmax primitive.

dnnl_pooling

A pooling primitive.

dnnl_lrn

An LRN primitive.

dnnl_batch_normalization

A batch normalization primitive.

dnnl_layer_normalization

A layer normalization primitive.

dnnl_inner_product

An inner product primitive.

dnnl_rnn

A rnn primitive.

dnnl_gemm

A matrix multiplication primitive (internal).

dnnl_binary

A binary primitive.

dnnl_logsoftmax

A logsoftmax primitive.

dnnl_matmul

A matrix multiplication primitive.

dnnl_resampling

A resampling primitive.

dnnl_pooling_v2

A pooling version 2 primitive (pooling with dilation support).

dnnl_reduction

A reduction primitive.

dnnl_prelu

A PReLU primitive.

dnnl_primitive_kind_max

Parameter to allow internal only primitives without undefined behavior.

This parameter is chosen to be valid for so long as sizeof(int) >= 2.