org.apache.sysds.hops.rewrite

## Class RewriteBlockSizeAndReblock

- java.lang.Object
- - org.apache.sysds.hops.rewrite.HopRewriteRule
  - - org.apache.sysds.hops.rewrite.RewriteBlockSizeAndReblock

    public class RewriteBlockSizeAndReblock
    extends HopRewriteRule

Rule: BlockSizeAndReblock. For all statement blocks, determine "optimal" block size, and place reblock Hops. For now, we just use BlockSize 1K x 1K and do reblock after Persistent Reads and before Persistent Writes.

### Constructor Summary

Constructors
Constructor and Description
`RewriteBlockSizeAndReblock()`

### Method Summary

All Methods Instance Methods Concrete Methods
`Hop` `rewriteHopDAG(Hop root, ProgramRewriteStatus state)` Handle a predicate hop DAG with exactly one root.
`ArrayList<Hop>` `rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state)` Handle a generic (last-level) hop DAG with multiple roots.

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

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

### Constructor Detail

#### RewriteBlockSizeAndReblock

    public RewriteBlockSizeAndReblock()

### Method Detail

#### rewriteHopDAGs

    public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots,
                                         ProgramRewriteStatus state)

Description copied from class: `HopRewriteRule`
Handle a generic (last-level) hop DAG with multiple roots.

Specified by:
  `rewriteHopDAGs` in class `HopRewriteRule`
Parameters:
  `roots` - high-level operator roots
  `state` - program rewrite status
Returns:
  list of high-level operators

#### rewriteHopDAG

    public Hop rewriteHopDAG(Hop root,
                             ProgramRewriteStatus state)

Description copied from class: `HopRewriteRule`
Handle a predicate hop DAG with exactly one root.

Specified by:
  `rewriteHopDAG` in class `HopRewriteRule`
Parameters:
  `root` - high-level operator root
  `state` - program rewrite status
Returns:
  high-level operator