org.apache.sysds.runtime.controlprogram.parfor

## Class ResultMergeLocalMemory

- java.lang.Object
- - org.apache.sysds.runtime.controlprogram.parfor.ResultMerge
  - - org.apache.sysds.runtime.controlprogram.parfor.ResultMergeLocalMemory

All Implemented Interfaces:
  Serializable

    public class ResultMergeLocalMemory
    extends ResultMerge

Local in-memory realization of result merge. If the resulting matrix is small enough to fit into the JVM memory, this class can be used for efficient serial or multi-threaded merge.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`ResultMergeLocalMemory(MatrixObject out, MatrixObject[] in, String outputFilename, boolean accum)`

### Method Summary

All Methods Instance Methods Concrete Methods
`MatrixObject` `executeParallelMerge(int par)` Merge all given input matrices in parallel into the given output matrix.
`MatrixObject` `executeSerialMerge()` Merge all given input matrices sequentially into the given output matrix.

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

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

### Constructor Detail

#### ResultMergeLocalMemory

    public ResultMergeLocalMemory(MatrixObject out,
                                  MatrixObject[] in,
                                  String outputFilename,
                                  boolean accum)

### Method Detail

#### executeSerialMerge

    public MatrixObject executeSerialMerge()

Description copied from class: `ResultMerge`
Merge all given input matrices sequentially into the given output matrix. The required space in-memory is the size of the output matrix plus the size of one input matrix at a time.

Specified by:
  `executeSerialMerge` in class `ResultMerge`
Returns:
  output (merged) matrix

#### executeParallelMerge

    public MatrixObject executeParallelMerge(int par)

Description copied from class: `ResultMerge`
Merge all given input matrices in parallel into the given output matrix. The required space in-memory is the size of the output matrix plus the size of all input matrices.

Specified by:
  `executeParallelMerge` in class `ResultMerge`
Parameters:
  `par` - degree of parallelism
Returns:
  output (merged) matrix