Interpolate Fusion Patterns

Interpolate Fusion Patterns#

Overview#

oneDNN supports various Interpolate fusion patterns to optimize performance and reduce memory bandwidth requirements. This document describes the supported fusion patterns for Interpolate.

Pattern Structure#

oneDNN defines floating-point Interpolate fusion patterns as follows. The blue nodes are required when defining an Interpolate fusion pattern while the brown nodes are optional.

Interpolate pattern
  1. Interpolate Operation : Performs interpolation for the src tensor at spatial dimensions. See the Interpolate operation in the Graph API for more details.

  2. Epilogue Subgraph : Optional and can include the following operations:

    Combination Rules:

    epilogue subgraph
    • 0 to 4 Binary or Unary operations are supported in the epilogue subgraph.

Data Types#

oneDNN supports the following combinations of data types for src and dst:

src

dst

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.

Implementation Limitations#

  1. The Interpolate operation only supports half_pixel coordinate_transformation_mode.