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 |
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 © 2020 The Apache Software Foundation. All rights reserved.