You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by de...@apache.org on 2017/07/24 22:11:10 UTC
[3/4] systemml git commit: [SYSTEMML-1799] Remove ppred from test
scripts
[SYSTEMML-1799] Remove ppred from test scripts
Replace ppred functions with relational operators in test scripts since
ppred() is deprecated.
Rename ppred test class names and script names.
Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/d30e1888
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/d30e1888
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/d30e1888
Branch: refs/heads/master
Commit: d30e188807af767df7ca46c2980c0f7110ad912d
Parents: 11b689d
Author: Deron Eriksson <de...@apache.org>
Authored: Mon Jul 24 11:34:31 2017 -0700
Committer: Deron Eriksson <de...@apache.org>
Committed: Mon Jul 24 15:07:55 2017 -0700
----------------------------------------------------------------------
.../FullLogicalMatrixTest.java | 590 +++++++++++++++++++
.../FullLogicalScalarLeftTest.java | 437 ++++++++++++++
.../FullLogicalScalarRightTest.java | 436 ++++++++++++++
.../matrix_full_other/FullPPredMatrixTest.java | 590 -------------------
.../FullPPredScalarLeftTest.java | 437 --------------
.../FullPPredScalarRightTest.java | 436 --------------
.../ternary/CTableMatrixIgnoreZerosTest.java | 2 +-
.../apply-transform/apply-transform.dml | 4 +-
.../apply-transform/apply-transform.pydml | 4 +-
.../applications/arima_box-jenkins/arima.dml | 2 +-
.../applications/arima_box-jenkins/arima.pydml | 2 +-
.../scripts/applications/cspline/CsplineCG.dml | 2 +-
.../applications/cspline/CsplineCG.pydml | 2 +-
.../scripts/applications/cspline/CsplineDS.dml | 2 +-
.../applications/cspline/CsplineDS.pydml | 2 +-
.../applications/ctableStats/Binomial.dml | 18 +-
.../applications/ctableStats/ctci_odds.dml | 2 +-
.../applications/ctableStats/zipftest.dml | 2 +-
.../descriptivestats/Categorical.dml | 4 +-
.../applications/descriptivestats/Scale.R | 1 -
.../applications/descriptivestats/Scale.dml | 5 +-
.../WeightedCategoricalTest.dml | 4 +-
.../descriptivestats/WeightedScaleTest.R | 1 -
.../descriptivestats/WeightedScaleTest.dml | 5 +-
src/test/scripts/applications/glm/GLM.dml | 86 +--
src/test/scripts/applications/glm/GLM.pydml | 86 +--
src/test/scripts/applications/id3/id3.dml | 14 +-
src/test/scripts/applications/id3/id3.pydml | 14 +-
src/test/scripts/applications/impute/tmp.dml | 8 +-
src/test/scripts/applications/kmeans/Kmeans.dml | 4 +-
src/test/scripts/applications/l2svm/L2SVM.dml | 8 +-
src/test/scripts/applications/l2svm/L2SVM.pydml | 8 +-
.../applications/linearLogReg/LinearLogReg.dml | 2 +-
.../linearLogReg/LinearLogReg.pydml | 2 +-
src/test/scripts/applications/m-svm/m-svm.dml | 8 +-
src/test/scripts/applications/m-svm/m-svm.pydml | 8 +-
.../applications/mdabivar/MDABivariateStats.dml | 4 +-
.../mdabivar/MDABivariateStats.pydml | 4 +-
.../naive-bayes-parfor/naive-bayes.dml | 2 +-
.../naive-bayes-parfor/naive-bayes.pydml | 2 +-
.../parfor/parfor_cv_multiclasssvm0.dml | 22 +-
.../parfor/parfor_cv_multiclasssvm1.dml | 22 +-
.../parfor/parfor_cv_multiclasssvm4.dml | 22 +-
.../applications/parfor/parfor_sample.dml | 4 +-
.../applications/parfor/parfor_univariate0.dml | 2 +-
.../applications/parfor/parfor_univariate1.dml | 2 +-
.../applications/parfor/parfor_univariate4.dml | 2 +-
.../validation/CV_LogisticRegression.dml | 10 +-
.../validation/CV_MultiClassSVM.dml | 22 +-
.../validation/CV_MultiClassSVM.sasha.dml | 24 +-
.../validation/LinearLogisticRegression.dml | 2 +-
.../applications/validation/MultiClassSVM.dml | 16 +-
.../validation/MultiClassSVMScore.dml | 2 +-
.../genRandData4LogisticRegression.dml | 2 +-
.../validation/genRandData4MultiClassSVM.dml | 2 +-
.../matrix/UltraSparseMatrixMultiplication.dml | 2 +-
.../matrix/UltraSparseMatrixMultiplication2.dml | 2 +-
.../matrix_full_other/LogicalMatrixTest.R | 59 ++
.../matrix_full_other/LogicalMatrixTest.dml | 50 ++
.../matrix_full_other/LogicalScalarLeftTest.R | 60 ++
.../matrix_full_other/LogicalScalarLeftTest.dml | 49 ++
.../matrix_full_other/LogicalScalarRightTest.R | 60 ++
.../LogicalScalarRightTest.dml | 49 ++
.../binary/matrix_full_other/PPredMatrixTest.R | 59 --
.../matrix_full_other/PPredMatrixTest.dml | 50 --
.../matrix_full_other/PPredScalarLeftTest.R | 60 --
.../matrix_full_other/PPredScalarLeftTest.dml | 49 --
.../matrix_full_other/PPredScalarRightTest.R | 60 --
.../matrix_full_other/PPredScalarRightTest.dml | 49 --
.../functions/misc/ValueTypePredLeftScalar.dml | 2 +-
.../functions/misc/ValueTypePredRightScalar.dml | 2 +-
.../quaternary/WeightedDivMMMultMinusLeft.dml | 2 +-
.../quaternary/WeightedDivMMMultMinusRight.dml | 2 +-
.../quaternary/WeightedSquaredLossPostNz.dml | 2 +-
.../scripts/functions/ternary/CTableRowHist.dml | 2 +-
.../scripts/functions/unary/matrix/SelPos.dml | 2 +-
.../scripts/functions/unary/matrix/Sign2.dml | 2 +-
.../binary/matrix_full_other/ZPackageSuite.java | 6 +-
78 files changed, 2041 insertions(+), 2045 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalMatrixTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalMatrixTest.java b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalMatrixTest.java
new file mode 100644
index 0000000..9563283
--- /dev/null
+++ b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalMatrixTest.java
@@ -0,0 +1,590 @@
+/*
+ * 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.binary.matrix_full_other;
+
+import java.util.HashMap;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import org.apache.sysml.api.DMLScript;
+import org.apache.sysml.api.DMLScript.RUNTIME_PLATFORM;
+import org.apache.sysml.lops.LopProperties.ExecType;
+import org.apache.sysml.runtime.matrix.data.MatrixValue.CellIndex;
+import org.apache.sysml.test.integration.AutomatedTestBase;
+import org.apache.sysml.test.integration.TestConfiguration;
+import org.apache.sysml.test.utils.TestUtils;
+
+/**
+ * The main purpose of this test is to verify various input combinations for
+ * matrix-matrix ppred operations that internally translate to binary operations.
+ *
+ */
+public class FullLogicalMatrixTest extends AutomatedTestBase
+{
+
+ private final static String TEST_NAME1 = "LogicalMatrixTest";
+ private final static String TEST_DIR = "functions/binary/matrix_full_other/";
+ private final static String TEST_CLASS_DIR = TEST_DIR + FullLogicalMatrixTest.class.getSimpleName() + "/";
+ private final static double eps = 1e-10;
+
+ private final static int rows1 = 1383;
+ private final static int cols1 = 1432;
+
+ private final static double sparsity1 = 0.7;
+ private final static double sparsity2 = 0.01;
+
+ public enum Type{
+ GREATER,
+ LESS,
+ EQUALS,
+ NOT_EQUALS,
+ GREATER_EQUALS,
+ LESS_EQUALS,
+ }
+
+ @Override
+ public void setUp()
+ {
+ addTestConfiguration( TEST_NAME1, new TestConfiguration(TEST_CLASS_DIR, TEST_NAME1, new String[] { "C" }) );
+ TestUtils.clearAssertionInformation();
+ if (TEST_CACHE_ENABLED) {
+ setOutAndExpectedDeletionDisabled(true);
+ }
+ }
+
+ @BeforeClass
+ public static void init()
+ {
+ TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
+ }
+
+ @AfterClass
+ public static void cleanUp()
+ {
+ if (TEST_CACHE_ENABLED) {
+ TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
+ }
+ }
+
+ @Test
+ public void testPPredGreaterDenseDenseCP()
+ {
+ runPPredTest(Type.GREATER, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterDenseSparseCP()
+ {
+ runPPredTest(Type.GREATER, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterSparseDenseCP()
+ {
+ runPPredTest(Type.GREATER, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterSparseSparseCP()
+ {
+ runPPredTest(Type.GREATER, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsDenseDenseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsDenseSparseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsSparseDenseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsSparseSparseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsDenseDenseCP()
+ {
+ runPPredTest(Type.EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsDenseSparseCP()
+ {
+ runPPredTest(Type.EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsSparseDenseCP()
+ {
+ runPPredTest(Type.EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsSparseSparseCP()
+ {
+ runPPredTest(Type.EQUALS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsDenseDenseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsDenseSparseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsSparseDenseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsSparseSparseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessDenseDenseCP()
+ {
+ runPPredTest(Type.LESS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessDenseSparseCP()
+ {
+ runPPredTest(Type.LESS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessSparseDenseCP()
+ {
+ runPPredTest(Type.LESS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessSparseSparseCP()
+ {
+ runPPredTest(Type.LESS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsDenseDenseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsDenseSparseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsSparseDenseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsSparseSparseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, true, ExecType.CP);
+ }
+
+
+ // ------------------------
+ @Test
+ public void testPPredGreaterDenseDenseSP()
+ {
+ runPPredTest(Type.GREATER, false, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredGreaterDenseSparseSP()
+ {
+ runPPredTest(Type.GREATER, false, true, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredGreaterSparseDenseSP()
+ {
+ runPPredTest(Type.GREATER, true, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredGreaterSparseSparseSP()
+ {
+ runPPredTest(Type.GREATER, true, true, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsDenseDenseSP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsDenseSparseSP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsSparseDenseSP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsSparseSparseSP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredEqualsDenseDenseSP()
+ {
+ runPPredTest(Type.EQUALS, false, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredEqualsDenseSparseSP()
+ {
+ runPPredTest(Type.EQUALS, false, true, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredEqualsSparseDenseSP()
+ {
+ runPPredTest(Type.EQUALS, true, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredEqualsSparseSparseSP()
+ {
+ runPPredTest(Type.EQUALS, true, true, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredNotEqualsDenseDenseSP()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredNotEqualsDenseSparseSP()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, true, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredNotEqualsSparseDenseSP()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredNotEqualsSparseSparseSP()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, true, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredLessDenseDenseSP()
+ {
+ runPPredTest(Type.LESS, false, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredLessDenseSparseSP()
+ {
+ runPPredTest(Type.LESS, false, true, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredLessSparseDenseSP()
+ {
+ runPPredTest(Type.LESS, true, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredLessSparseSparseSP()
+ {
+ runPPredTest(Type.LESS, true, true, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredLessEqualsDenseDenseSP()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredLessEqualsDenseSparseSP()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, true, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredLessEqualsSparseDenseSP()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, false, ExecType.SPARK);
+ }
+
+ @Test
+ public void testPPredLessEqualsSparseSparseSP()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, true, ExecType.SPARK);
+ }
+ // ----------------------
+
+ @Test
+ public void testPPredGreaterDenseDenseMR()
+ {
+ runPPredTest(Type.GREATER, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterDenseSparseMR()
+ {
+ runPPredTest(Type.GREATER, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterSparseDenseMR()
+ {
+ runPPredTest(Type.GREATER, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterSparseSparseMR()
+ {
+ runPPredTest(Type.GREATER, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsDenseDenseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsDenseSparseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsSparseDenseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsSparseSparseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsDenseDenseMR()
+ {
+ runPPredTest(Type.EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsDenseSparseMR()
+ {
+ runPPredTest(Type.EQUALS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsSparseDenseMR()
+ {
+ runPPredTest(Type.EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsSparseSparseMR()
+ {
+ runPPredTest(Type.EQUALS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsDenseDenseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsDenseSparseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsSparseDenseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsSparseSparseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessDenseDenseMR()
+ {
+ runPPredTest(Type.LESS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessDenseSparseMR()
+ {
+ runPPredTest(Type.LESS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessSparseDenseMR()
+ {
+ runPPredTest(Type.LESS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessSparseSparseMR()
+ {
+ runPPredTest(Type.LESS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsDenseDenseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsDenseSparseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsSparseDenseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsSparseSparseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, true, ExecType.MR);
+ }
+
+
+ /**
+ *
+ * @param type
+ * @param instType
+ * @param sparse
+ */
+ private void runPPredTest( Type type, boolean sp1, boolean sp2, ExecType et )
+ {
+ String TEST_NAME = TEST_NAME1;
+ int rows = rows1;
+ int cols = cols1;
+
+ RUNTIME_PLATFORM platformOld = rtplatform;
+ switch( et ){
+ case MR: rtplatform = RUNTIME_PLATFORM.HADOOP; break;
+ case SPARK: rtplatform = RUNTIME_PLATFORM.SPARK; break;
+ default: rtplatform = RUNTIME_PLATFORM.HYBRID; break;
+ }
+
+ boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
+ if( rtplatform == RUNTIME_PLATFORM.SPARK )
+ DMLScript.USE_LOCAL_SPARK_CONFIG = true;
+
+ double sparsityLeft = sp1 ? sparsity2 : sparsity1;
+ double sparsityRight = sp2 ? sparsity2 : sparsity1;
+
+ String TEST_CACHE_DIR = "";
+ if (TEST_CACHE_ENABLED) {
+ TEST_CACHE_DIR = type.ordinal() + "_" + rows + "_" + cols + "_" + sparsityLeft + "_" + sparsityRight + "/";
+ }
+
+ try
+ {
+ TestConfiguration config = getTestConfiguration(TEST_NAME);
+ loadTestConfiguration(config, TEST_CACHE_DIR);
+
+ /* This is for running the junit test the new way, i.e., construct the arguments directly */
+ String HOME = SCRIPT_DIR + TEST_DIR;
+ fullDMLScriptName = HOME + TEST_NAME + ".dml";
+ programArgs = new String[]{"-args", input("A"), input("B"),
+ Integer.toString(type.ordinal()), output("C") };
+
+ fullRScriptName = HOME + TEST_NAME + ".R";
+ rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " + type.ordinal() + " " + expectedDir();
+
+ //generate actual dataset
+ double[][] A = getRandomMatrix(rows, cols, -10, 10, sparsityLeft, 7);
+ writeInputMatrixWithMTD("A", A, true);
+ double[][] B = getRandomMatrix(rows, cols, -15, 15, sparsityRight, 3);
+ writeInputMatrixWithMTD("B", B, true);
+
+ //run tests
+ runTest(true, false, null, -1);
+ runRScript(true);
+
+ //compare matrices
+ HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
+ HashMap<CellIndex, Double> rfile = readRMatrixFromFS("C");
+ TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
+ }
+ finally
+ {
+ rtplatform = platformOld;
+ DMLScript.USE_LOCAL_SPARK_CONFIG = sparkConfigOld;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalScalarLeftTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalScalarLeftTest.java b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalScalarLeftTest.java
new file mode 100644
index 0000000..c23943b
--- /dev/null
+++ b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalScalarLeftTest.java
@@ -0,0 +1,437 @@
+/*
+ * 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.binary.matrix_full_other;
+
+import java.util.HashMap;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import org.apache.sysml.api.DMLScript.RUNTIME_PLATFORM;
+import org.apache.sysml.lops.LopProperties.ExecType;
+import org.apache.sysml.runtime.matrix.data.MatrixValue.CellIndex;
+import org.apache.sysml.test.integration.AutomatedTestBase;
+import org.apache.sysml.test.integration.TestConfiguration;
+import org.apache.sysml.test.utils.TestUtils;
+
+/**
+ * The main purpose of this test is to verify the internal optimization regarding
+ * sparse-safeness of ppred for various input combinations. (ppred is not sparse-safe
+ * in general, but for certain instance involving 0 scalar it is).
+ *
+ * Furthermore, it is used to test all combinations of matrix-scalar, scalar-matrix
+ * ppred operations in all execution types.
+ *
+ */
+public class FullLogicalScalarLeftTest extends AutomatedTestBase
+{
+
+ private final static String TEST_NAME1 = "LogicalScalarLeftTest";
+ private final static String TEST_DIR = "functions/binary/matrix_full_other/";
+ private final static String TEST_CLASS_DIR = TEST_DIR + FullLogicalScalarLeftTest.class.getSimpleName() + "/";
+ private final static double eps = 1e-10;
+
+ private final static int rows1 = 1072;
+ private final static int cols1 = 1009;
+
+ private final static double sparsity1 = 0.7;
+ private final static double sparsity2 = 0.1;
+
+ public enum Type{
+ GREATER,
+ LESS,
+ EQUALS,
+ NOT_EQUALS,
+ GREATER_EQUALS,
+ LESS_EQUALS,
+ }
+
+ @BeforeClass
+ public static void init()
+ {
+ TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
+ }
+
+ @AfterClass
+ public static void cleanUp()
+ {
+ if (TEST_CACHE_ENABLED) {
+ TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
+ }
+ }
+
+ @Override
+ public void setUp()
+ {
+ addTestConfiguration( TEST_NAME1, new TestConfiguration(TEST_CLASS_DIR, TEST_NAME1, new String[] { "B" }) );
+ if (TEST_CACHE_ENABLED) {
+ setOutAndExpectedDeletionDisabled(true);
+ }
+ }
+
+
+ @Test
+ public void testPPredGreaterZeroDenseCP()
+ {
+ runPPredTest(Type.GREATER, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessZeroDenseCP()
+ {
+ runPPredTest(Type.LESS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsZeroDenseCP()
+ {
+ runPPredTest(Type.EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsZeroDenseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsZeroDenseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsZeroDenseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterNonZeroDenseCP()
+ {
+ runPPredTest(Type.GREATER, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessNonZeroDenseCP()
+ {
+ runPPredTest(Type.LESS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsNonZeroDenseCP()
+ {
+ runPPredTest(Type.EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsNonZeroDenseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsNonZeroDenseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsNonZeroDenseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterZeroSparseCP()
+ {
+ runPPredTest(Type.GREATER, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessZeroSparseCP()
+ {
+ runPPredTest(Type.LESS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsZeroSparseCP()
+ {
+ runPPredTest(Type.EQUALS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsZeroSparseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsZeroSparseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsZeroSparseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterNonZeroSparseCP()
+ {
+ runPPredTest(Type.GREATER, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessNonZeroSparseCP()
+ {
+ runPPredTest(Type.LESS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsNonZeroSparseCP()
+ {
+ runPPredTest(Type.EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsNonZeroSparseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsNonZeroSparseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsNonZeroSparseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterZeroDenseMR()
+ {
+ runPPredTest(Type.GREATER, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessZeroDenseMR()
+ {
+ runPPredTest(Type.LESS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsZeroDenseMR()
+ {
+ runPPredTest(Type.EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsZeroDenseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsZeroDenseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsZeroDenseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterNonZeroDenseMR()
+ {
+ runPPredTest(Type.GREATER, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessNonZeroDenseMR()
+ {
+ runPPredTest(Type.LESS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsNonZeroDenseMR()
+ {
+ runPPredTest(Type.EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsNonZeroDenseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsNonZeroDenseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsNonZeroDenseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterZeroSparseMR()
+ {
+ runPPredTest(Type.GREATER, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessZeroSparseMR()
+ {
+ runPPredTest(Type.LESS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsZeroSparseMR()
+ {
+ runPPredTest(Type.EQUALS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsZeroSparseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsZeroSparseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsZeroSparseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterNonZeroSparseMR()
+ {
+ runPPredTest(Type.GREATER, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessNonZeroSparseMR()
+ {
+ runPPredTest(Type.LESS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsNonZeroSparseMR()
+ {
+ runPPredTest(Type.EQUALS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsNonZeroSparseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsNonZeroSparseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsNonZeroSparseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, true, ExecType.MR);
+ }
+
+
+ /**
+ *
+ * @param type
+ * @param instType
+ * @param sparse
+ */
+ private void runPPredTest( Type type, boolean zero, boolean sparse, ExecType et )
+ {
+ String TEST_NAME = TEST_NAME1;
+ int rows = rows1;
+ int cols = cols1;
+ double sparsity = sparse ? sparsity2 : sparsity1;
+ double constant = zero ? 0 : 0.5;
+
+ String TEST_CACHE_DIR = "";
+ if (TEST_CACHE_ENABLED) {
+ TEST_CACHE_DIR = type.ordinal() + "_" + constant + "_" + sparsity + "/";
+ }
+
+ //rtplatform for MR
+ RUNTIME_PLATFORM platformOld = rtplatform;
+ rtplatform = (et==ExecType.MR) ? RUNTIME_PLATFORM.HADOOP : RUNTIME_PLATFORM.HYBRID;
+
+ try
+ {
+ TestConfiguration config = getTestConfiguration(TEST_NAME);
+
+ loadTestConfiguration(config, TEST_CACHE_DIR);
+
+ /* This is for running the junit test the new way, i.e., construct the arguments directly */
+ String HOME = SCRIPT_DIR + TEST_DIR;
+ fullDMLScriptName = HOME + TEST_NAME + ".dml";
+ programArgs = new String[]{"-explain","-args", input("A"),
+ Integer.toString(type.ordinal()), Double.toString(constant), output("B") };
+
+ fullRScriptName = HOME + TEST_NAME + ".R";
+ rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " +
+ type.ordinal() + " " + constant + " " + expectedDir();
+
+ //generate actual dataset
+ double[][] A = getRandomMatrix(rows, cols, -1, 1, sparsity, 7);
+ writeInputMatrixWithMTD("A", A, true);
+
+ //run tests
+ runTest(true, false, null, -1);
+ runRScript(true);
+
+ //compare matrices
+ HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
+ HashMap<CellIndex, Double> rfile = readRMatrixFromFS("B");
+ TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
+ }
+ finally
+ {
+ rtplatform = platformOld;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalScalarRightTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalScalarRightTest.java b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalScalarRightTest.java
new file mode 100644
index 0000000..30fcdac
--- /dev/null
+++ b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullLogicalScalarRightTest.java
@@ -0,0 +1,436 @@
+/*
+ * 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.binary.matrix_full_other;
+
+import java.util.HashMap;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import org.apache.sysml.api.DMLScript.RUNTIME_PLATFORM;
+import org.apache.sysml.lops.LopProperties.ExecType;
+import org.apache.sysml.runtime.matrix.data.MatrixValue.CellIndex;
+import org.apache.sysml.test.integration.AutomatedTestBase;
+import org.apache.sysml.test.integration.TestConfiguration;
+import org.apache.sysml.test.utils.TestUtils;
+
+/**
+ * The main purpose of this test is to verify the internal optimization regarding
+ * sparse-safeness of ppred for various input combinations. (ppred is not sparse-safe
+ * in general, but for certain instance involving 0 scalar it is).
+ *
+ * Furthermore, it is used to test all combinations of matrix-scalar, scalar-matrix
+ * ppred operations in all execution types.
+ *
+ */
+public class FullLogicalScalarRightTest extends AutomatedTestBase
+{
+
+ private final static String TEST_NAME1 = "LogicalScalarRightTest";
+ private final static String TEST_DIR = "functions/binary/matrix_full_other/";
+ private final static String TEST_CLASS_DIR = TEST_DIR + FullLogicalScalarRightTest.class.getSimpleName() + "/";
+ private final static double eps = 1e-10;
+
+ private final static int rows1 = 1072;
+ private final static int cols1 = 1009;
+
+ private final static double sparsity1 = 0.7;
+ private final static double sparsity2 = 0.1;
+
+ public enum Type{
+ GREATER,
+ LESS,
+ EQUALS,
+ NOT_EQUALS,
+ GREATER_EQUALS,
+ LESS_EQUALS,
+ }
+
+
+ @Override
+ public void setUp()
+ {
+ addTestConfiguration( TEST_NAME1, new TestConfiguration(TEST_CLASS_DIR, TEST_NAME1, new String[] { "B" }) );
+ if (TEST_CACHE_ENABLED) {
+ setOutAndExpectedDeletionDisabled(true);
+ }
+ }
+
+ @BeforeClass
+ public static void init()
+ {
+ TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
+ }
+
+ @AfterClass
+ public static void cleanUp()
+ {
+ if (TEST_CACHE_ENABLED) {
+ TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
+ }
+ }
+
+ @Test
+ public void testPPredGreaterZeroDenseCP()
+ {
+ runPPredTest(Type.GREATER, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessZeroDenseCP()
+ {
+ runPPredTest(Type.LESS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsZeroDenseCP()
+ {
+ runPPredTest(Type.EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsZeroDenseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsZeroDenseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsZeroDenseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterNonZeroDenseCP()
+ {
+ runPPredTest(Type.GREATER, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessNonZeroDenseCP()
+ {
+ runPPredTest(Type.LESS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsNonZeroDenseCP()
+ {
+ runPPredTest(Type.EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsNonZeroDenseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsNonZeroDenseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsNonZeroDenseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, false, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterZeroSparseCP()
+ {
+ runPPredTest(Type.GREATER, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessZeroSparseCP()
+ {
+ runPPredTest(Type.LESS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsZeroSparseCP()
+ {
+ runPPredTest(Type.EQUALS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsZeroSparseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsZeroSparseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsZeroSparseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterNonZeroSparseCP()
+ {
+ runPPredTest(Type.GREATER, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessNonZeroSparseCP()
+ {
+ runPPredTest(Type.LESS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredEqualsNonZeroSparseCP()
+ {
+ runPPredTest(Type.EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredNotEqualsNonZeroSparseCP()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsNonZeroSparseCP()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredLessEqualsNonZeroSparseCP()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, true, ExecType.CP);
+ }
+
+ @Test
+ public void testPPredGreaterZeroDenseMR()
+ {
+ runPPredTest(Type.GREATER, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessZeroDenseMR()
+ {
+ runPPredTest(Type.LESS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsZeroDenseMR()
+ {
+ runPPredTest(Type.EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsZeroDenseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsZeroDenseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsZeroDenseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterNonZeroDenseMR()
+ {
+ runPPredTest(Type.GREATER, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessNonZeroDenseMR()
+ {
+ runPPredTest(Type.LESS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsNonZeroDenseMR()
+ {
+ runPPredTest(Type.EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsNonZeroDenseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsNonZeroDenseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsNonZeroDenseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, false, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterZeroSparseMR()
+ {
+ runPPredTest(Type.GREATER, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessZeroSparseMR()
+ {
+ runPPredTest(Type.LESS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsZeroSparseMR()
+ {
+ runPPredTest(Type.EQUALS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsZeroSparseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsZeroSparseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsZeroSparseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, true, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterNonZeroSparseMR()
+ {
+ runPPredTest(Type.GREATER, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessNonZeroSparseMR()
+ {
+ runPPredTest(Type.LESS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredEqualsNonZeroSparseMR()
+ {
+ runPPredTest(Type.EQUALS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredNotEqualsNonZeroSparseMR()
+ {
+ runPPredTest(Type.NOT_EQUALS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredGreaterEqualsNonZeroSparseMR()
+ {
+ runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.MR);
+ }
+
+ @Test
+ public void testPPredLessEqualsNonZeroSparseMR()
+ {
+ runPPredTest(Type.LESS_EQUALS, false, true, ExecType.MR);
+ }
+
+
+ /**
+ *
+ * @param type
+ * @param instType
+ * @param sparse
+ */
+ private void runPPredTest( Type type, boolean zero, boolean sparse, ExecType et )
+ {
+ String TEST_NAME = TEST_NAME1;
+ int rows = rows1;
+ int cols = cols1;
+ double sparsity = sparse ? sparsity2 : sparsity1;
+ double constant = zero ? 0 : 0.5;
+
+ String TEST_CACHE_DIR = "";
+ if (TEST_CACHE_ENABLED) {
+ TEST_CACHE_DIR = type.ordinal() + "_" + constant + "_" + sparsity + "/";
+ }
+
+ //rtplatform for MR
+ RUNTIME_PLATFORM platformOld = rtplatform;
+ rtplatform = (et==ExecType.MR) ? RUNTIME_PLATFORM.HADOOP : RUNTIME_PLATFORM.HYBRID;
+
+ try
+ {
+ TestConfiguration config = getTestConfiguration(TEST_NAME);
+ loadTestConfiguration(config, TEST_CACHE_DIR);
+
+ /* This is for running the junit test the new way, i.e., construct the arguments directly */
+ String HOME = SCRIPT_DIR + TEST_DIR;
+ fullDMLScriptName = HOME + TEST_NAME + ".dml";
+ programArgs = new String[]{"-args", input("A"),
+ Integer.toString(type.ordinal()), Double.toString(constant), output("B") };
+
+ fullRScriptName = HOME + TEST_NAME + ".R";
+ rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " +
+ type.ordinal() + " " + constant + " " + expectedDir();
+
+ //generate actual dataset
+ double[][] A = getRandomMatrix(rows, cols, -1, 1, sparsity, 7);
+ writeInputMatrixWithMTD("A", A, true);
+
+ //run tests
+ runTest(true, false, null, -1);
+ runRScript(true);
+
+ //compare matrices
+ HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
+ HashMap<CellIndex, Double> rfile = readRMatrixFromFS("B");
+ TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
+ }
+ finally
+ {
+ rtplatform = platformOld;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredMatrixTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredMatrixTest.java b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredMatrixTest.java
deleted file mode 100644
index 5f2161e..0000000
--- a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredMatrixTest.java
+++ /dev/null
@@ -1,590 +0,0 @@
-/*
- * 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.binary.matrix_full_other;
-
-import java.util.HashMap;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import org.apache.sysml.api.DMLScript;
-import org.apache.sysml.api.DMLScript.RUNTIME_PLATFORM;
-import org.apache.sysml.lops.LopProperties.ExecType;
-import org.apache.sysml.runtime.matrix.data.MatrixValue.CellIndex;
-import org.apache.sysml.test.integration.AutomatedTestBase;
-import org.apache.sysml.test.integration.TestConfiguration;
-import org.apache.sysml.test.utils.TestUtils;
-
-/**
- * The main purpose of this test is to verify various input combinations for
- * matrix-matrix ppred operations that internally translate to binary operations.
- *
- */
-public class FullPPredMatrixTest extends AutomatedTestBase
-{
-
- private final static String TEST_NAME1 = "PPredMatrixTest";
- private final static String TEST_DIR = "functions/binary/matrix_full_other/";
- private final static String TEST_CLASS_DIR = TEST_DIR + FullPPredMatrixTest.class.getSimpleName() + "/";
- private final static double eps = 1e-10;
-
- private final static int rows1 = 1383;
- private final static int cols1 = 1432;
-
- private final static double sparsity1 = 0.7;
- private final static double sparsity2 = 0.01;
-
- public enum Type{
- GREATER,
- LESS,
- EQUALS,
- NOT_EQUALS,
- GREATER_EQUALS,
- LESS_EQUALS,
- }
-
- @Override
- public void setUp()
- {
- addTestConfiguration( TEST_NAME1, new TestConfiguration(TEST_CLASS_DIR, TEST_NAME1, new String[] { "C" }) );
- TestUtils.clearAssertionInformation();
- if (TEST_CACHE_ENABLED) {
- setOutAndExpectedDeletionDisabled(true);
- }
- }
-
- @BeforeClass
- public static void init()
- {
- TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
- }
-
- @AfterClass
- public static void cleanUp()
- {
- if (TEST_CACHE_ENABLED) {
- TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
- }
- }
-
- @Test
- public void testPPredGreaterDenseDenseCP()
- {
- runPPredTest(Type.GREATER, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterDenseSparseCP()
- {
- runPPredTest(Type.GREATER, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterSparseDenseCP()
- {
- runPPredTest(Type.GREATER, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterSparseSparseCP()
- {
- runPPredTest(Type.GREATER, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsDenseDenseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsDenseSparseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsSparseDenseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsSparseSparseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsDenseDenseCP()
- {
- runPPredTest(Type.EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsDenseSparseCP()
- {
- runPPredTest(Type.EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsSparseDenseCP()
- {
- runPPredTest(Type.EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsSparseSparseCP()
- {
- runPPredTest(Type.EQUALS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsDenseDenseCP()
- {
- runPPredTest(Type.NOT_EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsDenseSparseCP()
- {
- runPPredTest(Type.NOT_EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsSparseDenseCP()
- {
- runPPredTest(Type.NOT_EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsSparseSparseCP()
- {
- runPPredTest(Type.NOT_EQUALS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessDenseDenseCP()
- {
- runPPredTest(Type.LESS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessDenseSparseCP()
- {
- runPPredTest(Type.LESS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessSparseDenseCP()
- {
- runPPredTest(Type.LESS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessSparseSparseCP()
- {
- runPPredTest(Type.LESS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsDenseDenseCP()
- {
- runPPredTest(Type.LESS_EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsDenseSparseCP()
- {
- runPPredTest(Type.LESS_EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsSparseDenseCP()
- {
- runPPredTest(Type.LESS_EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsSparseSparseCP()
- {
- runPPredTest(Type.LESS_EQUALS, true, true, ExecType.CP);
- }
-
-
- // ------------------------
- @Test
- public void testPPredGreaterDenseDenseSP()
- {
- runPPredTest(Type.GREATER, false, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredGreaterDenseSparseSP()
- {
- runPPredTest(Type.GREATER, false, true, ExecType.SPARK);
- }
-
- @Test
- public void testPPredGreaterSparseDenseSP()
- {
- runPPredTest(Type.GREATER, true, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredGreaterSparseSparseSP()
- {
- runPPredTest(Type.GREATER, true, true, ExecType.SPARK);
- }
-
- @Test
- public void testPPredGreaterEqualsDenseDenseSP()
- {
- runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredGreaterEqualsDenseSparseSP()
- {
- runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.SPARK);
- }
-
- @Test
- public void testPPredGreaterEqualsSparseDenseSP()
- {
- runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredGreaterEqualsSparseSparseSP()
- {
- runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.SPARK);
- }
-
- @Test
- public void testPPredEqualsDenseDenseSP()
- {
- runPPredTest(Type.EQUALS, false, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredEqualsDenseSparseSP()
- {
- runPPredTest(Type.EQUALS, false, true, ExecType.SPARK);
- }
-
- @Test
- public void testPPredEqualsSparseDenseSP()
- {
- runPPredTest(Type.EQUALS, true, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredEqualsSparseSparseSP()
- {
- runPPredTest(Type.EQUALS, true, true, ExecType.SPARK);
- }
-
- @Test
- public void testPPredNotEqualsDenseDenseSP()
- {
- runPPredTest(Type.NOT_EQUALS, false, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredNotEqualsDenseSparseSP()
- {
- runPPredTest(Type.NOT_EQUALS, false, true, ExecType.SPARK);
- }
-
- @Test
- public void testPPredNotEqualsSparseDenseSP()
- {
- runPPredTest(Type.NOT_EQUALS, true, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredNotEqualsSparseSparseSP()
- {
- runPPredTest(Type.NOT_EQUALS, true, true, ExecType.SPARK);
- }
-
- @Test
- public void testPPredLessDenseDenseSP()
- {
- runPPredTest(Type.LESS, false, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredLessDenseSparseSP()
- {
- runPPredTest(Type.LESS, false, true, ExecType.SPARK);
- }
-
- @Test
- public void testPPredLessSparseDenseSP()
- {
- runPPredTest(Type.LESS, true, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredLessSparseSparseSP()
- {
- runPPredTest(Type.LESS, true, true, ExecType.SPARK);
- }
-
- @Test
- public void testPPredLessEqualsDenseDenseSP()
- {
- runPPredTest(Type.LESS_EQUALS, false, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredLessEqualsDenseSparseSP()
- {
- runPPredTest(Type.LESS_EQUALS, false, true, ExecType.SPARK);
- }
-
- @Test
- public void testPPredLessEqualsSparseDenseSP()
- {
- runPPredTest(Type.LESS_EQUALS, true, false, ExecType.SPARK);
- }
-
- @Test
- public void testPPredLessEqualsSparseSparseSP()
- {
- runPPredTest(Type.LESS_EQUALS, true, true, ExecType.SPARK);
- }
- // ----------------------
-
- @Test
- public void testPPredGreaterDenseDenseMR()
- {
- runPPredTest(Type.GREATER, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterDenseSparseMR()
- {
- runPPredTest(Type.GREATER, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterSparseDenseMR()
- {
- runPPredTest(Type.GREATER, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterSparseSparseMR()
- {
- runPPredTest(Type.GREATER, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsDenseDenseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsDenseSparseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsSparseDenseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsSparseSparseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsDenseDenseMR()
- {
- runPPredTest(Type.EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsDenseSparseMR()
- {
- runPPredTest(Type.EQUALS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsSparseDenseMR()
- {
- runPPredTest(Type.EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsSparseSparseMR()
- {
- runPPredTest(Type.EQUALS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsDenseDenseMR()
- {
- runPPredTest(Type.NOT_EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsDenseSparseMR()
- {
- runPPredTest(Type.NOT_EQUALS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsSparseDenseMR()
- {
- runPPredTest(Type.NOT_EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsSparseSparseMR()
- {
- runPPredTest(Type.NOT_EQUALS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessDenseDenseMR()
- {
- runPPredTest(Type.LESS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessDenseSparseMR()
- {
- runPPredTest(Type.LESS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessSparseDenseMR()
- {
- runPPredTest(Type.LESS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessSparseSparseMR()
- {
- runPPredTest(Type.LESS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsDenseDenseMR()
- {
- runPPredTest(Type.LESS_EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsDenseSparseMR()
- {
- runPPredTest(Type.LESS_EQUALS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsSparseDenseMR()
- {
- runPPredTest(Type.LESS_EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsSparseSparseMR()
- {
- runPPredTest(Type.LESS_EQUALS, true, true, ExecType.MR);
- }
-
-
- /**
- *
- * @param type
- * @param instType
- * @param sparse
- */
- private void runPPredTest( Type type, boolean sp1, boolean sp2, ExecType et )
- {
- String TEST_NAME = TEST_NAME1;
- int rows = rows1;
- int cols = cols1;
-
- RUNTIME_PLATFORM platformOld = rtplatform;
- switch( et ){
- case MR: rtplatform = RUNTIME_PLATFORM.HADOOP; break;
- case SPARK: rtplatform = RUNTIME_PLATFORM.SPARK; break;
- default: rtplatform = RUNTIME_PLATFORM.HYBRID; break;
- }
-
- boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
- if( rtplatform == RUNTIME_PLATFORM.SPARK )
- DMLScript.USE_LOCAL_SPARK_CONFIG = true;
-
- double sparsityLeft = sp1 ? sparsity2 : sparsity1;
- double sparsityRight = sp2 ? sparsity2 : sparsity1;
-
- String TEST_CACHE_DIR = "";
- if (TEST_CACHE_ENABLED) {
- TEST_CACHE_DIR = type.ordinal() + "_" + rows + "_" + cols + "_" + sparsityLeft + "_" + sparsityRight + "/";
- }
-
- try
- {
- TestConfiguration config = getTestConfiguration(TEST_NAME);
- loadTestConfiguration(config, TEST_CACHE_DIR);
-
- /* This is for running the junit test the new way, i.e., construct the arguments directly */
- String HOME = SCRIPT_DIR + TEST_DIR;
- fullDMLScriptName = HOME + TEST_NAME + ".dml";
- programArgs = new String[]{"-args", input("A"), input("B"),
- Integer.toString(type.ordinal()), output("C") };
-
- fullRScriptName = HOME + TEST_NAME + ".R";
- rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " + type.ordinal() + " " + expectedDir();
-
- //generate actual dataset
- double[][] A = getRandomMatrix(rows, cols, -10, 10, sparsityLeft, 7);
- writeInputMatrixWithMTD("A", A, true);
- double[][] B = getRandomMatrix(rows, cols, -15, 15, sparsityRight, 3);
- writeInputMatrixWithMTD("B", B, true);
-
- //run tests
- runTest(true, false, null, -1);
- runRScript(true);
-
- //compare matrices
- HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
- HashMap<CellIndex, Double> rfile = readRMatrixFromFS("C");
- TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
- }
- finally
- {
- rtplatform = platformOld;
- DMLScript.USE_LOCAL_SPARK_CONFIG = sparkConfigOld;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredScalarLeftTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredScalarLeftTest.java b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredScalarLeftTest.java
deleted file mode 100644
index 1ddf995..0000000
--- a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredScalarLeftTest.java
+++ /dev/null
@@ -1,437 +0,0 @@
-/*
- * 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.binary.matrix_full_other;
-
-import java.util.HashMap;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import org.apache.sysml.api.DMLScript.RUNTIME_PLATFORM;
-import org.apache.sysml.lops.LopProperties.ExecType;
-import org.apache.sysml.runtime.matrix.data.MatrixValue.CellIndex;
-import org.apache.sysml.test.integration.AutomatedTestBase;
-import org.apache.sysml.test.integration.TestConfiguration;
-import org.apache.sysml.test.utils.TestUtils;
-
-/**
- * The main purpose of this test is to verify the internal optimization regarding
- * sparse-safeness of ppred for various input combinations. (ppred is not sparse-safe
- * in general, but for certain instance involving 0 scalar it is).
- *
- * Furthermore, it is used to test all combinations of matrix-scalar, scalar-matrix
- * ppred operations in all execution types.
- *
- */
-public class FullPPredScalarLeftTest extends AutomatedTestBase
-{
-
- private final static String TEST_NAME1 = "PPredScalarLeftTest";
- private final static String TEST_DIR = "functions/binary/matrix_full_other/";
- private final static String TEST_CLASS_DIR = TEST_DIR + FullPPredScalarLeftTest.class.getSimpleName() + "/";
- private final static double eps = 1e-10;
-
- private final static int rows1 = 1072;
- private final static int cols1 = 1009;
-
- private final static double sparsity1 = 0.7;
- private final static double sparsity2 = 0.1;
-
- public enum Type{
- GREATER,
- LESS,
- EQUALS,
- NOT_EQUALS,
- GREATER_EQUALS,
- LESS_EQUALS,
- }
-
- @BeforeClass
- public static void init()
- {
- TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
- }
-
- @AfterClass
- public static void cleanUp()
- {
- if (TEST_CACHE_ENABLED) {
- TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
- }
- }
-
- @Override
- public void setUp()
- {
- addTestConfiguration( TEST_NAME1, new TestConfiguration(TEST_CLASS_DIR, TEST_NAME1, new String[] { "B" }) );
- if (TEST_CACHE_ENABLED) {
- setOutAndExpectedDeletionDisabled(true);
- }
- }
-
-
- @Test
- public void testPPredGreaterZeroDenseCP()
- {
- runPPredTest(Type.GREATER, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessZeroDenseCP()
- {
- runPPredTest(Type.LESS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsZeroDenseCP()
- {
- runPPredTest(Type.EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsZeroDenseCP()
- {
- runPPredTest(Type.NOT_EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsZeroDenseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsZeroDenseCP()
- {
- runPPredTest(Type.LESS_EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterNonZeroDenseCP()
- {
- runPPredTest(Type.GREATER, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessNonZeroDenseCP()
- {
- runPPredTest(Type.LESS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsNonZeroDenseCP()
- {
- runPPredTest(Type.EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsNonZeroDenseCP()
- {
- runPPredTest(Type.NOT_EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsNonZeroDenseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsNonZeroDenseCP()
- {
- runPPredTest(Type.LESS_EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterZeroSparseCP()
- {
- runPPredTest(Type.GREATER, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessZeroSparseCP()
- {
- runPPredTest(Type.LESS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsZeroSparseCP()
- {
- runPPredTest(Type.EQUALS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsZeroSparseCP()
- {
- runPPredTest(Type.NOT_EQUALS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsZeroSparseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsZeroSparseCP()
- {
- runPPredTest(Type.LESS_EQUALS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterNonZeroSparseCP()
- {
- runPPredTest(Type.GREATER, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessNonZeroSparseCP()
- {
- runPPredTest(Type.LESS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsNonZeroSparseCP()
- {
- runPPredTest(Type.EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsNonZeroSparseCP()
- {
- runPPredTest(Type.NOT_EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsNonZeroSparseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsNonZeroSparseCP()
- {
- runPPredTest(Type.LESS_EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterZeroDenseMR()
- {
- runPPredTest(Type.GREATER, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessZeroDenseMR()
- {
- runPPredTest(Type.LESS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsZeroDenseMR()
- {
- runPPredTest(Type.EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsZeroDenseMR()
- {
- runPPredTest(Type.NOT_EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsZeroDenseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsZeroDenseMR()
- {
- runPPredTest(Type.LESS_EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterNonZeroDenseMR()
- {
- runPPredTest(Type.GREATER, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessNonZeroDenseMR()
- {
- runPPredTest(Type.LESS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsNonZeroDenseMR()
- {
- runPPredTest(Type.EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsNonZeroDenseMR()
- {
- runPPredTest(Type.NOT_EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsNonZeroDenseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsNonZeroDenseMR()
- {
- runPPredTest(Type.LESS_EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterZeroSparseMR()
- {
- runPPredTest(Type.GREATER, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessZeroSparseMR()
- {
- runPPredTest(Type.LESS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsZeroSparseMR()
- {
- runPPredTest(Type.EQUALS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsZeroSparseMR()
- {
- runPPredTest(Type.NOT_EQUALS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsZeroSparseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsZeroSparseMR()
- {
- runPPredTest(Type.LESS_EQUALS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterNonZeroSparseMR()
- {
- runPPredTest(Type.GREATER, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessNonZeroSparseMR()
- {
- runPPredTest(Type.LESS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsNonZeroSparseMR()
- {
- runPPredTest(Type.EQUALS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsNonZeroSparseMR()
- {
- runPPredTest(Type.NOT_EQUALS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsNonZeroSparseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsNonZeroSparseMR()
- {
- runPPredTest(Type.LESS_EQUALS, false, true, ExecType.MR);
- }
-
-
- /**
- *
- * @param type
- * @param instType
- * @param sparse
- */
- private void runPPredTest( Type type, boolean zero, boolean sparse, ExecType et )
- {
- String TEST_NAME = TEST_NAME1;
- int rows = rows1;
- int cols = cols1;
- double sparsity = sparse ? sparsity2 : sparsity1;
- double constant = zero ? 0 : 0.5;
-
- String TEST_CACHE_DIR = "";
- if (TEST_CACHE_ENABLED) {
- TEST_CACHE_DIR = type.ordinal() + "_" + constant + "_" + sparsity + "/";
- }
-
- //rtplatform for MR
- RUNTIME_PLATFORM platformOld = rtplatform;
- rtplatform = (et==ExecType.MR) ? RUNTIME_PLATFORM.HADOOP : RUNTIME_PLATFORM.HYBRID;
-
- try
- {
- TestConfiguration config = getTestConfiguration(TEST_NAME);
-
- loadTestConfiguration(config, TEST_CACHE_DIR);
-
- /* This is for running the junit test the new way, i.e., construct the arguments directly */
- String HOME = SCRIPT_DIR + TEST_DIR;
- fullDMLScriptName = HOME + TEST_NAME + ".dml";
- programArgs = new String[]{"-explain","-args", input("A"),
- Integer.toString(type.ordinal()), Double.toString(constant), output("B") };
-
- fullRScriptName = HOME + TEST_NAME + ".R";
- rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " +
- type.ordinal() + " " + constant + " " + expectedDir();
-
- //generate actual dataset
- double[][] A = getRandomMatrix(rows, cols, -1, 1, sparsity, 7);
- writeInputMatrixWithMTD("A", A, true);
-
- //run tests
- runTest(true, false, null, -1);
- runRScript(true);
-
- //compare matrices
- HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
- HashMap<CellIndex, Double> rfile = readRMatrixFromFS("B");
- TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
- }
- finally
- {
- rtplatform = platformOld;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredScalarRightTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredScalarRightTest.java b/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredScalarRightTest.java
deleted file mode 100644
index 40139e0..0000000
--- a/src/test/java/org/apache/sysml/test/integration/functions/binary/matrix_full_other/FullPPredScalarRightTest.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/*
- * 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.binary.matrix_full_other;
-
-import java.util.HashMap;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import org.apache.sysml.api.DMLScript.RUNTIME_PLATFORM;
-import org.apache.sysml.lops.LopProperties.ExecType;
-import org.apache.sysml.runtime.matrix.data.MatrixValue.CellIndex;
-import org.apache.sysml.test.integration.AutomatedTestBase;
-import org.apache.sysml.test.integration.TestConfiguration;
-import org.apache.sysml.test.utils.TestUtils;
-
-/**
- * The main purpose of this test is to verify the internal optimization regarding
- * sparse-safeness of ppred for various input combinations. (ppred is not sparse-safe
- * in general, but for certain instance involving 0 scalar it is).
- *
- * Furthermore, it is used to test all combinations of matrix-scalar, scalar-matrix
- * ppred operations in all execution types.
- *
- */
-public class FullPPredScalarRightTest extends AutomatedTestBase
-{
-
- private final static String TEST_NAME1 = "PPredScalarRightTest";
- private final static String TEST_DIR = "functions/binary/matrix_full_other/";
- private final static String TEST_CLASS_DIR = TEST_DIR + FullPPredScalarRightTest.class.getSimpleName() + "/";
- private final static double eps = 1e-10;
-
- private final static int rows1 = 1072;
- private final static int cols1 = 1009;
-
- private final static double sparsity1 = 0.7;
- private final static double sparsity2 = 0.1;
-
- public enum Type{
- GREATER,
- LESS,
- EQUALS,
- NOT_EQUALS,
- GREATER_EQUALS,
- LESS_EQUALS,
- }
-
-
- @Override
- public void setUp()
- {
- addTestConfiguration( TEST_NAME1, new TestConfiguration(TEST_CLASS_DIR, TEST_NAME1, new String[] { "B" }) );
- if (TEST_CACHE_ENABLED) {
- setOutAndExpectedDeletionDisabled(true);
- }
- }
-
- @BeforeClass
- public static void init()
- {
- TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
- }
-
- @AfterClass
- public static void cleanUp()
- {
- if (TEST_CACHE_ENABLED) {
- TestUtils.clearDirectory(TEST_DATA_DIR + TEST_CLASS_DIR);
- }
- }
-
- @Test
- public void testPPredGreaterZeroDenseCP()
- {
- runPPredTest(Type.GREATER, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessZeroDenseCP()
- {
- runPPredTest(Type.LESS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsZeroDenseCP()
- {
- runPPredTest(Type.EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsZeroDenseCP()
- {
- runPPredTest(Type.NOT_EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsZeroDenseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsZeroDenseCP()
- {
- runPPredTest(Type.LESS_EQUALS, true, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterNonZeroDenseCP()
- {
- runPPredTest(Type.GREATER, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessNonZeroDenseCP()
- {
- runPPredTest(Type.LESS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsNonZeroDenseCP()
- {
- runPPredTest(Type.EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsNonZeroDenseCP()
- {
- runPPredTest(Type.NOT_EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsNonZeroDenseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsNonZeroDenseCP()
- {
- runPPredTest(Type.LESS_EQUALS, false, false, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterZeroSparseCP()
- {
- runPPredTest(Type.GREATER, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessZeroSparseCP()
- {
- runPPredTest(Type.LESS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsZeroSparseCP()
- {
- runPPredTest(Type.EQUALS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsZeroSparseCP()
- {
- runPPredTest(Type.NOT_EQUALS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsZeroSparseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsZeroSparseCP()
- {
- runPPredTest(Type.LESS_EQUALS, true, true, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterNonZeroSparseCP()
- {
- runPPredTest(Type.GREATER, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessNonZeroSparseCP()
- {
- runPPredTest(Type.LESS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredEqualsNonZeroSparseCP()
- {
- runPPredTest(Type.EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredNotEqualsNonZeroSparseCP()
- {
- runPPredTest(Type.NOT_EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterEqualsNonZeroSparseCP()
- {
- runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredLessEqualsNonZeroSparseCP()
- {
- runPPredTest(Type.LESS_EQUALS, false, true, ExecType.CP);
- }
-
- @Test
- public void testPPredGreaterZeroDenseMR()
- {
- runPPredTest(Type.GREATER, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessZeroDenseMR()
- {
- runPPredTest(Type.LESS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsZeroDenseMR()
- {
- runPPredTest(Type.EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsZeroDenseMR()
- {
- runPPredTest(Type.NOT_EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsZeroDenseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsZeroDenseMR()
- {
- runPPredTest(Type.LESS_EQUALS, true, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterNonZeroDenseMR()
- {
- runPPredTest(Type.GREATER, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessNonZeroDenseMR()
- {
- runPPredTest(Type.LESS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsNonZeroDenseMR()
- {
- runPPredTest(Type.EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsNonZeroDenseMR()
- {
- runPPredTest(Type.NOT_EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsNonZeroDenseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsNonZeroDenseMR()
- {
- runPPredTest(Type.LESS_EQUALS, false, false, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterZeroSparseMR()
- {
- runPPredTest(Type.GREATER, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessZeroSparseMR()
- {
- runPPredTest(Type.LESS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsZeroSparseMR()
- {
- runPPredTest(Type.EQUALS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsZeroSparseMR()
- {
- runPPredTest(Type.NOT_EQUALS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsZeroSparseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsZeroSparseMR()
- {
- runPPredTest(Type.LESS_EQUALS, true, true, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterNonZeroSparseMR()
- {
- runPPredTest(Type.GREATER, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessNonZeroSparseMR()
- {
- runPPredTest(Type.LESS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredEqualsNonZeroSparseMR()
- {
- runPPredTest(Type.EQUALS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredNotEqualsNonZeroSparseMR()
- {
- runPPredTest(Type.NOT_EQUALS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredGreaterEqualsNonZeroSparseMR()
- {
- runPPredTest(Type.GREATER_EQUALS, false, true, ExecType.MR);
- }
-
- @Test
- public void testPPredLessEqualsNonZeroSparseMR()
- {
- runPPredTest(Type.LESS_EQUALS, false, true, ExecType.MR);
- }
-
-
- /**
- *
- * @param type
- * @param instType
- * @param sparse
- */
- private void runPPredTest( Type type, boolean zero, boolean sparse, ExecType et )
- {
- String TEST_NAME = TEST_NAME1;
- int rows = rows1;
- int cols = cols1;
- double sparsity = sparse ? sparsity2 : sparsity1;
- double constant = zero ? 0 : 0.5;
-
- String TEST_CACHE_DIR = "";
- if (TEST_CACHE_ENABLED) {
- TEST_CACHE_DIR = type.ordinal() + "_" + constant + "_" + sparsity + "/";
- }
-
- //rtplatform for MR
- RUNTIME_PLATFORM platformOld = rtplatform;
- rtplatform = (et==ExecType.MR) ? RUNTIME_PLATFORM.HADOOP : RUNTIME_PLATFORM.HYBRID;
-
- try
- {
- TestConfiguration config = getTestConfiguration(TEST_NAME);
- loadTestConfiguration(config, TEST_CACHE_DIR);
-
- /* This is for running the junit test the new way, i.e., construct the arguments directly */
- String HOME = SCRIPT_DIR + TEST_DIR;
- fullDMLScriptName = HOME + TEST_NAME + ".dml";
- programArgs = new String[]{"-args", input("A"),
- Integer.toString(type.ordinal()), Double.toString(constant), output("B") };
-
- fullRScriptName = HOME + TEST_NAME + ".R";
- rCmd = "Rscript" + " " + fullRScriptName + " " + inputDir() + " " +
- type.ordinal() + " " + constant + " " + expectedDir();
-
- //generate actual dataset
- double[][] A = getRandomMatrix(rows, cols, -1, 1, sparsity, 7);
- writeInputMatrixWithMTD("A", A, true);
-
- //run tests
- runTest(true, false, null, -1);
- runRScript(true);
-
- //compare matrices
- HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
- HashMap<CellIndex, Double> rfile = readRMatrixFromFS("B");
- TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
- }
- finally
- {
- rtplatform = platformOld;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/java/org/apache/sysml/test/integration/functions/ternary/CTableMatrixIgnoreZerosTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/sysml/test/integration/functions/ternary/CTableMatrixIgnoreZerosTest.java b/src/test/java/org/apache/sysml/test/integration/functions/ternary/CTableMatrixIgnoreZerosTest.java
index 75c5330..14464bb 100644
--- a/src/test/java/org/apache/sysml/test/integration/functions/ternary/CTableMatrixIgnoreZerosTest.java
+++ b/src/test/java/org/apache/sysml/test/integration/functions/ternary/CTableMatrixIgnoreZerosTest.java
@@ -35,7 +35,7 @@ import org.apache.sysml.test.utils.TestUtils;
/**
* This test investigates the specific Hop-Lop rewrite for the following pattern:
*
- * IA = ppred (A, 0, "!=") * seq (1, nrow (A), 1);
+ * IA = (A != 0) * seq (1, nrow (A), 1);
* IA = matrix (IA, rows = (nrow (A) * ncol(A)), cols = 1, byrow = FALSE);
* VA = matrix ( A, rows = (nrow (A) * ncol(A)), cols = 1, byrow = FALSE);
* IA = removeEmpty (target = IA, margin = "rows");
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/scripts/applications/apply-transform/apply-transform.dml
----------------------------------------------------------------------
diff --git a/src/test/scripts/applications/apply-transform/apply-transform.dml b/src/test/scripts/applications/apply-transform/apply-transform.dml
index 5110cb0..2c9d0ca 100644
--- a/src/test/scripts/applications/apply-transform/apply-transform.dml
+++ b/src/test/scripts/applications/apply-transform/apply-transform.dml
@@ -119,8 +119,8 @@ parfor(i in 1:ncol(X), check=0){
# note that max_val entries will get assigned num_bins+1
col = round((col - min_val)/bin_width - 0.5) + 1
- less_than_lb = ppred(col, 1, "<")
- more_than_ub = ppred(col, num_bins, ">")
+ less_than_lb = (col < 1)
+ more_than_ub = (col > num_bins)
col = (1 - less_than_lb - more_than_ub)*col + more_than_ub*num_bins + less_than_lb
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/scripts/applications/apply-transform/apply-transform.pydml
----------------------------------------------------------------------
diff --git a/src/test/scripts/applications/apply-transform/apply-transform.pydml b/src/test/scripts/applications/apply-transform/apply-transform.pydml
index d528098..84d8779 100644
--- a/src/test/scripts/applications/apply-transform/apply-transform.pydml
+++ b/src/test/scripts/applications/apply-transform/apply-transform.pydml
@@ -116,8 +116,8 @@ parfor(i in 1:ncol(X), check=0):
# note that max_val entries will get assigned num_bins+1
col = round((col - min_val)/bin_width - 0.5) + 1
- less_than_lb = ppred(col, 1, "<")
- more_than_ub = ppred(col, num_bins, ">")
+ less_than_lb = (col < 1)
+ more_than_ub = (col > num_bins)
col = (1 - less_than_lb - more_than_ub)*col + more_than_ub*num_bins + less_than_lb
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/scripts/applications/arima_box-jenkins/arima.dml
----------------------------------------------------------------------
diff --git a/src/test/scripts/applications/arima_box-jenkins/arima.dml b/src/test/scripts/applications/arima_box-jenkins/arima.dml
index e21b75e..188aaa2 100644
--- a/src/test/scripts/applications/arima_box-jenkins/arima.dml
+++ b/src/test/scripts/applications/arima_box-jenkins/arima.dml
@@ -65,7 +65,7 @@ arima_css = function(Matrix[Double] w, Matrix[Double] X, Integer pIn, Integer P,
iter = 0
if(useJacobi == 1){
- check = sum(ppred(rowSums(abs(R)), 1, ">="))
+ check = sum(rowSums(abs(R)) >= 1)
if(check > 0){
print("R is not diagonal dominant. Suggest switching to an exact solver.")
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/scripts/applications/arima_box-jenkins/arima.pydml
----------------------------------------------------------------------
diff --git a/src/test/scripts/applications/arima_box-jenkins/arima.pydml b/src/test/scripts/applications/arima_box-jenkins/arima.pydml
index d1299c9..2546ec4 100644
--- a/src/test/scripts/applications/arima_box-jenkins/arima.pydml
+++ b/src/test/scripts/applications/arima_box-jenkins/arima.pydml
@@ -62,7 +62,7 @@ def arima_css(w:matrix[float], X:matrix[float], pIn: int, P: int, qIn: int, Q:in
iter = 0
if(useJacobi == 1):
- check = sum(ppred(rowSums(abs(R)), 1, ">="))
+ check = sum(rowSums(abs(R)) >= 1)
if(check > 0):
print("R is not diagonal dominant. Suggest switching to an exact solver.")
diff = tol+1.0
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/scripts/applications/cspline/CsplineCG.dml
----------------------------------------------------------------------
diff --git a/src/test/scripts/applications/cspline/CsplineCG.dml b/src/test/scripts/applications/cspline/CsplineCG.dml
index 2281270..8193561 100644
--- a/src/test/scripts/applications/cspline/CsplineCG.dml
+++ b/src/test/scripts/applications/cspline/CsplineCG.dml
@@ -167,7 +167,7 @@ interpSpline = function(
) return (double q) {
#first find the right knots for interpolation
- i = as.integer(nrow(X) - sum(ppred(X, x, ">=")) + 1)
+ i = as.integer(nrow(X) - sum(X >= x) + 1)
#calc the y as per the algo docs
t = (x - X[i-1,1]) / ( X[i,1] - X[i-1,1])
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/scripts/applications/cspline/CsplineCG.pydml
----------------------------------------------------------------------
diff --git a/src/test/scripts/applications/cspline/CsplineCG.pydml b/src/test/scripts/applications/cspline/CsplineCG.pydml
index 8e84f14..9451fb9 100644
--- a/src/test/scripts/applications/cspline/CsplineCG.pydml
+++ b/src/test/scripts/applications/cspline/CsplineCG.pydml
@@ -145,7 +145,7 @@ def calcKnotsDerivKs(X: matrix[float], Y: matrix[float], max_iteration: int, tol
def interpSpline(x: float, X: matrix[float], Y: matrix[float], K: matrix[float]) -> (q: float):
#first find the right knots for interpolation
- i = nrow(X) - sum(ppred(X, x, ">=")) + 1
+ i = nrow(X) - sum(X >= x) + 1
#calc the y as per the algo docs
t = (x - X[i-2,0]) / ( X[i-1,0] - X[i-2,0])
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/scripts/applications/cspline/CsplineDS.dml
----------------------------------------------------------------------
diff --git a/src/test/scripts/applications/cspline/CsplineDS.dml b/src/test/scripts/applications/cspline/CsplineDS.dml
index ff34b5e..d81c215 100644
--- a/src/test/scripts/applications/cspline/CsplineDS.dml
+++ b/src/test/scripts/applications/cspline/CsplineDS.dml
@@ -142,7 +142,7 @@ interpSpline = function(
) return (double q) {
#first find the right knots for interpolation
- i = as.integer(nrow(X) - sum(ppred(X, x, ">=")) + 1)
+ i = as.integer(nrow(X) - sum(X >= x) + 1)
#calc the y as per the algo docs
t = (x - X[i-1,1]) / ( X[i,1] - X[i-1,1])
http://git-wip-us.apache.org/repos/asf/systemml/blob/d30e1888/src/test/scripts/applications/cspline/CsplineDS.pydml
----------------------------------------------------------------------
diff --git a/src/test/scripts/applications/cspline/CsplineDS.pydml b/src/test/scripts/applications/cspline/CsplineDS.pydml
index dc16661..0efc681 100644
--- a/src/test/scripts/applications/cspline/CsplineDS.pydml
+++ b/src/test/scripts/applications/cspline/CsplineDS.pydml
@@ -124,7 +124,7 @@ def calcKnotsDerivKs(X: matrix[float], Y: matrix[float]) -> (K: matrix[float]):
def interpSpline(x: float, X: matrix[float], Y: matrix[float], K: matrix[float]) -> (q: float):
#first find the right knots for interpolation
- i = nrow(X) - sum(ppred(X, x, ">=")) + 1
+ i = nrow(X) - sum(X >= x) + 1
#calc the y as per the algo docs
t = (x - X[i-2,0]) / ( X[i-1,0] - X[i-2,0])