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/04/20 02:51:32 UTC

[3/4] incubator-systemml git commit: [SYSTEMML-1321] Improved dynamic recompilation (stats update p rewrites)

[SYSTEMML-1321] Improved dynamic recompilation (stats update p rewrites)

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

Branch: refs/heads/master
Commit: b641edc165aab129559a5db1bf5e9d050cd30b37
Parents: 7b7b9ba
Author: Matthias Boehm <mb...@gmail.com>
Authored: Tue Apr 18 14:27:39 2017 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Wed Apr 19 18:46:30 2017 -0700

----------------------------------------------------------------------
 .../org/apache/sysml/hops/recompile/Recompiler.java  | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/b641edc1/src/main/java/org/apache/sysml/hops/recompile/Recompiler.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/recompile/Recompiler.java b/src/main/java/org/apache/sysml/hops/recompile/Recompiler.java
index 6b74bf7..6c99d16 100644
--- a/src/main/java/org/apache/sysml/hops/recompile/Recompiler.java
+++ b/src/main/java/org/apache/sysml/hops/recompile/Recompiler.java
@@ -198,8 +198,14 @@ public class Recompiler
 				rUpdateStatistics( hopRoot, vars );
 			
 			// dynamic hop rewrites
-			if( !inplace )
+			if( !inplace ) {
 				_rewriter.get().rewriteHopDAGs( hops, null );
+				
+				//update stats after rewrites
+				Hop.resetVisitStatus(hops);
+				for( Hop hopRoot : hops )
+					rUpdateStatistics( hopRoot, vars );
+			}
 			
 			// refresh memory estimates (based on updated stats,
 			// before: init memo table with propagated worst-case estimates,
@@ -303,8 +309,13 @@ public class Recompiler
 			rUpdateStatistics( hops, vars );
 			
 			// dynamic hop rewrites
-			if( !inplace )
+			if( !inplace ) {
 				_rewriter.get().rewriteHopDAG( hops, null );
+				
+				//update stats after rewrites
+				hops.resetVisitStatus();
+				rUpdateStatistics( hops, vars );
+			}
 			
 			// refresh memory estimates (based on updated stats)
 			MemoTable memo = new MemoTable();