Class PlanSelectionFuseNoRedundancy

java.lang.Object
org.apache.sysds.hops.codegen.opt.PlanSelection
org.apache.sysds.hops.codegen.opt.PlanSelectionFuseNoRedundancy

public class PlanSelectionFuseNoRedundancy extends PlanSelection
This plan selection heuristic aims for fusion without any redundant computation, which, however, potentially leads to more materialized intermediates than the fuse all heuristic.

NOTE: This heuristic is essentially the same as FuseAll, except that any plans that refer to a hop with multiple consumers are removed in a pre-processing step.

  • Constructor Details

    • PlanSelectionFuseNoRedundancy

      public PlanSelectionFuseNoRedundancy()
  • Method Details

    • selectPlans

      public void selectPlans(CPlanMemoTable memo, ArrayList<Hop> roots)
      Description copied from class: PlanSelection
      Given a HOP DAG G, and a set of partial fusions plans P, find the set of optimal, non-conflicting fusion plans P' that applied to G minimizes costs C with P' = \argmin_{p \subseteq P} C(G, p) s.t. Z \vDash p, where Z is a set of constraints such as memory budgets and block size restrictions per fused operator.
      Specified by:
      selectPlans in class PlanSelection
      Parameters:
      memo - partial fusion plans P
      roots - entry points of HOP DAG G