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,RewriteFederatedExecution,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 HoprewriteHopDAG(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
-
-