Overview

It is an operator decomposition pass and inherits from FusionBasePass. The execution engine calls the meet_requirements() and replacement() methods for the matched nodes, rather than the run() method.

Restrictions

  • Do not override run(); if a subclass defines run(), a TypeError will be raised at class definition time.
  • The replacement() method must be implemented. meet_requirements() is optional, and it returns True by default.
  • Subclasses can define the class attribute op_types: Optional[List[str]] to specify the list of operator types to be decomposed. This attribute is automatically set when the register_decompose_pass decorator is used.