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(); } }
