Package org.apache.sysds.lops.compile.linearization

# Class IDagLinearizer

java.lang.Object
org.apache.sysds.lops.compile.linearization.IDagLinearizer

Direct Known Subclasses:
  `LinearizerBreadthFirst`, `LinearizerCostBased`, `LinearizerDepthFirst`, `LinearizerMaxParallelism`, `LinearizerMinIntermediates`, `LinearizerPipelineAware`, `LinearizerResourceAwareFast`, `LinearizerResourceAwareOptimal`

public abstract class IDagLinearizer extends Object
An interface for the linearization algorithms that order the DAG nodes into a sequence of instructions to execute.

## Constructor Summary

Constructors
Constructor
Description
`IDagLinearizer()`

## Method Summary

Modifier and Type
Method
Description
`abstract List<Lop>`
`linearize(List<Lop> v)`
Linearized a DAG of lops into a sequence of lops that preserves all data dependencies.

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

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

## Constructor Details

### IDagLinearizer

public IDagLinearizer()

## Method Details

### linearize

public abstract List<Lop> linearize(List<Lop> v)
Linearized a DAG of lops into a sequence of lops that preserves all data dependencies.

Parameters:
  `v` - roots (outputs) of a DAG of lops
Returns:
  list of lops (input, inner, and outputs)