Binary

Overview

A primitive to perform tensor operations over two tensors. More…

// structs

struct dnnl::binary;
struct dnnl_binary_desc_t;

// global functions

dnnl_status_t DNNL_API dnnl_binary_desc_init(
    dnnl_binary_desc_t* binary_desc,
    dnnl_alg_kind_t alg_kind,
    const dnnl_memory_desc_t* src0_desc,
    const dnnl_memory_desc_t* src1_desc,
    const dnnl_memory_desc_t* dst_desc
    );

Detailed Documentation

A primitive to perform tensor operations over two tensors.

See also:

Binary in developer guide

Global Functions

dnnl_status_t DNNL_API dnnl_binary_desc_init(
    dnnl_binary_desc_t* binary_desc,
    dnnl_alg_kind_t alg_kind,
    const dnnl_memory_desc_t* src0_desc,
    const dnnl_memory_desc_t* src1_desc,
    const dnnl_memory_desc_t* dst_desc
    )

Initializes a descriptor for a binary primitive.

Note

Memory descriptor dst_desc is allowed to be initialized with dnnl_format_tag_any or with format_kind set to dnnl_format_kind_any.

Both memory descriptors must have the same number of dimensions. Element broadcasting is supported for memory descriptor src1_desc and are applied to @ src1_desc dimensions that have size equal to 1.

Parameters:

binary_desc

Output descriptor for a binary primitive.

alg_kind

Algorithm kind. Valid values are dnnl_binary_add, dnnl_binary_mul, dnnl_binary_max, dnnl_binary_min, dnnl_binary_div, dnnl_binary_sub, dnnl_binary_ge, dnnl_binary_gt, dnnl_binary_le, dnnl_binary_lt, dnnl_binary_eq and dnnl_binary_ne.

src0_desc

Source 0 memory descriptor.

src1_desc

Source 1 memory descriptor.

dst_desc

Destination memory descriptor.

Returns:

dnnl_success on success and a status describing the error otherwise.