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/08/03 21:37:36 UTC

[2/2] systemml git commit: [SYSTEMML-2485] Fix parfor optimizer robustness for non-existing vars

[SYSTEMML-2485] Fix parfor optimizer robustness for non-existing vars

This patch fixes the robustness of the parfor optimizer to correctly
handling non-existing parent variables. The non-guaranteed existence of
these variables is due to their conditional creation.


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

Branch: refs/heads/master
Commit: c1917d84fc2691e9e1b6da983b9a9f950844a285
Parents: 5d67515
Author: Matthias Boehm <mb...@gmail.com>
Authored: Fri Aug 3 14:39:15 2018 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Fri Aug 3 14:39:15 2018 -0700

----------------------------------------------------------------------
 .../sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/c1917d84/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
index 9f6db11..e7c7a6e 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
@@ -418,6 +418,7 @@ public class OptimizerRuleBased extends Optimizer
 				if( dpf != PartitionFormat.NONE 
 					&& dpf._dpf != PDataPartitionFormat.BLOCK_WISE_M_N
 					&& (constrained || (mem > _lm/2 && mem > _rm/2))
+					&& vars.get(c) != null //robustness non-existing vars
 					&& !vars.get(c).getDataType().isList() ) {
 					cand2.put( c, dpf );
 				}