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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.sysds.hops.codegen.opt.PlanSelection
PlanSelection.VisitMarkCost
-
-
Constructor Summary
Constructors Constructor Description PlanSelectionFuseNoRedundancy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
Method Detail
-
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 classPlanSelection
- Parameters:
memo
- partial fusion plans Proots
- entry points of HOP DAG G
-
-