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/05/01 02:59:34 UTC

[2/3] systemml git commit: [SYSTEMML-2293] Fix missing recompile in constrained parfor optimizer

[SYSTEMML-2293] Fix missing recompile in constrained parfor optimizer

This patch fixes a missing recompilation flag in the constrained parfor
optimizer when forcing a certain execution mode. In many cases this was
hidden by subsequent compilation for the parallelism of individual
operations but this is not guaranteed (i.e., a statement block might
only include single-threaded operators).


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

Branch: refs/heads/master
Commit: d74bda4c3474cff0296f792a7c136859d38d8348
Parents: 18d98b6
Author: Matthias Boehm <mb...@gmail.com>
Authored: Mon Apr 30 18:11:00 2018 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Mon Apr 30 19:47:43 2018 -0700

----------------------------------------------------------------------
 .../runtime/controlprogram/parfor/opt/OptimizerConstrained.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/d74bda4c/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
index deedf29..f523cdc 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
@@ -139,7 +139,7 @@ public class OptimizerConstrained extends OptimizerRuleBased
 			if( flagRecompMR ){
 				//rewrite 5: set operations exec type
 				rewriteSetOperationsExecType( pn, flagRecompMR );
-				M1 = _cost.getEstimate(TestMeasure.MEMORY_USAGE, pn); //reestimate 		
+				M1 = _cost.getEstimate(TestMeasure.MEMORY_USAGE, pn); //reestimate
 			}
 
 			// rewrite 6: data colocation
@@ -259,7 +259,6 @@ public class OptimizerConstrained extends OptimizerRuleBased
 				.getAbstractPlanMapping().getMappedProg(n.getID())[1];
 
 			PExecMode mode = PExecMode.LOCAL;
-
 			if (n.getExecType()==ExecType.MR) {
 				mode = PExecMode.REMOTE_MR;
 			}
@@ -267,6 +266,8 @@ public class OptimizerConstrained extends OptimizerRuleBased
 				mode = PExecMode.REMOTE_SPARK;
 			}
 
+			ret = ((mode == PExecMode.REMOTE_MR ||
+				mode == PExecMode.REMOTE_SPARK) && !n.isCPOnly() );
 			pfpb.setExecMode( mode );
 			LOG.debug(getOptMode()+" OPT: forced 'set execution strategy' - result="+mode );
 		}