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 2017/05/07 22:23:20 UTC
incubator-systemml git commit: [MINOR] Fix flaky matrix converter
tests (static allocated sync points)
Repository: incubator-systemml
Updated Branches:
refs/heads/master 0b57898cd -> 576eb4e96
[MINOR] Fix flaky matrix converter tests (static allocated sync points)
Project: http://git-wip-us.apache.org/repos/asf/incubator-systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-systemml/commit/576eb4e9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-systemml/tree/576eb4e9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-systemml/diff/576eb4e9
Branch: refs/heads/master
Commit: 576eb4e96a3aabacfd067be1ce5a644b83ce422e
Parents: 0b57898
Author: Matthias Boehm <mb...@gmail.com>
Authored: Sun May 7 15:25:44 2017 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Sun May 7 15:25:44 2017 -0700
----------------------------------------------------------------------
src/main/java/org/apache/sysml/runtime/io/MatrixReader.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/576eb4e9/src/main/java/org/apache/sysml/runtime/io/MatrixReader.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/MatrixReader.java b/src/main/java/org/apache/sysml/runtime/io/MatrixReader.java
index 11e306e..8e624a6 100644
--- a/src/main/java/org/apache/sysml/runtime/io/MatrixReader.java
+++ b/src/main/java/org/apache/sysml/runtime/io/MatrixReader.java
@@ -116,8 +116,10 @@ public abstract class MatrixReader
//create synchronization points for MCSR (start row per block row)
if( sblock instanceof SparseBlockMCSR && clen > bclen //multiple col blocks
&& clen > 0 && bclen > 0 && rlen > 0 && brlen > 0 ) { //all dims known
+ //note: allocate w/ min 2 nnz to ensure allocated row object because
+ //adaptive change from scalar to row could cause synchronization issues
for( int i=0; i<rlen; i+=brlen )
- sblock.allocate(i, Math.max((int)(estnnz/rlen),1), (int)clen);
+ sblock.allocate(i, Math.max((int)(estnnz/rlen),2), (int)clen);
}
}