Binary¶
Overview¶
A primitive to perform tensor operations over two tensors. More…
// structs struct dnnl::binary; // global functions dnnl_status_t DNNL_API dnnl_binary_primitive_desc_create( dnnl_primitive_desc_t* primitive_desc, dnnl_engine_t engine, 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, const_dnnl_primitive_attr_t attr ); dnnl_status_t DNNL_API dnnl_binary_primitive_desc_create_v2( dnnl_primitive_desc_t* primitive_desc, dnnl_engine_t engine, 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 src2_desc, const_dnnl_memory_desc_t dst_desc, const_dnnl_primitive_attr_t attr );
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_primitive_desc_create( dnnl_primitive_desc_t* primitive_desc, dnnl_engine_t engine, 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, const_dnnl_primitive_attr_t attr )
Creates a primitive descriptor for a binary primitive.
Note
Memory descriptors src1_desc
and dst_desc
are allowed to be initialized with dnnl_format_tag_any or with format_kind set to dnnl_format_kind_any.
Note
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:
primitive_desc |
Output primitive descriptor. |
engine |
Engine to use. |
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. |
attr |
Primitive attributes (can be NULL). |
Returns:
dnnl_success on success and a status describing the error otherwise.
dnnl_status_t DNNL_API dnnl_binary_primitive_desc_create_v2( dnnl_primitive_desc_t* primitive_desc, dnnl_engine_t engine, 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 src2_desc, const_dnnl_memory_desc_t dst_desc, const_dnnl_primitive_attr_t attr )
Creates a primitive descriptor for a binary primitive with support of ternary operators.
Note
Memory descriptors src1_desc
, src2_desc
and dst_desc
are allowed to be initialized with dnnl_format_tag_any or with format_kind set to dnnl_format_kind_any.
Note
All memory descriptors must have the same number of dimensions. Element broadcasting is supported for memory descriptor src1_desc
and is applied to src1_desc
dimensions that have a size equal to 1. There is no broadcasting support for src2_desc
.
Parameters:
primitive_desc |
Output primitive descriptor. |
engine |
Engine to use. |
alg_kind |
Algorithm kind. |
src0_desc |
Source 0 memory descriptor. |
src1_desc |
Source 1 memory descriptor. |
src2_desc |
Source memory descriptor for ternary operations. Might be empty. |
dst_desc |
Destination memory descriptor. |
attr |
Primitive attributes. |
Returns:
dnnl_success on success and a status describing the error otherwise.