[SYSTEMML-2264] Fix correctness sparse colMins w/ dense cols of neg vals The recently modified sparse block estimates (see SYSTEMML-2263) changes various the format for a number of tests, which revealed long existing but hidden issues. This particular patch fixes special cases of sparse colMins operations with dense columns containing negative values, which so far gave incorrect results of 0 in case of multi-threaded operations.
Project: http://git-wip-us.apache.org/repos/asf/systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/f3b8b88f Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/f3b8b88f Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/f3b8b88f Branch: refs/heads/master Commit: f3b8b88fefc8b0f9bb730717bcd9ff7a6ae7780d Parents: a1513d3 Author: Matthias Boehm <[email protected]> Authored: Fri Apr 20 17:19:21 2018 -0700 Committer: Matthias Boehm <[email protected]> Committed: Fri Apr 20 17:19:21 2018 -0700 ---------------------------------------------------------------------- .../java/org/apache/sysml/runtime/matrix/data/LibMatrixAgg.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/systemml/blob/f3b8b88f/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixAgg.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixAgg.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixAgg.java index 5d66ff8..6d2b768 100644 --- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixAgg.java +++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixAgg.java @@ -2519,7 +2519,7 @@ public class LibMatrixAgg // in order to know if for example a colMax of -8 is true or need // to be replaced with a 0 because there was a missing nonzero. for( int i=0; i<n; i++ ) - if( cnt[i] < m ) //no dense column + if( cnt[i] < ru-rl ) //no dense column c[i] = builtin.execute(c[i], 0); }
