Binary Fusion Patterns¶
Overview¶
The Binary category includes operations such as: Add, Subtract, Maximum, Minimum, Multiply, Divide.
oneDNN supports various binary fusion patterns to optimize performance and reduce memory bandwidth requirements. This document describes the supported fusion patterns for Binary operations.
Pattern Structure¶
oneDNN defines floating-point Binary fusion patterns as follows. The blue nodes are required when defining a Binary fusion pattern while the brown nodes are optional.

Binary Operation : Performs the corresponding binary operation between the
src_0
andsrc_1
tensors. Refer to the Note in Fusion Patterns.Epilogue Subgraph : Optional and can include the following operations:
Binary Operations.
Unary Operations : Refer to the Note in Fusion Patterns.
Combination Rules:
0 to 4 Binary or Unary operations are supported in the epilogue subgraph.
Data Types¶
oneDNN supports the following combinations of data types for src0, src1 and dst:
src_0 |
src_1 |
dst |
---|---|---|
f32,bf16,f16 |
f32,bf16,f16 |
f32,bf16,f16 |
The definition of the data types and support status on different CPU and GPU platforms follow the general description in the Data Types Guide.