Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)  0.17
Performance library for Deep Learning
Functions

A primitive to compute common recurrent layer. More...

Functions

mkldnn_status_t MKLDNN_API mkldnn_rnn_cell_desc_init (mkldnn_rnn_cell_desc_t *rnn_cell_desc, mkldnn_alg_kind_t kind, mkldnn_alg_kind_t f, unsigned int flags, float alpha, float clipping)
 Initializes a recurrent cell descriptor rnn_cell_desc using rnn_cell_desc, kind (possible values are mkldnn_vanilla_rnn, mkldnn_vanilla_lstm, mkldnn_vanilla_gru, mkldnn_gru_linear_before_reset), f (possible values are mkldnn_eltwise_relu, mkldnn_eltwise_tanh), flags, alpha, and clipping. More...
 
int MKLDNN_API mkldnn_rnn_cell_get_gates_count (const mkldnn_rnn_cell_desc_t *rnn_cell_desc)
 Returns the number of gates of a particular rnn_cell_desc. More...
 
int MKLDNN_API mkldnn_rnn_cell_get_states_count (const mkldnn_rnn_cell_desc_t *rnn_cell_desc)
 Returns the number of states of a particular rnn_cell_desc. More...
 
mkldnn_status_t MKLDNN_API mkldnn_rnn_forward_desc_init (mkldnn_rnn_desc_t *rnn_desc, mkldnn_prop_kind_t prop_kind, const mkldnn_rnn_cell_desc_t *rnn_cell_desc, const mkldnn_rnn_direction_t direction, const mkldnn_memory_desc_t *src_layer_desc, const mkldnn_memory_desc_t *src_iter_desc, const mkldnn_memory_desc_t *weights_layer_desc, const mkldnn_memory_desc_t *weights_iter_desc, const mkldnn_memory_desc_t *bias_desc, const mkldnn_memory_desc_t *dst_layer_desc, const mkldnn_memory_desc_t *dst_iter_desc)
 Initializes a rnn descriptor rnn_desc for forward propagation using prop_kind, rnn_cell_desc, direction, and memory descriptors. More...
 
mkldnn_status_t MKLDNN_API mkldnn_rnn_backward_desc_init (mkldnn_rnn_desc_t *rnn_desc, mkldnn_prop_kind_t prop_kind, const mkldnn_rnn_cell_desc_t *rnn_cell_desc, const mkldnn_rnn_direction_t direction, const mkldnn_memory_desc_t *src_layer_desc, const mkldnn_memory_desc_t *src_iter_desc, const mkldnn_memory_desc_t *weights_layer_desc, const mkldnn_memory_desc_t *weights_iter_desc, const mkldnn_memory_desc_t *bias_desc, const mkldnn_memory_desc_t *dst_layer_desc, const mkldnn_memory_desc_t *dst_iter_desc, const mkldnn_memory_desc_t *diff_src_layer_desc, const mkldnn_memory_desc_t *diff_src_iter_desc, const mkldnn_memory_desc_t *diff_weights_layer_desc, const mkldnn_memory_desc_t *diff_weights_iter_desc, const mkldnn_memory_desc_t *diff_bias_desc, const mkldnn_memory_desc_t *diff_dst_layer, const mkldnn_memory_desc_t *diff_dst_iter_desc)
 Initializes a rnn descriptor rnn_desc for backward propagation using prop_kind, rnn_cell_desc, direction, and memory descriptors. More...
 

Detailed Description

A primitive to compute common recurrent layer.

Todo:
add additional description for the group

Function Documentation

◆ mkldnn_rnn_cell_desc_init()

mkldnn_status_t MKLDNN_API mkldnn_rnn_cell_desc_init ( mkldnn_rnn_cell_desc_t rnn_cell_desc,
mkldnn_alg_kind_t  kind,
mkldnn_alg_kind_t  f,
unsigned int  flags,
float  alpha,
float  clipping 
)

