# Uses of Class
org.apache.sysds.hops.rewrite.HopRewriteRule

Packages that use HopRewriteRule
Package
Description
org.apache.sysds.hops.rewrite

## Uses of HopRewriteRule in org.apache.sysds.hops.rewrite

Subclasses of HopRewriteRule in org.apache.sysds.hops.rewrite
Modifier and Type
Class
Description
`class`
`RewriteAlgebraicSimplificationDynamic`
Rule: Algebraic Simplifications.
`class`
`RewriteAlgebraicSimplificationStatic`
Rule: Algebraic Simplifications.
`class`
`RewriteBlockSizeAndReblock`
Rule: BlockSizeAndReblock.
`class`
`RewriteCommonSubexpressionElimination`
Rule: CommonSubexpressionElimination.
`class`
`RewriteConstantFolding`
Rule: Constant Folding.
`class`
`RewriteElementwiseMultChainOptimization`
Prerequisite: RewriteCommonSubexpressionElimination must run before this rule.
`class`
`RewriteGPUSpecificOps`
`class`
`RewriteIndexingVectorization`
Rule: Indexing vectorization.
`class`
`RewriteInjectSparkPReadCheckpointing`
Rule: Inject checkpointing on reading in data in all cases where the operand is used in more than one operation.
`class`
`RewriteMatrixMultChainOptimization`
Rule: Determine the optimal order of execution for a chain of matrix multiplications Solution: Classic Dynamic Programming Approach: Currently, the approach based only on matrix dimensions Goal: To reduce the number of computations in the run-time (map-reduce) layer
`class`
`RewriteMatrixMultChainOptimizationSparse`
Rule: Determine the optimal order of execution for a chain of matrix multiplications Solution: Classic Dynamic Programming Approach: Currently, the approach based only on matrix dimensions and sparsity estimates using the MNC sketch Goal: To reduce the number of computations in the run-time (map-reduce) layer
`class`
`RewriteMatrixMultChainOptimizationTranspose`
Rule: Determine the optimal order of execution for a chain of matrix multiplications
Solution: Classic Dynamic Programming
Approach: Currently, the approach based only on matrix dimensions
Goal: To reduce the number of computations in the run-time (map-reduce) layer
`class`
`RewriteMatrixMultChainWithTransOptimization`
Advanced Matrix Multiplication Chain Optimizer using Dynamic Programming.
`class`
`RewriteNonScalarPrint`
`class`
`RewriteQuantizationFusedCompression`
Rule: RewriteFloorCompress.
`class`
`RewriteRemovePersistentReadWrite`
This rewrite is a custom rewrite for JMLC in order to replace all persistent reads and writes with transient reads and writes from the symbol table.
`class`
`RewriteRemoveReadAfterWrite`
Rule: RemoveReadAfterWrite.
`class`
`RewriteRemoveUnnecessaryCasts`
Rule: RemoveUnnecessaryCasts.
Methods in org.apache.sysds.hops.rewrite with parameters of type HopRewriteRule
Modifier and Type
Method
Description
`static void`
HopDagValidator.`validateHopDag(ArrayList<Hop> roots, HopRewriteRule rule)`
`static void`
HopDagValidator.`validateHopDag(Hop root, HopRewriteRule rule)`
Method parameters in org.apache.sysds.hops.rewrite with type arguments of type HopRewriteRule
Modifier and Type
Method
Description
`void`
ProgramRewriter.`removeHopRewrite(Class<? extends HopRewriteRule> clazz)`
Constructors in org.apache.sysds.hops.rewrite with parameters of type HopRewriteRule
Modifier
Constructor
Description
``
`ProgramRewriter(HopRewriteRule... rewrites)`
Construct a program rewriter for a given rewrite which is passed from outside.
Constructor parameters in org.apache.sysds.hops.rewrite with type arguments of type HopRewriteRule
Modifier
Constructor
Description
``
`ProgramRewriter(ArrayList<HopRewriteRule> hRewrites, ArrayList<StatementBlockRewriteRule> sbRewrites)`
Construct a program rewriter for the given rewrite sets which are passed from outside.