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 2018/02/23 04:53:42 UTC

[2/2] systemml git commit: [MINOR] Improved analysis for sparse-safe codegen cell operations

[MINOR] Improved analysis for sparse-safe codegen cell operations

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

Branch: refs/heads/master
Commit: f2fbd99e7d78eb27a560b3095c9db5565f625e95
Parents: 03c050d
Author: Matthias Boehm <mb...@gmail.com>
Authored: Thu Feb 22 18:30:30 2018 -0800
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Thu Feb 22 18:30:30 2018 -0800

----------------------------------------------------------------------
 src/main/java/org/apache/sysml/hops/OptimizerUtils.java        | 1 +
 .../org/apache/sysml/hops/codegen/template/TemplateUtils.java  | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/f2fbd99e/src/main/java/org/apache/sysml/hops/OptimizerUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/OptimizerUtils.java b/src/main/java/org/apache/sysml/hops/OptimizerUtils.java
index 3a406fc..d56692c 100644
--- a/src/main/java/org/apache/sysml/hops/OptimizerUtils.java
+++ b/src/main/java/org/apache/sysml/hops/OptimizerUtils.java
@@ -1038,6 +1038,7 @@ public class OptimizerUtils
 				||(op==OpOp2.EQUAL    && val!=0)
 				||(op==OpOp2.MINUS    && val==0)
 				||(op==OpOp2.PLUS     && val==0)
+				||(op==OpOp2.POW      && val!=0)
 				||(op==OpOp2.MAX      && val<=0)
 				||(op==OpOp2.MIN      && val>=0));
 	}

http://git-wip-us.apache.org/repos/asf/systemml/blob/f2fbd99e/src/main/java/org/apache/sysml/hops/codegen/template/TemplateUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/template/TemplateUtils.java b/src/main/java/org/apache/sysml/hops/codegen/template/TemplateUtils.java
index 1f8151e..b833876 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/template/TemplateUtils.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/template/TemplateUtils.java
@@ -257,8 +257,10 @@ public class TemplateUtils
 	
 	public static boolean rIsSparseSafeOnly(CNode node, BinType...types) {
 		if( !(isBinary(node, types) || node instanceof CNodeData 
-			|| (node instanceof CNodeUnary && ((CNodeUnary)node).getType().isScalarLookup())
-			|| (node instanceof CNodeUnary && ((CNodeUnary)node).getType().isSparseSafeScalar())) )
+			|| (node instanceof CNodeUnary && ((((CNodeUnary)node).getType().isScalarLookup())
+				|| ((CNodeUnary)node).getType().isSparseSafeScalar()
+				|| ((CNodeUnary)node).getType()==UnaryType.POW2
+				|| ((CNodeUnary)node).getType()==UnaryType.MULT2)) ))
 			return false;
 		boolean ret = true;
 		for( CNode c : node.getInput() )