# Package org.apache.sysds.runtime.controlprogram.parfor.opt

- Class Summary
  Class | Description
  --- | ---
  CostEstimator | Base class for all potential cost estimators TODO account for shared read-only matrices when computing aggregated stats
  CostEstimatorHops |
  CostEstimatorRuntime | Cost estimator for runtime programs.
  OptimizationWrapper | Wrapper to ParFOR cost estimation and optimizer.
  Optimizer | Generic optimizer super class that defines the interface of all implemented optimizers.
  OptimizerConstrained | Rule-Based ParFor Optimizer (time: O(n)): Applied rule-based rewrites: - see base class.
  OptimizerHeuristic | Heuristic ParFor Optimizer: This optimizer extends the rule-based optimizer by a time-based cost estimate for execution type decisions.
  OptimizerRuleBased | Rule-Based ParFor Optimizer (time: O(n)): Applied rule-based rewrites - 1) rewrite set data partitioner (incl.
  OptNode | Internal representation of a plan alternative for program blocks and instructions in order to enable efficient and simple recursive enumeration and plan changes.
  OptNodeStatistics | TODO extend to right as well (see PerfTestTool, currently only trained with regard to left) TODO integrate mem and exec time for reuse?
  OptTree | Represents a complete plan of a top-level parfor.
  OptTreeConverter | Converter for creating an internal plan representation for a given runtime program and to modify/create the runtime program according to the optimized plan.
  OptTreePlanChecker |
  OptTreePlanMapping | Helper class for mapping nodes of the internal plan representation to statement blocks and hops / function call statements of a given DML program.
  OptTreePlanMappingAbstract |
  OptTreePlanMappingRuntime |
  ProgramRecompiler |

- Enum Summary
  Enum | Description
  --- | ---
  CostEstimator.DataFormat |
  CostEstimator.ExcludeType |
  CostEstimator.TestMeasure |
  Optimizer.CostModelType |
  Optimizer.PlanInputType |
  OptNode.ExecType |
  OptNode.NodeType |
  OptNode.ParamType |