Class PlanSelectionFuseCostBasedV2
- java.lang.Object
-
- org.apache.sysds.hops.codegen.opt.PlanSelection
-
- org.apache.sysds.hops.codegen.opt.PlanSelectionFuseCostBasedV2
-
public class PlanSelectionFuseCostBasedV2 extends PlanSelection
This cost-based plan selection algorithm chooses fused operators based on the DAG structure and resulting overall costs. This includes holistic decisions on- Materialization points per consumer
- Sparsity exploitation and operator ordering
- Decisions on overlapping template types
- Decisions on multi-aggregates with shared reads
- Constraints (e.g., memory budgets and block sizes)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.sysds.hops.codegen.opt.PlanSelection
PlanSelection.VisitMarkCost
-
-
Field Summary
Fields Modifier and Type Field Description static double
COST_MIN_EPS
static int
COST_MIN_EPS_NUM_POINTS
static boolean
COST_PRUNING
static boolean
PLAN_CACHING
static boolean
STRUCTURAL_PRUNING
-
Constructor Summary
Constructors Constructor Description PlanSelectionFuseCostBasedV2()
-
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.
-
-
-
Field Detail
-
COST_MIN_EPS
public static final double COST_MIN_EPS
- See Also:
- Constant Field Values
-
COST_MIN_EPS_NUM_POINTS
public static final int COST_MIN_EPS_NUM_POINTS
- See Also:
- Constant Field Values
-
COST_PRUNING
public static boolean COST_PRUNING
-
STRUCTURAL_PRUNING
public static boolean STRUCTURAL_PRUNING
-
PLAN_CACHING
public static boolean PLAN_CACHING
-
-
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
-
-