| Package | Description | 
|---|---|
| org.apache.sysds.hops.rewrite | 
| Modifier and Type | Class and 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  | 
RewriteFederatedExecution  | 
class  | 
RewriteGPUSpecificOps  | 
class  | 
RewriteIndexingVectorization
Rule: Indexing vectorization. 
 | 
class  | 
RewriteInjectSparkPReadCheckpointing
Rule: BlockSizeAndReblock. 
 | 
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  | 
RewriteRemoveDanglingParentReferences
This rewrite is a general-purpose cleanup pass that removes any
 dangling parent references in one pass through the hop DAG. 
 | 
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. 
 | 
class  | 
RewriteTransientWriteParentHandling
Rule: Eliminate for Transient Write DataHops to have no parents
 Solution: Move parent edges of Transient Write Hop to parent of
 its child 
 Reason: Transient Write not being a root messes up
 analysis for Lop's to Instruction translation (according to Amol) 
 | 
| Modifier and Type | Method and Description | 
|---|---|
static void | 
HopDagValidator.validateHopDag(ArrayList<Hop> roots,
              HopRewriteRule rule)  | 
static void | 
HopDagValidator.validateHopDag(Hop root,
              HopRewriteRule rule)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
ProgramRewriter.removeHopRewrite(Class<? extends HopRewriteRule> clazz)  | 
| Constructor and Description | 
|---|
ProgramRewriter(HopRewriteRule... rewrites)
Construct a program rewriter for a given rewrite which is passed from outside. 
 | 
| Constructor and Description | 
|---|
ProgramRewriter(ArrayList<HopRewriteRule> hRewrites,
               ArrayList<StatementBlockRewriteRule> sbRewrites)
Construct a program rewriter for the given rewrite sets which are passed from outside. 
 | 
Copyright © 2021 The Apache Software Foundation. All rights reserved.