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/07/15 04:15:48 UTC

[22/23] systemml git commit: Ensure the `wumm` new pattern does not have foreign parents

Ensure the `wumm` new pattern does not have foreign parents


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

Branch: refs/heads/master
Commit: 14bd65a551b227860faba56ed1633db85d7110f2
Parents: 479b9da
Author: Dylan Hutchison <dh...@cs.washington.edu>
Authored: Thu Jul 13 01:41:51 2017 -0700
Committer: Dylan Hutchison <dh...@cs.washington.edu>
Committed: Thu Jul 13 01:41:51 2017 -0700

----------------------------------------------------------------------
 .../sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/14bd65a5/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
index 6246270..09b66de 100644
--- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
+++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java
@@ -1960,7 +1960,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 			LOG.debug("Applied simplifyWeightedUnaryMM1 (line "+hi.getBeginLine()+")");	
 		}
 
-		//Pattern 1.5) (W*(U%*%t(V))*2 or 2*(W*(U%*%t(V))
+		//Pattern 2.7) (W*(U%*%t(V))*2 or 2*(W*(U%*%t(V))
 		if( !appliedPattern
 				&& hi instanceof BinaryOp && HopRewriteUtils.isValidOp(((BinaryOp)hi).getOp(), OpOp2.MULT)
 				&& (HopRewriteUtils.isLiteralOfValue(hi.getInput().get(0), 2)
@@ -1974,6 +1974,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule
 			}
 
 			if (       HopRewriteUtils.isBinary(nl, OpOp2.MULT)
+					&& nl.getParent().size()==1 // ensure no foreign parents
 					&& HopRewriteUtils.isEqualSize(nl.getInput().get(0), nl.getInput().get(1)) //prevent mv
 					&& nl.getDim2() > 1 //not applied for vector-vector mult
 					&& nl.getInput().get(0).getDataType() == DataType.MATRIX