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/07/27 04:47:31 UTC

[2/2] systemml git commit: [HOTFIX][SYSTEMML-1761] Fix wsloss special cases w/ sparse factors

[HOTFIX][SYSTEMML-1761] Fix wsloss special cases w/ sparse factors

This patch fixes null pointer exceptions of wsloss with sparse factors,
which implementations mistakenly access the non-existing weight matrix.

Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/8dcb487e
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/8dcb487e
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/8dcb487e

Branch: refs/heads/master
Commit: 8dcb487e4e4bb3b153690be351111f2ada1b58b1
Parents: 4184970
Author: Matthias Boehm <mb...@gmail.com>
Authored: Wed Jul 26 21:48:33 2017 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Wed Jul 26 21:49:01 2017 -0700

----------------------------------------------------------------------
 .../java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/8dcb487e/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
index c2af52d..fd9742e 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixMult.java
@@ -2252,7 +2252,7 @@ public class LibMatrixMult
 		else if( wt==WeightsType.POST_NZ )
 		{
 			// approach: iterate over W, point-wise in order to exploit sparsity
-			if( mW.sparse ) //SPARSE
+			if( mX.sparse ) //SPARSE
 			{
 				SparseBlock x = mX.sparseBlock;
 				
@@ -2303,7 +2303,7 @@ public class LibMatrixMult
 			//parallel task computes sum(X^2)-sum(2*X*(U%*%t(V)))) and the last term
 			//sum((t(U)%*%U)*(t(V)%*%V)) is computed once via two tsmm operations.
 			
-			if( mW.sparse ) { //SPARSE
+			if( mX.sparse ) { //SPARSE
 				SparseBlock x = mX.sparseBlock;
 				for( int i=rl; i<ru; i++ ) {
 					if( x.isEmpty(i) ) continue;