Package org.apache.sysds.hops.ipa

## Class IPAPassRemoveUnnecessaryCheckpoints

- java.lang.Object
- - org.apache.sysds.hops.ipa.IPAPass
  - - org.apache.sysds.hops.ipa.IPAPassRemoveUnnecessaryCheckpoints

    public class IPAPassRemoveUnnecessaryCheckpoints
    extends IPAPass

This rewrite identifies and removes unnecessary checkpoints, i.e., persisting of Spark RDDs into a given storage level. For example, in chains such as pread-checkpoint-append-checkpoint, the first checkpoint is not used and creates unnecessary memory pressure.

### Constructor Summary

Constructors
`IPAPassRemoveUnnecessaryCheckpoints()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`boolean` `isApplicable​(FunctionCallGraph fgraph)` Indicates if an IPA pass is applicable for the current configuration such as global flags or the chosen execution mode (e.g., HYBRID).
`boolean` `rewriteProgram​(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)` Rewrites the given program or its functions in place, with access to the read-only function call graph.
`static void` `rRemoveCheckpointReadWrite​(Hop hop)`

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

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

### Constructor Detail

#### IPAPassRemoveUnnecessaryCheckpoints

    public IPAPassRemoveUnnecessaryCheckpoints()

### Method Detail

#### isApplicable

    public boolean isApplicable​(FunctionCallGraph fgraph)

Description copied from class: `IPAPass`
Indicates if an IPA pass is applicable for the current configuration such as global flags or the chosen execution mode (e.g., HYBRID).

Specified by:
  `isApplicable` in class `IPAPass`
Parameters:
  `fgraph` - function call graph
Returns:
  true if applicable.

#### rewriteProgram

    public boolean rewriteProgram​(DMLProgram prog,
                                  FunctionCallGraph fgraph,
                                  FunctionCallSizeInfo fcallSizes)

Description copied from class: `IPAPass`
Rewrites the given program or its functions in place, with access to the read-only function call graph.

Specified by:
  `rewriteProgram` in class `IPAPass`
Parameters:
  `prog` - dml program
  `fgraph` - function call graph
  `fcallSizes` - function call size infos
Returns:
  true if function call graph should be rebuild

#### rRemoveCheckpointReadWrite

    public static void rRemoveCheckpointReadWrite​(Hop hop)