struct dnnl::rnn_primitive_desc_base#
Overview#
Base class for primitive descriptors for RNN primitives. More…
#include <dnnl.hpp> struct rnn_primitive_desc_base: public dnnl::primitive_desc { // construction rnn_primitive_desc_base(); rnn_primitive_desc_base( dnnl_primitive_desc_t pd, dnnl::prop_kind aprop_kind, dnnl::algorithm cell_kind ); // methods memory::desc src_layer_desc() const; memory::desc augru_attention_desc() const; memory::desc src_iter_desc() const; memory::desc src_iter_c_desc() const; memory::desc weights_layer_desc() const; memory::desc weights_iter_desc() const; memory::desc weights_peephole_desc() const; memory::desc weights_projection_desc() const; memory::desc bias_desc() const; memory::desc dst_layer_desc() const; memory::desc dst_iter_desc() const; memory::desc dst_iter_c_desc() const; memory::desc diff_src_layer_desc() const; memory::desc diff_augru_attention_desc() const; memory::desc diff_src_iter_desc() const; memory::desc diff_src_iter_c_desc() const; memory::desc diff_weights_layer_desc() const; memory::desc diff_weights_iter_desc() const; memory::desc diff_weights_peephole_desc() const; memory::desc diff_weights_projection_desc() const; memory::desc diff_bias_desc() const; memory::desc diff_dst_layer_desc() const; memory::desc diff_dst_iter_desc() const; memory::desc diff_dst_iter_c_desc() const; primitive_desc(); protected: // typedefs typedef rnn_primitive_desc_base rnn_base; // construction rnn_primitive_desc_base( dnnl_primitive_desc_t pd, dnnl::prop_kind prop_kind1, dnnl::prop_kind prop_kind2, dnnl::algorithm cell_kind ); rnn_primitive_desc_base( const engine& aengine, algorithm cell_kind, prop_kind aprop_kind, algorithm activation, rnn_direction direction, const memory::desc& src_layer_desc, const memory::desc& src_iter_desc, const memory::desc* src_iter_c_desc, const memory::desc* attention_desc, const memory::desc& weights_layer_desc, const memory::desc& weights_iter_desc, const memory::desc* weights_peephole_desc, const memory::desc* weights_projection_desc, const memory::desc& bias_desc, const memory::desc& dst_layer_desc, const memory::desc& dst_iter_desc, const memory::desc* dst_iter_c_desc, rnn_flags flags, float alpha, float beta, const primitive_attr& attr, bool allow_empty ); rnn_primitive_desc_base( const engine& aengine, algorithm cell_kind, prop_kind aprop_kind, algorithm activation, rnn_direction direction, const memory::desc& src_layer_desc, const memory::desc& src_iter_desc, const memory::desc* src_iter_c_desc, const memory::desc* attention_desc, const memory::desc& weights_layer_desc, const memory::desc& weights_iter_desc, const memory::desc* weights_peephole_desc, const memory::desc* weights_projection_desc, const memory::desc& bias_desc, const memory::desc& dst_layer_desc, const memory::desc& dst_iter_desc, const memory::desc* dst_iter_c_desc, const memory::desc& diff_src_layer_desc, const memory::desc& diff_src_iter_desc, const memory::desc* diff_src_iter_c_desc, const memory::desc* diff_attention_desc, const memory::desc& diff_weights_layer_desc, const memory::desc& diff_weights_iter_desc, const memory::desc* diff_weights_peephole_desc, const memory::desc* diff_weights_projection_desc, const memory::desc& diff_bias_desc, const memory::desc& diff_dst_layer_desc, const memory::desc& diff_dst_iter_desc, const memory::desc* diff_dst_iter_c_desc, rnn_flags flags, float alpha, float beta, const rnn_primitive_desc_base& hint_fwd_pd, const primitive_attr& attr, bool allow_empty ); }; // direct descendants struct primitive_desc; struct primitive_desc; struct primitive_desc; struct primitive_desc; struct primitive_desc; struct primitive_desc; struct primitive_desc; struct primitive_desc; struct primitive_desc; struct primitive_desc; struct primitive_desc; struct primitive_desc;
Inherited Members#
public: // methods handle<T, traits>& operator = (const handle<T, traits>&); handle<T, traits>& operator = (handle<T, traits>&&); void reset(T t, bool weak = false); T get(bool allow_empty = false) const; operator T () const; operator bool () const; bool operator == (const handle<T, traits>& other) const; bool operator != (const handle& other) const; engine get_engine() const; const char* impl_info_str() const; memory::dim query_s64(query what) const; memory::dims get_strides() const; memory::dims get_dilations() const; memory::dims get_padding_l() const; memory::dims get_padding_r() const; float get_epsilon() const; template <typename T = unsigned> T get_flags() const; dnnl::algorithm get_algorithm() const; float get_alpha() const; float get_beta() const; int get_axis() const; memory::dim get_local_size() const; float get_k() const; float get_p() const; std::vector<float> get_factors() const; dnnl::algorithm get_cell_kind() const; dnnl::rnn_direction get_direction() const; dnnl::algorithm get_activation_kind() const; memory::dims get_kernel() const; memory::dim get_group_size() const; dnnl::prop_kind get_prop_kind() const; memory::desc query_md(query what, int idx = 0) const; memory::desc src_desc(int idx) const; memory::desc dst_desc(int idx) const; memory::desc weights_desc(int idx) const; memory::desc diff_src_desc(int idx) const; memory::desc diff_dst_desc(int idx) const; memory::desc diff_weights_desc(int idx) const; memory::desc src_desc() const; memory::desc dst_desc() const; memory::desc weights_desc() const; memory::desc diff_src_desc() const; memory::desc diff_dst_desc() const; memory::desc diff_weights_desc() const; memory::desc workspace_desc() const; memory::desc scratchpad_desc() const; engine scratchpad_engine() const; primitive_attr get_primitive_attr() const; dnnl::primitive::kind get_kind() const; std::vector<uint8_t> get_cache_blob_id() const; bool next_impl(); primitive_desc_base(); primitive_desc_base(); primitive_desc_base(); primitive_desc_base(); protected: // typedefs typedef primitive_desc_base base; // methods bool operator == (const T other) const; bool operator != (const T other) const; float query_f32(query what) const; algorithm query_alg(query what) const; memory::dims query_dims(query what) const; engine query_engine(query what) const; void reset_with_clone(const_dnnl_primitive_desc_t pd); const_dnnl_memory_desc_t optional_arg(const memory::desc* md); const dnnl_dim_t* optional_arg(const memory::dims* dims); const float* optional_arg(const std::vector<float>* arg); static const primitive_attr& default_attr();
Detailed Documentation#
Base class for primitive descriptors for RNN primitives.
Construction#
rnn_primitive_desc_base()
Default constructor. Produces an empty object.
rnn_primitive_desc_base( dnnl_primitive_desc_t pd, dnnl::prop_kind aprop_kind, dnnl::algorithm cell_kind )
Constructs an RNN primitive descriptor base from a C API primitive descriptor while checking that it actually describes the expected primitive by comparing propagation and primitive kinds.
Parameters:
pd |
C API primitive descriptor. |
aprop_kind |
Expected propagation kind. |
cell_kind |
Expected cell kind. |
Methods#
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Returns:
Source layer memory descriptor.
memory::desc augru_attention_desc() const
Returns AUGRU attention memory descriptor.
Returns:
AUGRU attention memory descriptor.
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Returns:
Source iteration memory descriptor.
A zero memory descriptor if the primitive does not have a source iteration parameter.
memory::desc src_iter_c_desc() const
Returns source recurrent cell state memory descriptor.
Returns:
Source recurrent cell state memory descriptor.
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Returns:
Weights layer memory descriptor.
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Returns:
Weights iteration memory descriptor.
memory::desc weights_peephole_desc() const
Returns weights peephole memory descriptor.
Returns:
Weights peephole memory descriptor.
memory::desc weights_projection_desc() const
Returns weights projection memory descriptor.
Returns:
Weights projection memory descriptor.
memory::desc bias_desc() const
Returns bias memory descriptor.
Returns:
Bias memory descriptor.
A zero memory descriptor if the primitive does not have a bias parameter.
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Returns:
Destination layer memory descriptor.
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Returns:
Destination iteration memory descriptor.
A zero memory descriptor if the primitive does not have a destination iteration parameter.
memory::desc dst_iter_c_desc() const
Returns destination recurrent cell state memory descriptor.
Returns:
Destination recurrent cell state memory descriptor.
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Returns:
Diff source layer memory descriptor.
memory::desc diff_augru_attention_desc() const
Returns diff AUGRU attention memory descriptor.
Returns:
Diff AUGRU attention memory descriptor.
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Returns:
Diff source iteration memory descriptor.
A zero memory descriptor if the primitive does not have a diff source iteration parameter.
memory::desc diff_src_iter_c_desc() const
Returns diff source recurrent cell state memory descriptor.
Returns:
Diff source recurrent cell state memory descriptor.
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Returns:
Diff weights layer memory descriptor.
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Returns:
Diff weights iteration memory descriptor.
memory::desc diff_weights_peephole_desc() const
Returns diff weights peephole memory descriptor.
Returns:
Diff weights peephole memory descriptor.
memory::desc diff_weights_projection_desc() const
Returns diff weights projection memory descriptor.
Returns:
Diff weights projection memory descriptor.
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Returns:
Diff bias memory descriptor.
A zero memory descriptor if the primitive does not have a diff bias parameter.
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Returns:
Diff destination layer memory descriptor.
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Returns:
Diff destination iteration memory descriptor.
A zero memory descriptor if the primitive does not have a diff destination iteration parameter.
memory::desc diff_dst_iter_c_desc() const
Returns diff destination recurrent cell state memory descriptor.
Returns:
Diff destination recurrent cell state memory descriptor.