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

## Class OptimizationWrapper

- java.lang.Object
- - org.apache.sysds.runtime.controlprogram.parfor.opt.OptimizationWrapper

    public class OptimizationWrapper
    extends Object

Wrapper to ParFOR cost estimation and optimizer. This is intended to be the only public access to the optimizer package. NOTE: There are two main alternatives for invocation of this OptimizationWrapper: (1) During compilation (after creating rtprog), (2) on execute of all top-level ParFOR PBs. We decided to use (2) (and carry the SBs during execution) due to the following advantages - Known Statistics: problem size of top-level parfor known, in general, less unknown statistics - No Overhead: preventing overhead for non-parfor scripts (finding top-level parfors) - Simplicity: no need of finding top-level parfors

### Field Summary

Fields
`static double` `PAR_FACTOR_INFRASTRUCTURE`

### Constructor Summary

Constructors
`OptimizationWrapper()`

### Method Summary

All Methods Static Methods Concrete Methods
`static void` `optimize​(ParForProgramBlock.POptMode type, ParForStatementBlock sb, ParForProgramBlock pb, ExecutionContext ec, int numRuns)` Called once per top-level parfor (during runtime, on parfor execute) in order to optimize the specific parfor program block.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### PAR_FACTOR_INFRASTRUCTURE

    public static final double PAR_FACTOR_INFRASTRUCTURE

See Also:
  Constant Field Values

### Constructor Detail

#### OptimizationWrapper

    public OptimizationWrapper()

### Method Detail

#### optimize

    public static void optimize​(ParForProgramBlock.POptMode type,
                                ParForStatementBlock sb,
                                ParForProgramBlock pb,
                                ExecutionContext ec,
                                int numRuns)

Called once per top-level parfor (during runtime, on parfor execute) in order to optimize the specific parfor program block. NOTE: this is the default way to invoke parfor optimizers.

Parameters:
  `type` - ?
  `sb` - parfor statement block
  `pb` - parfor program block
  `ec` - execution context
  `numRuns` - number of optimizations performed so far