Developer Guide and Reference

  • 2022.1
  • 04/11/2022
  • Public Content
Contents

Eltwise

Overview

A primitive to perform elementwise operations such as the rectifier linear unit (ReLU). More…
// structs struct dnnl_eltwise_desc_t; struct dnnl::eltwise_backward; struct dnnl::eltwise_forward; // global functions dnnl_status_t DNNL_API dnnl_eltwise_forward_desc_init( dnnl_eltwise_desc_t* eltwise_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t* data_desc, float alpha, float beta ); dnnl_status_t DNNL_API dnnl_eltwise_backward_desc_init( dnnl_eltwise_desc_t* eltwise_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t* diff_data_desc, const dnnl_memory_desc_t* data_desc, float alpha, float beta );

Detailed Documentation

A primitive to perform elementwise operations such as the rectifier linear unit (ReLU).
Both forward and backward propagation primitives support in-place operation; that is, src and dst can refer to the same memory for forward propagation, and diff_dst and diff_src can refer to the same memory for backward propagation.
Because the original source data is required for backward propagation, in-place forward propagation is not generally supported in the training mode. However, for algorithms supporting destination as input memory, dst can be used for the backward propagation, which makes it possible to get performance benefit even in the training mode.
See also:
Eltwise in developer guide
Global Functions
dnnl_status_t DNNL_API dnnl_eltwise_forward_desc_init( dnnl_eltwise_desc_t* eltwise_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t* data_desc, float alpha, float beta )
Initializes a descriptor for eltwise forward propagation primitive.
Parameters:
eltwise_desc
Output descriptor for an eltwise primitive.
prop_kind
Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference.
alg_kind
Elementwise algorithm kind.
data_desc
Source and destination memory descriptor.
alpha
The alpha parameter for the elementwise operation. Specific meaning depends on the algorithm.
beta
The beta parameter for the elementwise operation. Specific meaning depends on the algorithm.
Returns:
dnnl_success on success and a status describing the error otherwise.
dnnl_status_t DNNL_API dnnl_eltwise_backward_desc_init( dnnl_eltwise_desc_t* eltwise_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t* diff_data_desc, const dnnl_memory_desc_t* data_desc, float alpha, float beta )
Initializes a descriptor for eltwise backward propagation primitive.
Parameters:
eltwise_desc
Output descriptor for an eltwise primitive.
alg_kind
Elementwise algorithm kind.
diff_data_desc
Diff source and diff destination memory descriptors.
data_desc
Source and destination memory descriptor.
alpha
The alpha parameter for the elementwise operation. Specific meaning depends on the algorithm.
beta
The beta parameter for the elementwise operation. Specific meaning depends on the algorithm.
Returns:
dnnl_success on success and a status describing the error otherwise.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.