Initializes a recurrent cell descriptor rnn_cell_desc using rnn_cell_desc, kind (possible values are mkldnn_vanilla_rnn, mkldnn_vanilla_lstm, mkldnn_vanilla_gru, mkldnn_gru_linear_before_reset), f (possible values are mkldnn_eltwise_relu, mkldnn_eltwise_tanh), flags, alpha, and clipping.

◆ mkldnn_rnn_cell_get_gates_count()

int MKLDNN_API mkldnn_rnn_cell_get_gates_count ( const mkldnn_rnn_cell_desc_t rnn_cell_desc)

Returns the number of gates of a particular rnn_cell_desc.

◆ mkldnn_rnn_cell_get_states_count()

int MKLDNN_API mkldnn_rnn_cell_get_states_count ( const mkldnn_rnn_cell_desc_t rnn_cell_desc)

Returns the number of states of a particular rnn_cell_desc.

◆ mkldnn_rnn_forward_desc_init()

mkldnn_status_t MKLDNN_API mkldnn_rnn_forward_desc_init ( mkldnn_rnn_desc_t rnn_desc,
mkldnn_prop_kind_t  prop_kind,
const mkldnn_rnn_cell_desc_t rnn_cell_desc,
const mkldnn_rnn_direction_t  direction,
const mkldnn_memory_desc_t src_layer_desc,
const mkldnn_memory_desc_t src_iter_desc,
const mkldnn_memory_desc_t weights_layer_desc,
const mkldnn_memory_desc_t weights_iter_desc,
const mkldnn_memory_desc_t bias_desc,
const mkldnn_memory_desc_t dst_layer_desc,
const mkldnn_memory_desc_t dst_iter_desc 
)

Initializes a rnn descriptor rnn_desc for forward propagation using prop_kind, rnn_cell_desc, direction, and memory descriptors.

Note
if prop_kind equals mkldnn_forward_training, you need to query a workspace memory descriptor before creating the primitive.

src_iter_desc, bias_desc, and dst_iter_desc are allowed to be either NULL or point to a zero memory descriptor that would indicate RNN primitive should not use them.

Note
all memory descriptors except src_iter_desc are allowed to be initialized with mkldnn_any value of format_kind.

Order of inputs:

Order of outputs:

◆ mkldnn_rnn_backward_desc_init()

mkldnn_status_t MKLDNN_API mkldnn_rnn_backward_desc_init ( mkldnn_rnn_desc_t rnn_desc,
mkldnn_prop_kind_t  prop_kind,
const mkldnn_rnn_cell_desc_t rnn_cell_desc,
const mkldnn_rnn_direction_t  direction,
const mkldnn_memory_desc_t src_layer_desc,
const mkldnn_memory_desc_t src_iter_desc,
const mkldnn_memory_desc_t weights_layer_desc,
const mkldnn_memory_desc_t weights_iter_desc,
const mkldnn_memory_desc_t bias_desc,
const mkldnn_memory_desc_t dst_layer_desc,
const mkldnn_memory_desc_t dst_iter_desc,
const mkldnn_memory_desc_t diff_src_layer_desc,
const mkldnn_memory_desc_t diff_src_iter_desc,
const mkldnn_memory_desc_t diff_weights_layer_desc,
const mkldnn_memory_desc_t diff_weights_iter_desc,
const mkldnn_memory_desc_t diff_bias_desc,
const mkldnn_memory_desc_t diff_dst_layer,
const mkldnn_memory_desc_t diff_dst_iter_desc 
)

Initializes a rnn descriptor rnn_desc for backward propagation using prop_kind, rnn_cell_desc, direction, and memory descriptors.

Note
all memory descriptors are allowed to be initialized with mkldnn_any value of format_kind.

src_iter_desc (simultaneously with diff_src_iter_desc), bias_desc (simultaneously with diff_bias_desc), and dst_iter_desc (simultaneously with diff_src_iter_desc) are allowed to be either NULL or point to a zero memory descriptor that would indicate RNN primitive should not use them.

Order of inputs:

Order of outputs: