org.apache.sysds.hops.codegen.opt

## Class PlanSelection

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

- Direct Known Subclasses:
    PlanSelectionFuseAll, PlanSelectionFuseCostBased, PlanSelectionFuseCostBasedV2, PlanSelectionFuseNoRedundancy

      public abstract class PlanSelection
      extends Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `PlanSelection.VisitMarkCost`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PlanSelection()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `selectPlans(CPlanMemoTable memo, ArrayList<Hop> roots)` 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.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PlanSelection

          public PlanSelection()

  - ### Method Detail

    - #### selectPlans

          public abstract void selectPlans(CPlanMemoTable memo,
                                           ArrayList<Hop> roots)

      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.
      Parameters:
        `memo` - partial fusion plans P
        `roots` - entry points of HOP DAG G

Copyright © 2021 The Apache Software Foundation. All rights reserved.