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