Intel® oneAPI Deep Neural Network Developer Guide and Reference
A newer version of this document is available. Customers should click here to go to the newest version.
Eltwise
Overview
A primitive to perform elementwise operations such as the rectifier linear unit (ReLU). More…
// structs
struct dnnl::eltwise_backward;
struct dnnl::eltwise_forward;
// global functions
dnnl_status_t DNNL_API dnnl_eltwise_forward_primitive_desc_create(
    dnnl_primitive_desc_t* primitive_desc,
    dnnl_engine_t engine,
    dnnl_prop_kind_t prop_kind,
    dnnl_alg_kind_t alg_kind,
    const_dnnl_memory_desc_t src_desc,
    const_dnnl_memory_desc_t dst_desc,
    float alpha,
    float beta,
    const_dnnl_primitive_attr_t attr
    );
dnnl_status_t DNNL_API dnnl_eltwise_backward_primitive_desc_create(
    dnnl_primitive_desc_t* primitive_desc,
    dnnl_engine_t engine,
    dnnl_alg_kind_t alg_kind,
    const_dnnl_memory_desc_t diff_src_desc,
    const_dnnl_memory_desc_t diff_dst_desc,
    const_dnnl_memory_desc_t data_desc,
    float alpha,
    float beta,
    const_dnnl_primitive_desc_t hint_fwd_pd,
    const_dnnl_primitive_attr_t attr
    );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.
See also:
Eltwise in developer guide
Global Functions
dnnl_status_t DNNL_API dnnl_eltwise_forward_primitive_desc_create(
    dnnl_primitive_desc_t* primitive_desc,
    dnnl_engine_t engine,
    dnnl_prop_kind_t prop_kind,
    dnnl_alg_kind_t alg_kind,
    const_dnnl_memory_desc_t src_desc,
    const_dnnl_memory_desc_t dst_desc,
    float alpha,
    float beta,
    const_dnnl_primitive_attr_t attr
    )Creates a primitive descriptor for an eltwise forward propagation primitive.
Parameters:
| primitive_desc | Output primitive descriptor. | 
| engine | Engine to use. | 
| prop_kind | Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference. | 
| alg_kind | Elementwise algorithm kind. | 
| src_desc | Source memory descriptor. | 
| dst_desc | 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. | 
| attr | Primitive attributes (can be NULL). | 
Returns:
dnnl_success on success and a status describing the error otherwise.
dnnl_status_t DNNL_API dnnl_eltwise_backward_primitive_desc_create(
    dnnl_primitive_desc_t* primitive_desc,
    dnnl_engine_t engine,
    dnnl_alg_kind_t alg_kind,
    const_dnnl_memory_desc_t diff_src_desc,
    const_dnnl_memory_desc_t diff_dst_desc,
    const_dnnl_memory_desc_t data_desc,
    float alpha,
    float beta,
    const_dnnl_primitive_desc_t hint_fwd_pd,
    const_dnnl_primitive_attr_t attr
    )Creates a primitive descriptor for an eltwise backward propagation primitive.
Parameters:
| primitive_desc | Output primitive descriptor. | 
| engine | Engine to use. | 
| alg_kind | Elementwise algorithm kind. | 
| diff_src_desc | Diff source memory descriptor. | 
| diff_dst_desc | Diff destination memory descriptor. | 
| data_desc | Destination memory descriptor if one of the “use_dst_for_bwd” algorithms are used (such as dnnl_eltwise_relu_use_dst_for_bwd), source memory descriptor otherwise. | 
| 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. | 
| hint_fwd_pd | Primitive descriptor for a respective forward propagation primitive. | 
| attr | Primitive attributes (can be NULL). | 
Returns:
dnnl_success on success and a status describing the error otherwise.