Package org.apache.sysds.hops.rewrite
Class HopRewriteRule
- java.lang.Object
-
- org.apache.sysds.hops.rewrite.HopRewriteRule
-
- Direct Known Subclasses:
RewriteAlgebraicSimplificationDynamic
,RewriteAlgebraicSimplificationStatic
,RewriteBlockSizeAndReblock
,RewriteCommonSubexpressionElimination
,RewriteConstantFolding
,RewriteElementwiseMultChainOptimization
,RewriteGPUSpecificOps
,RewriteIndexingVectorization
,RewriteInjectSparkPReadCheckpointing
,RewriteMatrixMultChainOptimization
,RewriteRemoveDanglingParentReferences
,RewriteRemovePersistentReadWrite
,RewriteRemoveReadAfterWrite
,RewriteRemoveUnnecessaryCasts
,RewriteTransientWriteParentHandling
public abstract class HopRewriteRule extends Object
Base class for all hop rewrites in order to enable generic application of all rules.
-
-
Constructor Summary
Constructors Constructor Description HopRewriteRule()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract Hop
rewriteHopDAG(Hop root, ProgramRewriteStatus state)
Handle a predicate hop DAG with exactly one root.abstract ArrayList<Hop>
rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state)
Handle a generic (last-level) hop DAG with multiple roots.
-
-
-
Method Detail
-
rewriteHopDAGs
public abstract ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state)
Handle a generic (last-level) hop DAG with multiple roots.- Parameters:
roots
- high-level operator rootsstate
- program rewrite status- Returns:
- list of high-level operators
-
rewriteHopDAG
public abstract Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state)
Handle a predicate hop DAG with exactly one root.- Parameters:
root
- high-level operator rootstate
- program rewrite status- Returns:
- high-level operator
-
-