org.apache.sysds.hops.rewrite

## Class RewriteCompressedReblock

- java.lang.Object
- - org.apache.sysds.hops.rewrite.StatementBlockRewriteRule
  - - org.apache.sysds.hops.rewrite.RewriteCompressedReblock

-     public class RewriteCompressedReblock
      extends StatementBlockRewriteRule

  Rule: CompressedReblock: If config compressed.linalg is enabled, we inject compression directions after pread of matrices w/ both dims > 1 (i.e., multi-column matrices). In case of 'auto' compression, we apply compression if the datasize is known to exceed aggregate cluster memory, the matrix is used in loops, and all operations are supported over compressed matrices.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RewriteCompressedReblock()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `createsSplitDag()` Indicates if the rewrite potentially splits dags, which is used for phase ordering of rewrites.
    `List<StatementBlock>` | `rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus sate)` Handle an arbitrary statement block.
    `List<StatementBlock>` | `rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate)` Handle a list of statement blocks.

    - ### Methods inherited from class org.apache.sysds.hops.rewrite.StatementBlockRewriteRule

      `createCutVarName`

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

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

- - ### Constructor Detail

    - #### RewriteCompressedReblock

          public RewriteCompressedReblock()

  - ### Method Detail

    - #### createsSplitDag

          public boolean createsSplitDag()

      Description copied from class: `StatementBlockRewriteRule`
      Indicates if the rewrite potentially splits dags, which is used for phase ordering of rewrites.
      Specified by:
        `createsSplitDag` in class `StatementBlockRewriteRule`
      Returns:
        true if dag splits are possible.

    - #### rewriteStatementBlock

          public List<StatementBlock> rewriteStatementBlock(StatementBlock sb,
                                                            ProgramRewriteStatus sate)

      Description copied from class: `StatementBlockRewriteRule`
      Handle an arbitrary statement block. Specific type constraints have to be ensured within the individual rewrites. If a rewrite does not apply to individual blocks, it should simply return the input block.
      Specified by:
        `rewriteStatementBlock` in class `StatementBlockRewriteRule`
      Parameters:
        `sb` - statement block
        `sate` - program rewrite status
      Returns:
        list of statement blocks

    - #### rewriteStatementBlocks

          public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs,
                                                             ProgramRewriteStatus sate)

      Description copied from class: `StatementBlockRewriteRule`
      Handle a list of statement blocks. Specific type constraints have to be ensured within the individual rewrites. If a rewrite does not require sequence access, it should simply return the input list of statement blocks.
      Specified by:
        `rewriteStatementBlocks` in class `StatementBlockRewriteRule`
      Parameters:
        `sbs` - list of statement blocks
        `sate` - program rewrite status
      Returns:
        list of statement blocks

Copyright © 2020 The Apache Software Foundation. All rights reserved.