Class OptimizerConstrained
java.lang.Object
org.apache.sysds.runtime.controlprogram.parfor.opt.Optimizer
org.apache.sysds.runtime.controlprogram.parfor.opt.OptimizerRuleBased
org.apache.sysds.runtime.controlprogram.parfor.opt.OptimizerConstrained
Rule-Based ParFor Optimizer (time: O(n)):
Applied rule-based rewrites:
- see base class.
Checked constraints:
- 1) rewrite set data partitioner (incl. recompile RIX)
- 4) rewrite set execution strategy
- 9) rewrite set degree of parallelism
- 10) rewrite set task partitioner
- 11) rewrite set result merge
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sysds.runtime.controlprogram.parfor.opt.Optimizer
Optimizer.CostModelType -
Field Summary
Fields inherited from class org.apache.sysds.runtime.controlprogram.parfor.opt.OptimizerRuleBased
ALLOW_REMOTE_NESTED_PARALLELISM, FUNCTION_UNFOLD_NAMEPREFIX, MAX_REPLICATION_FACTOR_EXPORT, MAX_REPLICATION_FACTOR_PARTITIONING, PAR_K_FACTOR, PAR_K_MR_FACTOR, PROB_SIZE_THRESHOLD_MB, PROB_SIZE_THRESHOLD_PARTITIONING, PROB_SIZE_THRESHOLD_REMOTE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanoptimize(ParForStatementBlock sb, ParForProgramBlock pb, OptTree plan, CostEstimator est, int numRuns, ExecutionContext ec) Main optimization procedure.Methods inherited from class org.apache.sysds.runtime.controlprogram.parfor.opt.OptimizerRuleBased
allowsBinaryCellPartitions, getCostModelType, isInMemoryResultMerge, toMBMethods inherited from class org.apache.sysds.runtime.controlprogram.parfor.opt.Optimizer
getNumEvaluatedPlans, getNumTotalPlans
-
Constructor Details
-
OptimizerConstrained
public OptimizerConstrained()
-
-
Method Details
-
getOptMode
- Overrides:
getOptModein classOptimizerRuleBased
-
optimize
public boolean optimize(ParForStatementBlock sb, ParForProgramBlock pb, OptTree plan, CostEstimator est, int numRuns, ExecutionContext ec) Main optimization procedure. Transformation-based heuristic (rule-based) optimization (no use of sb, direct change of pb).- Overrides:
optimizein classOptimizerRuleBased- 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
-