.. index:: pair: struct; dnnl_eltwise_desc_t .. _doxid-structdnnl__eltwise__desc__t: struct dnnl_eltwise_desc_t ========================== .. toctree:: :hidden: Overview ~~~~~~~~ A descriptor of a element-wise operation. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include struct dnnl_eltwise_desc_t { // fields :ref:`dnnl_primitive_kind_t` :ref:`primitive_kind`; :ref:`dnnl_prop_kind_t` :ref:`prop_kind`; :ref:`dnnl_alg_kind_t` :ref:`alg_kind`; :ref:`dnnl_memory_desc_t` :ref:`data_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_data_desc`; float :ref:`alpha`; float :target:`beta`; }; .. _details-structdnnl__eltwise__desc__t: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ A descriptor of a element-wise operation. Fields ------ .. index:: pair: variable; primitive_kind .. _doxid-structdnnl__eltwise__desc__t_1aa55089b9c9c29b1582bbd77cc4e8caf8: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_primitive_kind_t` primitive_kind The kind of primitive. Used for self-identifying the primitive descriptor. Must be :ref:`dnnl_eltwise `. .. index:: pair: variable; prop_kind .. _doxid-structdnnl__eltwise__desc__t_1ad01dd86738e3d04720716a962c3dd05f: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_prop_kind_t` prop_kind The kind of propagation. Possible values: :ref:`dnnl_forward_training `, :ref:`dnnl_forward_inference `, :ref:`dnnl_backward `, and :ref:`dnnl_backward_data `. .. index:: pair: variable; alg_kind .. _doxid-structdnnl__eltwise__desc__t_1ae5d386bea1a4c651880ab304a7044fe4: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_alg_kind_t` alg_kind The kind of eltwise algorithm. Possible values: :ref:`dnnl_eltwise_relu `, :ref:`dnnl_eltwise_tanh `, :ref:`dnnl_eltwise_elu `, :ref:`dnnl_eltwise_square `, :ref:`dnnl_eltwise_abs `, :ref:`dnnl_eltwise_sqrt `, :ref:`dnnl_eltwise_linear `, :ref:`dnnl_eltwise_bounded_relu `, :ref:`dnnl_eltwise_soft_relu `, :ref:`dnnl_eltwise_logistic `, :ref:`dnnl_eltwise_exp `, :ref:`dnnl_eltwise_gelu_tanh `, :ref:`dnnl_eltwise_swish `, :ref:`dnnl_eltwise_log `, :ref:`dnnl_eltwise_clip `, :ref:`dnnl_eltwise_clip_v2 `, :ref:`dnnl_eltwise_pow `, :ref:`dnnl_eltwise_gelu_erf `, :ref:`dnnl_eltwise_round `, :ref:`dnnl_eltwise_logsigmoid `, :ref:`dnnl_eltwise_mish `, :ref:`dnnl_eltwise_hardswish `. Possible values for passing destination memory on backward: :ref:`dnnl_eltwise_relu_use_dst_for_bwd `, :ref:`dnnl_eltwise_tanh_use_dst_for_bwd `, :ref:`dnnl_eltwise_elu_use_dst_for_bwd `, :ref:`dnnl_eltwise_sqrt_use_dst_for_bwd `, :ref:`dnnl_eltwise_logistic_use_dst_for_bwd `, :ref:`dnnl_eltwise_exp_use_dst_for_bwd `, :ref:`dnnl_eltwise_clip_v2_use_dst_for_bwd `. .. index:: pair: variable; data_desc .. _doxid-structdnnl__eltwise__desc__t_1a7638c60c3d134422173640a2f964833e: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` data_desc Source and destination memory descriptor. .. index:: pair: variable; diff_data_desc .. _doxid-structdnnl__eltwise__desc__t_1a04054bd18d7c1113a7d0dbd2544ec524: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_data_desc Source and destination gradient memory descriptor. .. index:: pair: variable; alpha .. _doxid-structdnnl__eltwise__desc__t_1a10784684fa814edcb365c0a8fecdef59: .. ref-code-block:: cpp :class: doxyrest-title-code-block float alpha Algorithm specific parameter. Accordance table: * :ref:`dnnl_eltwise_relu ` : ``alpha`` negative slope, ``beta`` ignored * :ref:`dnnl_eltwise_tanh ` : ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_elu ` : ``alpha`` negative slope, ``beta`` ignored * :ref:`dnnl_eltwise_square ` : ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_abs ` : ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_sqrt ` : ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_linear ` : ``alpha`` scale, ``beta`` shift * :ref:`dnnl_eltwise_bounded_relu ` : ``alpha`` upper bound, ``beta`` ignored * :ref:`dnnl_eltwise_soft_relu ` : ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_logistic ` : ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_exp ` : ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_gelu_tanh ` : ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_swish ` : ``alpha`` sigmoid arg scaling, ``beta`` ignored * :ref:`dnnl_eltwise_log ` : ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_clip ` : ``alpha`` lower bound, ``beta`` upper bound * :ref:`dnnl_eltwise_clip_v2 ` : ``alpha`` lower bound, ``beta`` upper bound * :ref:`dnnl_eltwise_pow ` : ``alpha`` scale, ``beta`` exponent * :ref:`dnnl_eltwise_gelu_erf ` : ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_round ` : ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_logsigmoid ` ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_mish ` ``alpha`` and ``beta`` ignored * :ref:`dnnl_eltwise_hardswish ` ``alpha`` and ``beta`` ignored