.. index:: pair: group; Inner Product .. _doxid-group__dnnl__api__inner__product: Inner Product ============= .. toctree:: :hidden: struct_dnnl_inner_product_desc_t.rst struct_dnnl_inner_product_backward_data.rst struct_dnnl_inner_product_backward_weights.rst struct_dnnl_inner_product_forward.rst Overview ~~~~~~~~ A primitive to compute an inner product. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block // structs struct :ref:`dnnl_inner_product_desc_t`; struct :ref:`dnnl::inner_product_backward_data`; struct :ref:`dnnl::inner_product_backward_weights`; struct :ref:`dnnl::inner_product_forward`; // global functions :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_inner_product_forward_desc_init`( :ref:`dnnl_inner_product_desc_t`* ip_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_inner_product_backward_data_desc_init`( :ref:`dnnl_inner_product_desc_t`* ip_desc, const :ref:`dnnl_memory_desc_t`* diff_src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc ); :ref:`dnnl_status_t` DNNL_API :ref:`dnnl_inner_product_backward_weights_desc_init`( :ref:`dnnl_inner_product_desc_t`* ip_desc, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc ); .. _details-group__dnnl__api__inner__product: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ A primitive to compute an inner product. .. rubric:: See also: :ref:`Inner Product ` in developer guide Global Functions ---------------- .. index:: pair: function; dnnl_inner_product_forward_desc_init .. _doxid-group__dnnl__api__inner__product_1ga76a8a2479455d46599e221febfc8f418: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_status_t` DNNL_API dnnl_inner_product_forward_desc_init( :ref:`dnnl_inner_product_desc_t`* ip_desc, :ref:`dnnl_prop_kind_t` prop_kind, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* bias_desc, const :ref:`dnnl_memory_desc_t`* dst_desc ) Initializes descriptor for inner product forward propagation. .. note:: Memory descriptors can be initialized with :ref:`dnnl_format_tag_any ` or with format_kind set to :ref:`dnnl_format_kind_any `. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ip_desc - Output descriptor for inner product primitive. * - prop_kind - Propagation kind. Possible values are :ref:`dnnl_forward_training ` and :ref:`dnnl_forward_inference `. * - src_desc - Source memory descriptor. * - weights_desc - Weights memory descriptor. * - bias_desc - Bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to :ref:`dnnl_format_kind_undef ` disables the bias term. * - dst_desc - Destination memory descriptor. .. rubric:: Returns: :ref:`dnnl_success ` on success and a status describing the error otherwise. .. index:: pair: function; dnnl_inner_product_backward_data_desc_init .. _doxid-group__dnnl__api__inner__product_1gaf5baf96b3cbc1edc0bd42aadd7848556: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_status_t` DNNL_API dnnl_inner_product_backward_data_desc_init( :ref:`dnnl_inner_product_desc_t`* ip_desc, const :ref:`dnnl_memory_desc_t`* diff_src_desc, const :ref:`dnnl_memory_desc_t`* weights_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc ) Initializes descriptor for inner product backward propagation. .. note:: Memory descriptors can be initialized with :ref:`dnnl_format_tag_any ` or with format_kind set to :ref:`dnnl_format_kind_any `. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ip_desc - Output descriptor for inner product primitive. * - diff_src_desc - Diff source memory descriptor. * - weights_desc - Weights memory descriptor. * - diff_dst_desc - Diff destination memory descriptor. .. rubric:: Returns: :ref:`dnnl_success ` on success and a status describing the error otherwise. .. index:: pair: function; dnnl_inner_product_backward_weights_desc_init .. _doxid-group__dnnl__api__inner__product_1ga99aa7376c6b091aed5d99e3b702df40f: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_status_t` DNNL_API dnnl_inner_product_backward_weights_desc_init( :ref:`dnnl_inner_product_desc_t`* ip_desc, const :ref:`dnnl_memory_desc_t`* src_desc, const :ref:`dnnl_memory_desc_t`* diff_weights_desc, const :ref:`dnnl_memory_desc_t`* diff_bias_desc, const :ref:`dnnl_memory_desc_t`* diff_dst_desc ) Initializes descriptor for inner product weights gradient primitive. .. note:: Memory descriptors can be initialized with :ref:`dnnl_format_tag_any ` or with format_kind set to :ref:`dnnl_format_kind_any `. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ip_desc - Output descriptor for inner product primitive. * - src_desc - Source memory descriptor. * - diff_weights_desc - Diff weights memory descriptor. * - diff_bias_desc - Diff bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to :ref:`dnnl_format_kind_undef ` disables the bias term. * - diff_dst_desc - Diff destination memory descriptor. .. rubric:: Returns: :ref:`dnnl_success ` on success and a status describing the error otherwise.