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 <mboe...@gmail.com>
Authored: Sun May 7 15:25:44 2017 -0700
Committer: Matthias Boehm <mboe...@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);
                        }
                }
                

Reply via email to