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/13 23:18:11 UTC

systemml git commit: [MINOR] Fix codegen cost model (missing ifelse, warn on stats overflow)

Repository: systemml
Updated Branches:
  refs/heads/master bba7236fb -> 7aa9cca7b


[MINOR] Fix codegen cost model (missing ifelse, warn on stats overflow)

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

Branch: refs/heads/master
Commit: 7aa9cca7bb4d3685a6b1b3b5bb30fb092fa0ab48
Parents: bba7236
Author: Matthias Boehm <mb...@gmail.com>
Authored: Tue Feb 13 15:17:45 2018 -0800
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Tue Feb 13 15:17:45 2018 -0800

----------------------------------------------------------------------
 .../sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java  | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/7aa9cca7/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java b/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java
index aa1082e..9b184b7 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java
@@ -147,8 +147,12 @@ public class PlanSelectionFuseCostBasedV2 extends PlanSelection
 			memo.setDistinct(e.getKey(), e.getValue());
 		
 		//maintain statistics
-		if( DMLScript.STATISTICS )
+		if( DMLScript.STATISTICS ) {
+			if( sumMatPoints >= 63 )
+				LOG.warn("Long overflow on maintaining codegen statistics "
+					+ "for a DAG with "+sumMatPoints+" interesting points.");
 			Statistics.incrementCodegenEnumAll(UtilFunctions.pow(2, sumMatPoints));
+		}
 	}
 	
 	private void selectPlans(CPlanMemoTable memo, PlanPartition part) 
@@ -1033,6 +1037,7 @@ public class PlanSelectionFuseCostBasedV2 extends PlanSelection
 		}
 		else if( current instanceof TernaryOp ) {
 			switch( ((TernaryOp)current).getOp() ) {
+				case IFELSE:
 				case PLUS_MULT: 
 				case MINUS_MULT: costs = 2; break;
 				case CTABLE:     costs = 3; break;