Repository: systemml Updated Branches: refs/heads/master e0187028e -> 1d13c8bbc
[MINOR] Improved error reporting of dev sparse row validation Project: http://git-wip-us.apache.org/repos/asf/systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/1d13c8bb Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/1d13c8bb Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/1d13c8bb Branch: refs/heads/master Commit: 1d13c8bbce6980f3244d3a624bfe380df10f0af0 Parents: e018702 Author: Matthias Boehm <[email protected]> Authored: Tue Aug 7 17:42:29 2018 -0700 Committer: Matthias Boehm <[email protected]> Committed: Tue Aug 7 20:49:32 2018 -0700 ---------------------------------------------------------------------- .../apache/sysml/runtime/matrix/data/MatrixBlock.java | 13 ++++++++++--- .../sysml/runtime/matrix/data/SparseBlockMCSR.java | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/systemml/blob/1d13c8bb/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java b/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java index 8f0821c..7af164e 100644 --- a/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java +++ b/src/main/java/org/apache/sysml/runtime/matrix/data/MatrixBlock.java @@ -1231,16 +1231,23 @@ public class MatrixBlock extends MatrixValue implements CacheBlock, Externalizab throw new RuntimeException("Number of non zeros incorrect: "+nnzBefore+" vs "+nnzAfter); } + public void checkSparseRows() { + checkSparseRows(0, rlen); + } + /** * Basic debugging primitive to check sparse block column ordering. - * This method is not intended for production use. + * This method is not intended for production use. + * + * @param rl row lower bound (inclusive) + * @param ru row upper bound (exclusive) */ - public void checkSparseRows() { + public void checkSparseRows(int rl, int ru) { if( !sparse || sparseBlock == null ) return; //check ordering of column indexes per sparse row - for( int i=0; i<rlen; i++ ) + for( int i=rl; i<ru; i++ ) if( !sparseBlock.isEmpty(i) ) { int apos = sparseBlock.pos(i); int alen = sparseBlock.size(i); http://git-wip-us.apache.org/repos/asf/systemml/blob/1d13c8bb/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockMCSR.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockMCSR.java b/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockMCSR.java index 840d034..b82a096 100644 --- a/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockMCSR.java +++ b/src/main/java/org/apache/sysml/runtime/matrix/data/SparseBlockMCSR.java @@ -188,8 +188,8 @@ public class SparseBlockMCSR extends SparseBlock double[] avals = values(i); for (int k = apos + 1; k < apos + alen; k++) { if (aix[k-1] >= aix[k]) - throw new RuntimeException("Wrong sparse row ordering, at row: " - + k + "with " + aix[k-1] + ">=" + aix[k]); + throw new RuntimeException("Wrong sparse row ordering, at row="+i+", pos="+k + + " with column indexes " + aix[k-1] + ">=" + aix[k]); if (avals[k] == 0) throw new RuntimeException("The values are expected to be non zeros " + "but zero at row: "+ i + ", col pos: " + k);
