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
Modifier and Type
Field
Description
`static final double`
`PAR_FACTOR_INFRASTRUCTURE`

## Constructor Summary

Constructors
Constructor
Description
`OptimizationWrapper()`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### PAR_FACTOR_INFRASTRUCTURE

public static final double PAR_FACTOR_INFRASTRUCTURE

See Also:
  - Constant Field Values

## Constructor Details

### OptimizationWrapper

public OptimizationWrapper()

## Method Details

### 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