Class PlanSelectionFuseNoRedundancy
java.lang.Object
org.apache.sysds.hops.codegen.opt.PlanSelection
org.apache.sysds.hops.codegen.opt.PlanSelectionFuseNoRedundancy
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 -
Method Summary
Modifier and TypeMethodDescriptionvoidselectPlans(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.
-
Constructor Details
-
PlanSelectionFuseNoRedundancy
public PlanSelectionFuseNoRedundancy()
-
-
Method Details
-
selectPlans
Description copied from class:PlanSelectionGiven 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:
selectPlansin classPlanSelection- Parameters:
memo- partial fusion plans Proots- entry points of HOP DAG G
-