Class Optimizer
- java.lang.Object
-
- org.apache.sysds.runtime.controlprogram.parfor.opt.Optimizer
-
- Direct Known Subclasses:
OptimizerRuleBased
public abstract class Optimizer extends Object
Generic optimizer super class that defines the interface of all implemented optimizers. Furthermore it implements basic primitives, used by all optimizers such as the enumeration of plan alternatives and specific rewrites. Optimization objective: \phi: \min T(prog) | k \leq ck \wedge m(prog) \leq cm with T(p)=max_(1\leq i\leq k)(T(prog_i).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Optimizer.CostModelType
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Optimizer.CostModelType
getCostModelType()
long
getNumEvaluatedPlans()
long
getNumTotalPlans()
abstract ParForProgramBlock.POptMode
getOptMode()
abstract boolean
optimize(ParForStatementBlock sb, ParForProgramBlock pb, OptTree plan, CostEstimator est, int numRuns, ExecutionContext ec)
Optimize the parfor statement block
-
-
-
Method Detail
-
optimize
public abstract boolean optimize(ParForStatementBlock sb, ParForProgramBlock pb, OptTree plan, CostEstimator est, int numRuns, ExecutionContext ec)
Optimize the parfor statement block- Parameters:
sb
- parfor statement blockpb
- parfor program blockplan
- complete plan of a top-level parforest
- cost estimatornumRuns
- Number of runsec
- execution context- Returns:
- true if plan changed, false otherwise
-
getCostModelType
public abstract Optimizer.CostModelType getCostModelType()
-
getOptMode
public abstract ParForProgramBlock.POptMode getOptMode()
-
getNumTotalPlans
public long getNumTotalPlans()
-
getNumEvaluatedPlans
public long getNumEvaluatedPlans()
-
-