Repository: systemml
Updated Branches:
  refs/heads/master 127cc06d9 -> 94d0a1283


[HOTFIX] Fix parfor result merge (maintenance of output nnz)

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

Branch: refs/heads/master
Commit: 94d0a1283dbfd72f1a2570f2782337a198c0c36e
Parents: 127cc06
Author: Matthias Boehm <[email protected]>
Authored: Sat Jan 6 12:11:13 2018 -0800
Committer: Matthias Boehm <[email protected]>
Committed: Sat Jan 6 12:11:13 2018 -0800

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


http://git-wip-us.apache.org/repos/asf/systemml/blob/94d0a128/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMerge.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMerge.java 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMerge.java
index 333b679..ca7aad6 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMerge.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMerge.java
@@ -151,7 +151,8 @@ public abstract class ResultMerge
 
        protected long computeNonZeros( MatrixObject out, List<MatrixObject> in 
) {
                //sum of nnz of input (worker result) - output var existing nnz
-               return -(in.size() * 
out.getMatrixCharacteristics().getNonZeros())
-                       + in.stream().mapToLong(m -> 
m.getMatrixCharacteristics().getNonZeros()).sum();
+               long outNNZ = out.getMatrixCharacteristics().getNonZeros();
+               return outNNZ - in.size() * outNNZ + in.stream()
+                       .mapToLong(m -> 
m.getMatrixCharacteristics().getNonZeros()).sum();
        }
 }

Reply via email to