You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by mb...@apache.org on 2017/11/14 19:53:13 UTC

[2/3] systemml git commit: [MINOR] Cleanup applied rewrites in optimization level 1

[MINOR] Cleanup applied rewrites in optimization level 1

This patch cleans up an inconsistency of not disabling the rewrites for
(1) matrix multiplication chain optimization and (2) the removal of
unnecessary casts under optimization level 1, which is supposed to
disable all rewrites.


Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/ac7990ef
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/ac7990ef
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/ac7990ef

Branch: refs/heads/master
Commit: ac7990ef803327f442d4ef62a4d72ec1ae43e188
Parents: 4fea3c6
Author: Matthias Boehm <mb...@gmail.com>
Authored: Mon Nov 13 21:56:42 2017 -0800
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Tue Nov 14 11:54:27 2017 -0800

----------------------------------------------------------------------
 .../apache/sysml/hops/rewrite/ProgramRewriter.java | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/ac7990ef/src/main/java/org/apache/sysml/hops/rewrite/ProgramRewriter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/ProgramRewriter.java b/src/main/java/org/apache/sysml/hops/rewrite/ProgramRewriter.java
index d8acdf6..ee8d27c 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/ProgramRewriter.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/ProgramRewriter.java
@@ -87,7 +87,8 @@ public class ProgramRewriter
 			_dagRuleSet.add(     new RewriteTransientWriteParentHandling()       );
 			_dagRuleSet.add(     new RewriteRemoveReadAfterWrite()               ); //dependency: before blocksize
 			_dagRuleSet.add(     new RewriteBlockSizeAndReblock()                );
-			_dagRuleSet.add(     new RewriteRemoveUnnecessaryCasts()             );
+			if( OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION )
+				_dagRuleSet.add( new RewriteRemoveUnnecessaryCasts()             );
 			if( OptimizerUtils.ALLOW_COMMON_SUBEXPRESSION_ELIMINATION )
 				_dagRuleSet.add( new RewriteCommonSubexpressionElimination()     );
 			if( OptimizerUtils.ALLOW_CONSTANT_FOLDING )
@@ -120,20 +121,20 @@ public class ProgramRewriter
 		// DYNAMIC REWRITES (which do require size information)
 		if( dynamicRewrites )
 		{
-			_dagRuleSet.add(     new RewriteMatrixMultChainOptimization()         ); //dependency: cse
-			if ( OptimizerUtils.ALLOW_SUM_PRODUCT_REWRITES)
+			if ( OptimizerUtils.ALLOW_SUM_PRODUCT_REWRITES) {
+				_dagRuleSet.add( new RewriteMatrixMultChainOptimization()         ); //dependency: cse
 				_dagRuleSet.add( new RewriteElementwiseMultChainOptimization()    ); //dependency: cse
-			
-			if( OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION )
-			{
+			}
+			if( OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION ) {
 				_dagRuleSet.add( new RewriteAlgebraicSimplificationDynamic()      ); //dependencies: cse
 				_dagRuleSet.add( new RewriteAlgebraicSimplificationStatic()       ); //dependencies: cse
 			}
 		}
 		
 		// cleanup after all rewrites applied 
-		// (newly introduced operators, introduced redundancy after rewrites w/ multiple parents) 
-		_dagRuleSet.add(     new RewriteRemoveUnnecessaryCasts()             );
+		// (newly introduced operators, introduced redundancy after rewrites w/ multiple parents)
+		if( OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION )
+			_dagRuleSet.add( new RewriteRemoveUnnecessaryCasts()             );
 		if( OptimizerUtils.ALLOW_COMMON_SUBEXPRESSION_ELIMINATION )
 			_dagRuleSet.add( new RewriteCommonSubexpressionElimination(true) );
 	}