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.
Inner Product
Overview
A primitive to compute an inner product. More…
// structs
struct dnnl::inner_product_backward_data;
struct dnnl::inner_product_backward_weights;
struct dnnl::inner_product_forward;
// global functions
dnnl_status_t DNNL_API dnnl_inner_product_forward_primitive_desc_create(
    dnnl_primitive_desc_t* primitive_desc,
    dnnl_engine_t engine,
    dnnl_prop_kind_t prop_kind,
    const_dnnl_memory_desc_t src_desc,
    const_dnnl_memory_desc_t weights_desc,
    const_dnnl_memory_desc_t bias_desc,
    const_dnnl_memory_desc_t dst_desc,
    const_dnnl_primitive_attr_t attr
    );
dnnl_status_t DNNL_API dnnl_inner_product_backward_data_primitive_desc_create(
    dnnl_primitive_desc_t* primitive_desc,
    dnnl_engine_t engine,
    const_dnnl_memory_desc_t diff_src_desc,
    const_dnnl_memory_desc_t weights_desc,
    const_dnnl_memory_desc_t diff_dst_desc,
    const_dnnl_primitive_desc_t hint_fwd_pd,
    const_dnnl_primitive_attr_t attr
    );
dnnl_status_t DNNL_API dnnl_inner_product_backward_weights_primitive_desc_create(
    dnnl_primitive_desc_t* primitive_desc,
    dnnl_engine_t engine,
    const_dnnl_memory_desc_t src_desc,
    const_dnnl_memory_desc_t diff_weights_desc,
    const_dnnl_memory_desc_t diff_bias_desc,
    const_dnnl_memory_desc_t diff_dst_desc,
    const_dnnl_primitive_desc_t hint_fwd_pd,
    const_dnnl_primitive_attr_t attr
    );Detailed Documentation
A primitive to compute an inner product.
See also:
Inner Product in developer guide
Global Functions
dnnl_status_t DNNL_API dnnl_inner_product_forward_primitive_desc_create(
    dnnl_primitive_desc_t* primitive_desc,
    dnnl_engine_t engine,
    dnnl_prop_kind_t prop_kind,
    const_dnnl_memory_desc_t src_desc,
    const_dnnl_memory_desc_t weights_desc,
    const_dnnl_memory_desc_t bias_desc,
    const_dnnl_memory_desc_t dst_desc,
    const_dnnl_primitive_attr_t attr
    )Creates a primitive descriptor for an inner product 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. | 
| 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 dnnl_format_kind_undef disables the bias term. | 
| dst_desc | Destination memory descriptor. | 
| attr | Primitive attributes (can be NULL). | 
Returns:
dnnl_success on success and a status describing the error otherwise.
dnnl_status_t DNNL_API dnnl_inner_product_backward_data_primitive_desc_create(
    dnnl_primitive_desc_t* primitive_desc,
    dnnl_engine_t engine,
    const_dnnl_memory_desc_t diff_src_desc,
    const_dnnl_memory_desc_t weights_desc,
    const_dnnl_memory_desc_t diff_dst_desc,
    const_dnnl_primitive_desc_t hint_fwd_pd,
    const_dnnl_primitive_attr_t attr
    )Creates a primitive descriptor for an inner product backward propagation primitive.
Parameters:
| primitive_desc | Output primitive_descriptor. | 
| engine | Engine to use. | 
| diff_src_desc | Diff source memory descriptor. | 
| weights_desc | Weights memory descriptor. | 
| diff_dst_desc | Diff destination memory descriptor. | 
| 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.
dnnl_status_t DNNL_API dnnl_inner_product_backward_weights_primitive_desc_create(
    dnnl_primitive_desc_t* primitive_desc,
    dnnl_engine_t engine,
    const_dnnl_memory_desc_t src_desc,
    const_dnnl_memory_desc_t diff_weights_desc,
    const_dnnl_memory_desc_t diff_bias_desc,
    const_dnnl_memory_desc_t diff_dst_desc,
    const_dnnl_primitive_desc_t hint_fwd_pd,
    const_dnnl_primitive_attr_t attr
    )Creates a primitive descriptor for an inner product weights gradient primitive.
Parameters:
| primitive_desc | Output primitive_descriptor. | 
| engine | Engine to use. | 
| 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 dnnl_format_kind_undef disables the bias term. | 
| diff_dst_desc | Diff destination memory descriptor. | 
| 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.