.. index:: pair: struct; dnnl::binary::primitive_desc .. _doxid-structdnnl_1_1binary_1_1primitive__desc: struct dnnl::binary::primitive_desc =================================== .. toctree:: :hidden: Overview ~~~~~~~~ Primitive descriptor for an elementwise binary operator primitive. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include struct primitive_desc: public :ref:`dnnl::primitive_desc` { // construction :ref:`primitive_desc`(); :ref:`primitive_desc`( const :ref:`engine`& aengine, :ref:`algorithm` aalgorithm, const :ref:`memory::desc`& src0, const :ref:`memory::desc`& src1, const :ref:`memory::desc`& dst, const :ref:`primitive_attr`& attr = :ref:`default_attr`(), bool allow_empty = false ); :ref:`primitive_desc`(:ref:`dnnl_primitive_desc_t` pd); // methods :ref:`memory::desc` :ref:`src_desc`(int idx = 0) const; :ref:`memory::desc` :ref:`src0_desc`() const; :ref:`memory::desc` :ref:`src1_desc`() const; :ref:`memory::desc` :ref:`dst_desc`() const; :ref:`algorithm` :ref:`get_algorithm`() const; }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // methods :ref:`handle`& :ref:`operator =` (const :ref:`handle`&); :ref:`handle`& :ref:`operator =` (:ref:`handle`&&); void :ref:`reset`(T t, bool weak = false); T :ref:`get`(bool allow_empty = false) const; :ref:`operator T` () const; :ref:`operator bool` () const; bool :ref:`operator ==` (const :ref:`handle`& other) const; bool :ref:`operator !=` (const :ref:`handle`& other) const; :ref:`engine` :ref:`get_engine`() const; const char* :ref:`impl_info_str`() const; :ref:`memory::dim` :ref:`query_s64`(:ref:`query` what) const; :ref:`memory::dims` :ref:`get_strides`() const; :ref:`memory::dims` :ref:`get_dilations`() const; :ref:`memory::dims` :ref:`get_padding_l`() const; :ref:`memory::dims` :ref:`get_padding_r`() const; float :ref:`get_epsilon`() const; template T :ref:`get_flags`() const; :ref:`dnnl::algorithm` :ref:`get_algorithm`() const; float :ref:`get_alpha`() const; float :ref:`get_beta`() const; int :ref:`get_axis`() const; :ref:`memory::dim` :ref:`get_local_size`() const; float :ref:`get_k`() const; float :ref:`get_p`() const; std::vector :ref:`get_factors`() const; :ref:`dnnl::algorithm` :ref:`get_cell_kind`() const; :ref:`dnnl::rnn_direction` :ref:`get_direction`() const; :ref:`dnnl::algorithm` :ref:`get_activation_kind`() const; :ref:`memory::dims` :ref:`get_kernel`() const; :ref:`memory::dim` :ref:`get_group_size`() const; :ref:`dnnl::prop_kind` :ref:`get_prop_kind`() const; :ref:`memory::desc` :ref:`query_md`(:ref:`query` what, int idx = 0) const; :ref:`memory::desc` :ref:`src_desc`(int idx) const; :ref:`memory::desc` :ref:`dst_desc`(int idx) const; :ref:`memory::desc` :ref:`weights_desc`(int idx) const; :ref:`memory::desc` :ref:`diff_src_desc`(int idx) const; :ref:`memory::desc` :ref:`diff_dst_desc`(int idx) const; :ref:`memory::desc` :ref:`diff_weights_desc`(int idx) const; :ref:`memory::desc` :ref:`src_desc`() const; :ref:`memory::desc` :ref:`dst_desc`() const; :ref:`memory::desc` :ref:`weights_desc`() const; :ref:`memory::desc` :ref:`diff_src_desc`() const; :ref:`memory::desc` :ref:`diff_dst_desc`() const; :ref:`memory::desc` :ref:`diff_weights_desc`() const; :ref:`memory::desc` :ref:`workspace_desc`() const; :ref:`memory::desc` :ref:`scratchpad_desc`() const; :ref:`engine` :ref:`scratchpad_engine`() const; :ref:`primitive_attr` :ref:`get_primitive_attr`() const; :ref:`dnnl::primitive::kind` :ref:`get_kind`() const; std::vector :ref:`get_cache_blob_id`() const; bool :ref:`next_impl`(); :ref:`primitive_desc_base`(); :ref:`primitive_desc_base`(); :ref:`primitive_desc_base`(); :ref:`primitive_desc_base`(); .. _details-structdnnl_1_1binary_1_1primitive__desc: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Primitive descriptor for an elementwise binary operator primitive. Construction ------------ .. index:: pair: function; primitive_desc .. _doxid-structdnnl_1_1binary_1_1primitive__desc_1a99e0ed1bc3cf3d6754ea737a487a9ecd: .. ref-code-block:: cpp :class: doxyrest-title-code-block primitive_desc() Default constructor. Produces an empty object. .. index:: pair: function; primitive_desc .. _doxid-structdnnl_1_1binary_1_1primitive__desc_1a962a417c4d2ba98983382b94ed74763b: .. ref-code-block:: cpp :class: doxyrest-title-code-block primitive_desc( const :ref:`engine`& aengine, :ref:`algorithm` aalgorithm, const :ref:`memory::desc`& src0, const :ref:`memory::desc`& src1, const :ref:`memory::desc`& dst, const :ref:`primitive_attr`& attr = :ref:`default_attr`(), bool allow_empty = false ) Constructs a primitive descriptor for an elementwise binary operator primitive. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - aengine - Engine to use. * - aalgorithm - Elementwise binary algorithm. * - src0 - Memory descriptor for source tensor #0. * - src1 - Memory descriptor for source tensor #1. * - dst - Memory descriptor for destination tensor. * - attr - Primitive attributes to use. Attributes are optional and default to empty attributes. * - allow_empty - A flag signifying whether construction is allowed to fail without throwing an exception. In this case an empty object will be produced. This flag is optional and defaults to false. .. index:: pair: function; primitive_desc .. _doxid-structdnnl_1_1binary_1_1primitive__desc_1abd064a6e1d78d2452611ea45b25c1105: .. ref-code-block:: cpp :class: doxyrest-title-code-block primitive_desc(:ref:`dnnl_primitive_desc_t` pd) Constructs a primitive descriptor for a binary primitive from a C API primitive descriptor that must have a matching kind. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - pd - C API primitive descriptor for a binary primitive. Methods ------- .. index:: pair: function; src_desc .. _doxid-structdnnl_1_1binary_1_1primitive__desc_1a69618bf51de3aab412db31dffa8784b3: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::desc` src_desc(int idx = 0) const Returns a source memory descriptor. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - idx - Source index. .. rubric:: Returns: Source memory descriptor. A zero memory descriptor if the primitive does not have a source parameter with index ``idx``. .. index:: pair: function; src0_desc .. _doxid-structdnnl_1_1binary_1_1primitive__desc_1a7cc236972b1ad9b3c072e96c221cb3c8: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::desc` src0_desc() const Returns the memory descriptor for source #0. .. index:: pair: function; src1_desc .. _doxid-structdnnl_1_1binary_1_1primitive__desc_1ad3d19867872ecbe0e7738ef1821d6e83: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::desc` src1_desc() const Returns the memory descriptor for source #1. .. index:: pair: function; dst_desc .. _doxid-structdnnl_1_1binary_1_1primitive__desc_1ac552b6afc7e7e422e28d477d6c1218e5: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::desc` dst_desc() const Returns a destination memory descriptor. .. rubric:: Returns: Destination memory descriptor. A zero memory descriptor if the primitive does not have a destination parameter. .. index:: pair: function; get_algorithm .. _doxid-structdnnl_1_1binary_1_1primitive__desc_1a0495e4f1db4de03eb01c17aa85294f01: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`algorithm` get_algorithm() const Returns an algorithm kind. .. rubric:: Returns: An algorithm kind. :ref:`dnnl::algorithm::undef ` if the primitive does not have an algorithm parameter.