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 2018/10/20 18:28:15 UTC
systemml git commit: [SYSTEMML-2479] Fix MNC sparsity estimator
reshape operations
Repository: systemml
Updated Branches:
refs/heads/master bd34292d4 -> 07650acf2
[SYSTEMML-2479] Fix MNC sparsity estimator reshape operations
This patch fixes various smaller correctness issues of MNC sketch
propagation for reshape operations, adds a related test, and finally
removes the invalid skipping of estimation tests.
Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/07650acf
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/07650acf
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/07650acf
Branch: refs/heads/master
Commit: 07650acf25a7ffb3d9663c622be0ae82778c0db0
Parents: bd34292
Author: Matthias Boehm <mb...@gmail.com>
Authored: Sat Oct 20 20:25:29 2018 +0200
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Sat Oct 20 20:27:16 2018 +0200
----------------------------------------------------------------------
.../sysml/hops/estim/EstimatorBitsetMM.java | 1 -
.../hops/estim/EstimatorMatrixHistogram.java | 52 ++++++------
.../org/apache/sysml/hops/estim/MMNode.java | 28 ++++++-
.../functions/estim/MNCReshapeTest.java | 83 ++++++++++++++++++++
.../functions/estim/OpBindChainTest.java | 3 -
.../integration/functions/estim/OpBindTest.java | 3 -
.../functions/estim/OpElemWChainTest.java | 3 -
.../functions/estim/OpElemWTest.java | 3 -
.../functions/estim/OpSingleTest.java | 3 -
.../functions/estim/OuterProductTest.java | 3 -
.../functions/estim/SelfProductTest.java | 3 -
.../estim/SquaredProductChainTest.java | 3 -
.../functions/estim/SquaredProductTest.java | 3 -
.../functions/estim/ZPackageSuite.java | 1 +
14 files changed, 140 insertions(+), 52 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/main/java/org/apache/sysml/hops/estim/EstimatorBitsetMM.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/estim/EstimatorBitsetMM.java b/src/main/java/org/apache/sysml/hops/estim/EstimatorBitsetMM.java
index 8802e9c..99354fd 100644
--- a/src/main/java/org/apache/sysml/hops/estim/EstimatorBitsetMM.java
+++ b/src/main/java/org/apache/sysml/hops/estim/EstimatorBitsetMM.java
@@ -406,7 +406,6 @@ public class EstimatorBitsetMM extends SparsityEstimator
}
}
- @SuppressWarnings("unused")
public static class BitsetMatrix2 extends BitsetMatrix {
private BitSet[] _data;
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/main/java/org/apache/sysml/hops/estim/EstimatorMatrixHistogram.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/estim/EstimatorMatrixHistogram.java b/src/main/java/org/apache/sysml/hops/estim/EstimatorMatrixHistogram.java
index 52cca3d..83d918a 100644
--- a/src/main/java/org/apache/sysml/hops/estim/EstimatorMatrixHistogram.java
+++ b/src/main/java/org/apache/sysml/hops/estim/EstimatorMatrixHistogram.java
@@ -24,7 +24,7 @@ import java.util.Random;
import java.util.stream.IntStream;
import org.apache.commons.lang.ArrayUtils;
-import org.apache.directory.api.util.exception.NotImplementedException;
+import org.apache.commons.lang.NotImplementedException;
import org.apache.sysml.hops.OptimizerUtils;
import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
import org.apache.sysml.runtime.matrix.data.DenseBlock;
@@ -58,22 +58,22 @@ public class EstimatorMatrixHistogram extends SparsityEstimator
//recursive histogram computation of non-leaf nodes
if( !root.getLeft().isLeaf() )
estim(root.getLeft()); //obtain synopsis
- if( !root.getRight().isLeaf() )
+ if( root.getRight()!=null && !root.getRight().isLeaf() )
estim(root.getRight()); //obtain synopsis
MatrixHistogram h1 = !root.getLeft().isLeaf() ?
(MatrixHistogram)root.getLeft().getSynopsis() :
new MatrixHistogram(root.getLeft().getData(), _useExcepts);
- MatrixHistogram h2 = !root.getRight().isLeaf() ?
+ MatrixHistogram h2 = root.getRight() != null ? !root.getRight().isLeaf() ?
(MatrixHistogram)root.getRight().getSynopsis() :
- new MatrixHistogram(root.getRight().getData(), _useExcepts);
+ new MatrixHistogram(root.getRight().getData(), _useExcepts) : null;
//estimate output sparsity based on input histograms
- double ret = estimIntern(h1, h2, root.getOp());
- MatrixHistogram outMap = MatrixHistogram.deriveOutputHistogram(h1, h2, ret, root.getOp());
+ double ret = estimIntern(h1, h2, root.getOp(), root.getMisc());
+ MatrixHistogram outMap = MatrixHistogram
+ .deriveOutputHistogram(h1, h2, ret, root.getOp(), root.getMisc());
root.setSynopsis(outMap);
return root.setMatrixCharacteristics(new MatrixCharacteristics(
outMap.getRows(), outMap.getCols(), outMap.getNonZeros()));
-
}
@Override
@@ -89,7 +89,7 @@ public class EstimatorMatrixHistogram extends SparsityEstimator
MatrixHistogram h1 = new MatrixHistogram(m1, _useExcepts);
MatrixHistogram h2 = (m1 == m2) ? //self product
h1 : new MatrixHistogram(m2, _useExcepts);
- return estimIntern(h1, h2, op);
+ return estimIntern(h1, h2, op, null);
}
@Override
@@ -97,10 +97,10 @@ public class EstimatorMatrixHistogram extends SparsityEstimator
if( isExactMetadataOp(op) )
return estimExactMetaData(m1.getMatrixCharacteristics(), null, op).getSparsity();
MatrixHistogram h1 = new MatrixHistogram(m1, _useExcepts);
- return estimIntern(h1, null, op);
+ return estimIntern(h1, null, op, null);
}
- private double estimIntern(MatrixHistogram h1, MatrixHistogram h2, OpCode op) {
+ private double estimIntern(MatrixHistogram h1, MatrixHistogram h2, OpCode op, long[] misc) {
double msize = (double)h1.getRows()*h1.getCols();
switch (op) {
case MM:
@@ -312,13 +312,21 @@ public class EstimatorMatrixHistogram extends SparsityEstimator
return cNnz.length;
}
+ public int[] getRowCounts() {
+ return rNnz;
+ }
+
+ public int[] getColCounts() {
+ return cNnz;
+ }
+
public long getNonZeros() {
return getRows() < getCols() ?
IntStream.range(0, getRows()).mapToLong(i-> rNnz[i]).sum() :
IntStream.range(0, getCols()).mapToLong(i-> cNnz[i]).sum();
}
- public static MatrixHistogram deriveOutputHistogram(MatrixHistogram h1, MatrixHistogram h2, double spOut, OpCode op) {
+ public static MatrixHistogram deriveOutputHistogram(MatrixHistogram h1, MatrixHistogram h2, double spOut, OpCode op, long[] misc) {
switch(op) {
case MM: return deriveMMHistogram(h1, h2, spOut);
case MULT: return deriveMultHistogram(h1, h2);
@@ -329,8 +337,7 @@ public class EstimatorMatrixHistogram extends SparsityEstimator
case EQZERO: return deriveEq0Histogram(h1);
case DIAG: return deriveDiagHistogram(h1);
case TRANS: return deriveTransHistogram(h1);
- case RESHAPE: return deriveReshapeHistogram(h1, h1.getRows(), h1.getCols());
- //FIXME: reshape requires additional meta data from MM node
+ case RESHAPE: return deriveReshapeHistogram(h1, (int)misc[0], (int)misc[1]);
default:
throw new NotImplementedException();
}
@@ -493,11 +500,10 @@ public class EstimatorMatrixHistogram extends SparsityEstimator
rMaxNnz = Math.max(rMaxNnz, h1.rNnz[i]/scale);
}
//aggregate column counts
- for(int j=0; j<n; j+=scale)
- for(int j2=0; j2<scale; j2++)
- cNnz[j2] += h1.cNnz[j];
- for(int j2=0; j2<scale; j2++)
- cMaxNnz = Math.max(cMaxNnz, cNnz[j2]);
+ for(int j=0; j<n; j++)
+ cNnz[j%cols] += h1.cNnz[j];
+ for(int j=0; j<cols; j++)
+ cMaxNnz = Math.max(cMaxNnz, cNnz[j]);
}
else if ( h1.getRows() % rows == 0 ) { //N->1 rows
int scale = h1.getRows()/rows;
@@ -508,11 +514,11 @@ public class EstimatorMatrixHistogram extends SparsityEstimator
cMaxNnz = Math.max(cMaxNnz, h1.cNnz[i]/scale);
}
//aggregate row counts
- for(int j=0; j<m; j+=scale)
- for(int j2=0; j2<scale; j2++)
- rNnz[j2] += h1.rNnz[j];
- for(int j2=0; j2<scale; j2++)
- rMaxNnz = Math.max(rMaxNnz, rNnz[j2]);
+ for(int i=0, pos=0; i<m; i+=scale, pos++)
+ for(int i2=0; i2<scale; i2++)
+ rNnz[pos] += h1.rNnz[i+i2];
+ for(int i=0; i<rows; i++)
+ rMaxNnz = Math.max(rMaxNnz, rNnz[i]);
}
return new MatrixHistogram(rNnz, null, cNnz, null, rMaxNnz, cMaxNnz);
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/main/java/org/apache/sysml/hops/estim/MMNode.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/estim/MMNode.java b/src/main/java/org/apache/sysml/hops/estim/MMNode.java
index 542449a..d508f82 100644
--- a/src/main/java/org/apache/sysml/hops/estim/MMNode.java
+++ b/src/main/java/org/apache/sysml/hops/estim/MMNode.java
@@ -20,6 +20,7 @@
package org.apache.sysml.hops.estim;
import org.apache.sysml.hops.estim.SparsityEstimator.OpCode;
+import org.apache.sysml.runtime.DMLRuntimeException;
import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
import org.apache.sysml.runtime.matrix.data.MatrixBlock;
@@ -35,6 +36,7 @@ public class MMNode
private final MatrixCharacteristics _mc;
private Object _synops = null;
private final OpCode _op;
+ private final long[] _misc;
public MMNode(MatrixBlock in) {
_m1 = null;
@@ -42,14 +44,28 @@ public class MMNode
_data = in;
_mc = in.getMatrixCharacteristics();
_op = null;
+ _misc = null;
}
- public MMNode(MMNode left, MMNode right, OpCode op) {
+ public MMNode(MMNode left, MMNode right, OpCode op, long[] misc) {
_m1 = left;
_m2 = right;
_data = null;
_mc = new MatrixCharacteristics(-1, -1, -1, -1);
_op = op;
+ _misc = misc;
+ }
+
+ public MMNode(MMNode left, MMNode right, OpCode op) {
+ this(left, right, op, null);
+ }
+
+ public MMNode(MMNode left, OpCode op) {
+ this(left, null, op);
+ }
+
+ public MMNode(MMNode left, OpCode op, long[] misc) {
+ this(left, null, op, misc);
}
public int getRows() {
@@ -60,6 +76,16 @@ public class MMNode
return (int)_mc.getCols();
}
+ public long[] getMisc() {
+ return _misc;
+ }
+
+ public long getMisc(int pos) {
+ if( _misc == null )
+ throw new DMLRuntimeException("Extra meta data not available.");
+ return _misc[pos];
+ }
+
public MatrixCharacteristics getMatrixCharacteristics() {
return _mc;
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/test/java/org/apache/sysml/test/integration/functions/estim/MNCReshapeTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/estim/MNCReshapeTest.java b/src/test/java/org/apache/sysml/test/integration/functions/estim/MNCReshapeTest.java
new file mode 100644
index 0000000..7e9b1a5
--- /dev/null
+++ b/src/test/java/org/apache/sysml/test/integration/functions/estim/MNCReshapeTest.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.sysml.test.integration.functions.estim;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.apache.sysml.hops.estim.EstimatorMatrixHistogram.MatrixHistogram;
+import org.apache.sysml.hops.estim.SparsityEstimator.OpCode;
+import org.apache.sysml.runtime.matrix.data.LibMatrixReorg;
+import org.apache.sysml.runtime.matrix.data.MatrixBlock;
+import org.apache.sysml.test.integration.AutomatedTestBase;
+
+public class MNCReshapeTest extends AutomatedTestBase
+{
+ @Override
+ public void setUp() {
+ //do nothing
+ }
+
+ @Test
+ public void testMNCReshapeN1() {
+ runMNCReshapeTest(1000, 100, 200, 500);
+ }
+
+ @Test
+ public void testMNCReshape1N() {
+ runMNCReshapeTest(100, 1000, 500, 200);
+ }
+
+ private void runMNCReshapeTest(int m, int n, int m2, int n2) {
+ MatrixBlock in = createStructuredInput(m, n, m2, n2);
+ MatrixBlock out = LibMatrixReorg.reshape(in, new MatrixBlock(m2, n2, false), m2, n2, true);
+
+ MatrixHistogram hIn = new MatrixHistogram(in, false);
+ MatrixHistogram hOut = MatrixHistogram.deriveOutputHistogram(
+ hIn, null, in.getSparsity(), OpCode.RESHAPE, new long[] {m2,n2});
+
+ MatrixHistogram hExpect = new MatrixHistogram(out, false);
+
+ //expected exact sparsity, even with sketch propagation
+ if( m % m2 == 0 )
+ Assert.assertArrayEquals(hExpect.getRowCounts(), hOut.getRowCounts());
+ if( n % n2 == 0 )
+ Assert.assertArrayEquals(hExpect.getColCounts(), hOut.getColCounts());
+ }
+
+ private MatrixBlock createStructuredInput(int m, int n, int m2, int n2) {
+ if( n % n2 == 0 ) { //1:N
+ MatrixBlock tmp = createStructuredInput(n, m, n2, m2);
+ return LibMatrixReorg.transpose(tmp, new MatrixBlock(m, n, false));
+ }
+ else if( m % m2 == 0 ) { //N:1
+ MatrixBlock tmp = new MatrixBlock(m, n, false);
+ int L = m/m2;
+ for(int i=0; i<m; i+=L) {
+ for( int k=0; k<L; k++ )
+ for(int j=0; j<n/(k+1); j++ ) //j=i/100
+ tmp.quickSetValue(i+k, j, 1);
+ }
+ return tmp;
+ }
+ else {
+ throw new RuntimeException("Unsupported general case.");
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/test/java/org/apache/sysml/test/integration/functions/estim/OpBindChainTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/estim/OpBindChainTest.java b/src/test/java/org/apache/sysml/test/integration/functions/estim/OpBindChainTest.java
index 38d7164..2d87e21 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/estim/OpBindChainTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/estim/OpBindChainTest.java
@@ -124,9 +124,6 @@ public class OpBindChainTest extends AutomatedTestBase
private void runSparsityEstimateTest(SparsityEstimator estim, int m, int k, int n, double[] sp, OpCode op) {
- if(shouldSkipTest())
- return;
-
MatrixBlock m1;
MatrixBlock m2;
MatrixBlock m3 = new MatrixBlock();
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/test/java/org/apache/sysml/test/integration/functions/estim/OpBindTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/estim/OpBindTest.java b/src/test/java/org/apache/sysml/test/integration/functions/estim/OpBindTest.java
index 03a823d..c04458b 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/estim/OpBindTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/estim/OpBindTest.java
@@ -134,9 +134,6 @@ public class OpBindTest extends AutomatedTestBase
private void runSparsityEstimateTest(SparsityEstimator estim, int m, int k, int n, double[] sp, OpCode op) {
- if(shouldSkipTest())
- return;
-
MatrixBlock m1;
MatrixBlock m2;
MatrixBlock m3 = new MatrixBlock();
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/test/java/org/apache/sysml/test/integration/functions/estim/OpElemWChainTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/estim/OpElemWChainTest.java b/src/test/java/org/apache/sysml/test/integration/functions/estim/OpElemWChainTest.java
index b784915..6d69b69 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/estim/OpElemWChainTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/estim/OpElemWChainTest.java
@@ -118,9 +118,6 @@ public class OpElemWChainTest extends AutomatedTestBase
private void runSparsityEstimateTest(SparsityEstimator estim, int m, int n, double[] sp, OpCode op) {
- if(shouldSkipTest())
- return;
-
MatrixBlock m1 = MatrixBlock.randOperations(m, n, sp[0], 1, 1, "uniform", 3);
MatrixBlock m2 = MatrixBlock.randOperations(m, n, sp[1], 1, 1, "uniform", 5);
MatrixBlock m3 = MatrixBlock.randOperations(n, m, sp[1], 1, 1, "uniform", 7);
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/test/java/org/apache/sysml/test/integration/functions/estim/OpElemWTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/estim/OpElemWTest.java b/src/test/java/org/apache/sysml/test/integration/functions/estim/OpElemWTest.java
index 9df813b..69a7325 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/estim/OpElemWTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/estim/OpElemWTest.java
@@ -129,9 +129,6 @@ public class OpElemWTest extends AutomatedTestBase
}
private void runSparsityEstimateTest(SparsityEstimator estim, int m, int n, double[] sp, OpCode op) {
- if(shouldSkipTest())
- return;
-
MatrixBlock m1 = MatrixBlock.randOperations(m, n, sp[0], 1, 1, "uniform", 3);
MatrixBlock m2 = MatrixBlock.randOperations(m, n, sp[1], 1, 1, "uniform", 7);
MatrixBlock m3 = new MatrixBlock();
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/test/java/org/apache/sysml/test/integration/functions/estim/OpSingleTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/estim/OpSingleTest.java b/src/test/java/org/apache/sysml/test/integration/functions/estim/OpSingleTest.java
index fab3e19..fa567ed 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/estim/OpSingleTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/estim/OpSingleTest.java
@@ -232,9 +232,6 @@ public class OpSingleTest extends AutomatedTestBase
// }
private void runSparsityEstimateTest(SparsityEstimator estim, int m, int k, double sp, OpCode op) {
- if(shouldSkipTest())
- return;
-
MatrixBlock m1 = MatrixBlock.randOperations(m, k, sp, 1, 1, "uniform", 3);
MatrixBlock m2 = new MatrixBlock();
double est = 0;
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/test/java/org/apache/sysml/test/integration/functions/estim/OuterProductTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/estim/OuterProductTest.java b/src/test/java/org/apache/sysml/test/integration/functions/estim/OuterProductTest.java
index f23ee2e..70ea63b 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/estim/OuterProductTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/estim/OuterProductTest.java
@@ -140,9 +140,6 @@ public class OuterProductTest extends AutomatedTestBase
}
private void runSparsityEstimateTest(SparsityEstimator estim, int m, int k, int n, double[] sp) {
- if(shouldSkipTest())
- return;
-
MatrixBlock m1 = MatrixBlock.randOperations(m, k, sp[0], 1, 1, "uniform", 3);
MatrixBlock m2 = MatrixBlock.randOperations(k, n, sp[1], 1, 1, "uniform", 3);
MatrixBlock m3 = m1.aggregateBinaryOperations(m1, m2,
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/test/java/org/apache/sysml/test/integration/functions/estim/SelfProductTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/estim/SelfProductTest.java b/src/test/java/org/apache/sysml/test/integration/functions/estim/SelfProductTest.java
index d46f55b..702514e 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/estim/SelfProductTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/estim/SelfProductTest.java
@@ -141,9 +141,6 @@ public class SelfProductTest extends AutomatedTestBase
}
private void runSparsityEstimateTest(SparsityEstimator estim, int n, double sp) {
- if(shouldSkipTest())
- return;
-
MatrixBlock m1 = MatrixBlock.randOperations(m, n, sp, 1, 1, "uniform", 3);
MatrixBlock m3 = m1.aggregateBinaryOperations(m1, m1,
new MatrixBlock(), InstructionUtils.getMatMultOperator(1));
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/test/java/org/apache/sysml/test/integration/functions/estim/SquaredProductChainTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/estim/SquaredProductChainTest.java b/src/test/java/org/apache/sysml/test/integration/functions/estim/SquaredProductChainTest.java
index aae753e..7d97150 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/estim/SquaredProductChainTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/estim/SquaredProductChainTest.java
@@ -138,9 +138,6 @@ public class SquaredProductChainTest extends AutomatedTestBase
}
private void runSparsityEstimateTest(SparsityEstimator estim, int m, int k, int n, int n2, double[] sp) {
- if(shouldSkipTest())
- return;
-
MatrixBlock m1 = MatrixBlock.randOperations(m, k, sp[0], 1, 1, "uniform", 1);
MatrixBlock m2 = MatrixBlock.randOperations(k, n, sp[1], 1, 1, "uniform", 2);
MatrixBlock m3 = MatrixBlock.randOperations(n, n2, sp[2], 1, 1, "uniform", 3);
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/test/java/org/apache/sysml/test/integration/functions/estim/SquaredProductTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/estim/SquaredProductTest.java b/src/test/java/org/apache/sysml/test/integration/functions/estim/SquaredProductTest.java
index 7269612..51eb5d6 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/estim/SquaredProductTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/estim/SquaredProductTest.java
@@ -156,9 +156,6 @@ public class SquaredProductTest extends AutomatedTestBase
}
private void runSparsityEstimateTest(SparsityEstimator estim, int m, int k, int n, double[] sp) {
- if(shouldSkipTest())
- return;
-
MatrixBlock m1 = MatrixBlock.randOperations(m, k, sp[0], 1, 1, "uniform", 3);
MatrixBlock m2 = MatrixBlock.randOperations(k, n, sp[1], 1, 1, "uniform", 7);
MatrixBlock m3 = m1.aggregateBinaryOperations(m1, m2,
http://git-wip-us.apache.org/repos/asf/systemml/blob/07650acf/src/test_suites/java/org/apache/sysml/test/integration/functions/estim/ZPackageSuite.java
----------------------------------------------------------------------
diff --git a/src/test_suites/java/org/apache/sysml/test/integration/functions/estim/ZPackageSuite.java b/src/test_suites/java/org/apache/sysml/test/integration/functions/estim/ZPackageSuite.java
index 3cf152b..4a77ab5 100644
--- a/src/test_suites/java/org/apache/sysml/test/integration/functions/estim/ZPackageSuite.java
+++ b/src/test_suites/java/org/apache/sysml/test/integration/functions/estim/ZPackageSuite.java
@@ -26,6 +26,7 @@ import org.junit.runners.Suite;
* won't run two of them at once. */
@RunWith(Suite.class)
@Suite.SuiteClasses({
+ MNCReshapeTest.class,
OpBindChainTest.class,
OpBindTest.class,
OpElemWChainTest.class,