This is an automated email from the ASF dual-hosted git repository.
mboehm7 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/systemds.git
The following commit(s) were added to refs/heads/master by this push:
new d9a1f4d [SYSTEMDS-2576] Fix function dictionary (rat, parser, parfor,
tests)
d9a1f4d is described below
commit d9a1f4de84acc57d6728517b95c3b0300d86d0d7
Author: Matthias Boehm <[email protected]>
AuthorDate: Thu Jul 23 23:32:26 2020 +0200
[SYSTEMDS-2576] Fix function dictionary (rat, parser, parfor, tests)
This patch makes a couple of minor fixes to the recently reworked
function dictionary of optimized and unoptimized function statement
blocks and program blocks:
* Fixed RAT check: added license to new function dictionary
* Fixed the setup of parfor workers, which for special cases of
recursive functions, tried to redundantly bind functions to a function
name
* Fixed excessive test output of matrix.full_cellwise and other tests.
* Fixed parser handling of non-existing script files (avoid null pointer
exceptions)
* Fixed excessive recompilation overhead of unoptimized functions, but
applying the safe IPA pass for making recompile-once functions also over
all unoptimized functions
---
.../ipa/IPAPassFlagFunctionsRecompileOnce.java | 34 ++--
.../apache/sysds/parser/FunctionDictionary.java | 19 ++
.../sysds/parser/dml/DmlSyntacticValidator.java | 18 +-
.../sysds/runtime/util/ProgramConverter.java | 8 +-
.../FullMatrixMatrixCellwiseOperationTest.java | 226 +++++++--------------
.../FullMatrixVectorColCellwiseOperationTest.java | 10 +-
.../FullMatrixVectorRowCellwiseOperationTest.java | 3 +-
.../matrix_full_cellwise/FullMinus1MultTest.java | 6 +-
.../FullSortedOuterCompareTest.java | 2 +-
...llVectorVectorCellwiseCompareOperationTest.java | 6 +-
.../FullVectorVectorCellwiseOperationTest.java | 3 +-
.../functions/builtin/BuiltinHyperbandTest.java | 2 +-
.../functions/paramserv/ParamservLocalNNTest.java | 2 +-
.../paramserv/ParamservRecompilationTest.java | 2 +-
14 files changed, 145 insertions(+), 196 deletions(-)
diff --git
a/src/main/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.java
b/src/main/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.java
index 660fd88..c0cf6c7 100644
---
a/src/main/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.java
+++
b/src/main/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.java
@@ -19,10 +19,14 @@
package org.apache.sysds.hops.ipa;
+import java.util.Map;
+import java.util.Map.Entry;
+
import org.apache.sysds.conf.ConfigurationManager;
import org.apache.sysds.hops.HopsException;
import org.apache.sysds.parser.DMLProgram;
import org.apache.sysds.parser.ForStatementBlock;
+import org.apache.sysds.parser.FunctionDictionary;
import org.apache.sysds.parser.FunctionStatement;
import org.apache.sysds.parser.FunctionStatementBlock;
import org.apache.sysds.parser.IfStatement;
@@ -55,17 +59,23 @@ public class IPAPassFlagFunctionsRecompileOnce extends
IPAPass
return;
try {
- for (String namespaceKey :
prog.getNamespaces().keySet())
- for (String fname :
prog.getFunctionStatementBlocks(namespaceKey).keySet())
- {
- FunctionStatementBlock fsblock =
prog.getFunctionStatementBlock(namespaceKey,fname);
- if(
!fgraph.isRecursiveFunction(namespaceKey, fname) &&
- rFlagFunctionForRecompileOnce(
fsblock, false ) )
- {
- fsblock.setRecompileOnce( true
);
- if( LOG.isDebugEnabled() )
- LOG.debug("IPA: FUNC
flagged for recompile-once: " +
-
DMLProgram.constructFunctionKey(namespaceKey, fname));
+ // flag applicable functions for recompile-once, note
that this IPA pass
+ // is applied to both 'optimized' and 'unoptimized'
functions because this
+ // pass is safe wrt correctness, and crucial for
performance of mini-batch
+ // algorithms in parameter servers that internally call
'unoptimized' functions
+ for(
Entry<String,FunctionDictionary<FunctionStatementBlock>> e :
prog.getNamespaces().entrySet() )
+ for( boolean opt : new boolean[]{true, false} )
{ //optimized/unoptimized
+ Map<String, FunctionStatementBlock> map
= e.getValue().getFunctions(opt);
+ if( map == null ) continue;
+
for(Entry<String,FunctionStatementBlock> ef: map.entrySet() ) {
+ FunctionStatementBlock fsblock
= ef.getValue();
+ if(
!fgraph.isRecursiveFunction(e.getKey(), ef.getKey()) &&
+
rFlagFunctionForRecompileOnce( fsblock, false ) ) {
+
fsblock.setRecompileOnce( true );
+ if(
LOG.isDebugEnabled() )
+ LOG.debug("IPA:
FUNC flagged for recompile-once: " +
+
DMLProgram.constructFunctionKey(e.getKey(), ef.getKey()));
+ }
}
}
}
@@ -90,7 +100,7 @@ public class IPAPassFlagFunctionsRecompileOnce extends
IPAPass
FunctionStatementBlock fsb = (FunctionStatementBlock)sb;
FunctionStatement fstmt =
(FunctionStatement)fsb.getStatement(0);
for( StatementBlock c : fstmt.getBody() )
- ret |= rFlagFunctionForRecompileOnce( c, inLoop
);
+ ret |= rFlagFunctionForRecompileOnce( c, inLoop
);
}
else if (sb instanceof WhileStatementBlock) {
//recompilation information not available at this point
diff --git a/src/main/java/org/apache/sysds/parser/FunctionDictionary.java
b/src/main/java/org/apache/sysds/parser/FunctionDictionary.java
index e8dc48e..0f6ae5e 100644
--- a/src/main/java/org/apache/sysds/parser/FunctionDictionary.java
+++ b/src/main/java/org/apache/sysds/parser/FunctionDictionary.java
@@ -1,3 +1,22 @@
+/*
+ * 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.sysds.parser;
import java.util.HashMap;
diff --git
a/src/main/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.java
b/src/main/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.java
index d781412..0f33803 100644
--- a/src/main/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.java
+++ b/src/main/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.java
@@ -1151,14 +1151,16 @@ public class DmlSyntacticValidator implements
DmlListener {
protected void setupContextInfo(StatementInfo info, String namespace,
String filePath, String filePath2, DMLProgram prog ) {
info.namespaces = new HashMap<>();
- info.namespaces.put(getQualifiedNamespace(namespace),
prog.getDefaultFunctionDictionary());
- for( Entry<String, FunctionDictionary<FunctionStatementBlock>>
e : prog.getNamespaces().entrySet() )
- info.namespaces.put(getQualifiedNamespace(e.getKey()),
e.getValue());
- ImportStatement istmt = new ImportStatement();
- istmt.setCompletePath(filePath);
- istmt.setFilename(filePath2);
- istmt.setNamespace(namespace);
- info.stmt = istmt;
+ if(prog != null) {
+ info.namespaces.put(getQualifiedNamespace(namespace),
prog.getDefaultFunctionDictionary());
+ for( Entry<String,
FunctionDictionary<FunctionStatementBlock>> e : prog.getNamespaces().entrySet()
)
+
info.namespaces.put(getQualifiedNamespace(e.getKey()), e.getValue());
+ ImportStatement istmt = new ImportStatement();
+ istmt.setCompletePath(filePath);
+ istmt.setFilename(filePath2);
+ istmt.setNamespace(namespace);
+ info.stmt = istmt;
+ }
}
protected void setFileLineColumn(Expression expr, ParserRuleContext
ctx) {
diff --git a/src/main/java/org/apache/sysds/runtime/util/ProgramConverter.java
b/src/main/java/org/apache/sysds/runtime/util/ProgramConverter.java
index c2777fb..38fc256 100644
--- a/src/main/java/org/apache/sysds/runtime/util/ProgramConverter.java
+++ b/src/main/java/org/apache/sysds/runtime/util/ProgramConverter.java
@@ -402,9 +402,11 @@ public class ProgramConverter
//copy.setVariables( (LocalVariableMap) fpb.getVariables() );
//implicit cloning
//note: instructions not used by function program block
- //put
- prog.addFunctionProgramBlock(namespace, fnameNew, copy);
- fnCreated.add(DMLProgram.constructFunctionKey(namespace,
fnameNew));
+ //put if not existing (recursive processing might have added it)
+ if( !prog.getFunctionProgramBlocks().containsKey(fnameNewKey) )
{
+ prog.addFunctionProgramBlock(namespace, fnameNew, copy);
+
fnCreated.add(DMLProgram.constructFunctionKey(namespace, fnameNew));
+ }
}
public static FunctionProgramBlock
createDeepCopyFunctionProgramBlock(FunctionProgramBlock fpb, Set<String>
fnStack, Set<String> fnCreated)
diff --git
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixMatrixCellwiseOperationTest.java
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixMatrixCellwiseOperationTest.java
index b02c970..30d9e65 100644
---
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixMatrixCellwiseOperationTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixMatrixCellwiseOperationTest.java
@@ -34,7 +34,6 @@ import org.apache.sysds.test.TestUtils;
public class FullMatrixMatrixCellwiseOperationTest extends AutomatedTestBase
{
-
private final static String TEST_NAME1 =
"FullMatrixCellwiseOperation_Addition";
private final static String TEST_NAME2 =
"FullMatrixCellwiseOperation_Substraction";
private final static String TEST_NAME3 =
"FullMatrixCellwiseOperation_Multiplication";
@@ -82,8 +81,7 @@ public class FullMatrixMatrixCellwiseOperationTest extends
AutomatedTestBase
}
@AfterClass
- public static void cleanUp()
- {
+ public static void cleanUp() {
if (TEST_CACHE_ENABLED) {
TestUtils.clearDirectory(TEST_DATA_DIR +
TEST_CLASS_DIR);
}
@@ -92,437 +90,364 @@ public class FullMatrixMatrixCellwiseOperationTest
extends AutomatedTestBase
// ----------------
@Test
- public void testAdditionDenseDenseSP()
- {
+ public void testAdditionDenseDenseSP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.DENSE, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testAdditionDenseSparseSP()
- {
+ public void testAdditionDenseSparseSP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.DENSE, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testAdditionDenseEmptySP()
- {
+ public void testAdditionDenseEmptySP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.DENSE, SparsityType.EMPTY, ExecType.SPARK);
}
@Test
- public void testAdditionSparseDenseSP()
- {
+ public void testAdditionSparseDenseSP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.SPARSE, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testAdditionSparseSparseSP()
- {
+ public void testAdditionSparseSparseSP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.SPARSE, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testAdditionSparseEmptySP()
- {
+ public void testAdditionSparseEmptySP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.SPARSE, SparsityType.EMPTY, ExecType.SPARK);
}
@Test
- public void testAdditionEmptyDenseSP()
- {
+ public void testAdditionEmptyDenseSP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.EMPTY, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testAdditionEmptySparseSP()
- {
+ public void testAdditionEmptySparseSP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.EMPTY, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testAdditionEmptyEmptySP()
- {
+ public void testAdditionEmptyEmptySP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.EMPTY, SparsityType.EMPTY, ExecType.SPARK);
}
@Test
- public void testSubtractionDenseDenseSP()
- {
+ public void testSubtractionDenseDenseSP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.DENSE, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testSubtractionDenseSparseSP()
- {
+ public void testSubtractionDenseSparseSP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.DENSE, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testSubtractionDenseEmptySP()
- {
+ public void testSubtractionDenseEmptySP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.DENSE, SparsityType.EMPTY, ExecType.SPARK);
}
@Test
- public void testSubtractionSparseDenseSP()
- {
+ public void testSubtractionSparseDenseSP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.SPARSE, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testSubtractionSparseSparseSP()
- {
+ public void testSubtractionSparseSparseSP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.SPARSE, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testSubtractionSparseEmptySP()
- {
+ public void testSubtractionSparseEmptySP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.SPARSE, SparsityType.EMPTY, ExecType.SPARK);
}
@Test
- public void testSubtractionEmptyDenseSP()
- {
+ public void testSubtractionEmptyDenseSP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.EMPTY, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testSubtractionEmptySparseSP()
- {
+ public void testSubtractionEmptySparseSP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.EMPTY, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testSubtractionEmptyEmptySP()
- {
+ public void testSubtractionEmptyEmptySP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.EMPTY, SparsityType.EMPTY, ExecType.SPARK);
}
@Test
- public void testMultiplicationDenseDenseSP()
- {
+ public void testMultiplicationDenseDenseSP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.DENSE, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testMultiplicationDenseSparseSP()
- {
+ public void testMultiplicationDenseSparseSP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.DENSE, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testMultiplicationDenseEmptySP()
- {
+ public void testMultiplicationDenseEmptySP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.DENSE, SparsityType.EMPTY, ExecType.SPARK);
}
@Test
- public void testMultiplicationSparseDenseSP()
- {
+ public void testMultiplicationSparseDenseSP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.SPARSE, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testMultiplicationSparseSparseSP()
- {
+ public void testMultiplicationSparseSparseSP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.SPARSE, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testMultiplicationSparseEmptySP()
- {
+ public void testMultiplicationSparseEmptySP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.SPARSE, SparsityType.EMPTY, ExecType.SPARK);
}
@Test
- public void testMultiplicationEmptyDenseSP()
- {
+ public void testMultiplicationEmptyDenseSP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.EMPTY, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testMultiplicationEmptySparseSP()
- {
+ public void testMultiplicationEmptySparseSP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.EMPTY, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testMultiplicationEmptyEmptySP()
- {
+ public void testMultiplicationEmptyEmptySP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.EMPTY, SparsityType.EMPTY, ExecType.SPARK);
}
@Test
- public void testDivisionDenseDenseSP()
- {
+ public void testDivisionDenseDenseSP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.DENSE, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testDivisionDenseSparseSP()
- {
+ public void testDivisionDenseSparseSP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.DENSE, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testDivisionDenseEmptySP()
- {
+ public void testDivisionDenseEmptySP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.DENSE, SparsityType.EMPTY, ExecType.SPARK);
}
@Test
- public void testDivisionSparseDenseSP()
- {
+ public void testDivisionSparseDenseSP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.SPARSE, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testDivisionSparseSparseSP()
- {
+ public void testDivisionSparseSparseSP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.SPARSE, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testDivisionSparseEmptySP()
- {
+ public void testDivisionSparseEmptySP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.SPARSE, SparsityType.EMPTY, ExecType.SPARK);
}
@Test
- public void testDivisionEmptyDenseSP()
- {
+ public void testDivisionEmptyDenseSP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.EMPTY, SparsityType.DENSE, ExecType.SPARK);
}
@Test
- public void testDivisionEmptySparseSP()
- {
+ public void testDivisionEmptySparseSP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.EMPTY, SparsityType.SPARSE, ExecType.SPARK);
}
@Test
- public void testDivisionEmptyEmptySP()
- {
+ public void testDivisionEmptyEmptySP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.EMPTY, SparsityType.EMPTY, ExecType.SPARK);
}
// ----------------
@Test
- public void testAdditionDenseDenseCP()
- {
+ public void testAdditionDenseDenseCP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.DENSE, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testAdditionDenseSparseCP()
- {
+ public void testAdditionDenseSparseCP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.DENSE, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testAdditionDenseEmptyCP()
- {
+ public void testAdditionDenseEmptyCP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.DENSE, SparsityType.EMPTY, ExecType.CP);
}
@Test
- public void testAdditionSparseDenseCP()
- {
+ public void testAdditionSparseDenseCP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.SPARSE, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testAdditionSparseSparseCP()
- {
+ public void testAdditionSparseSparseCP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.SPARSE, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testAdditionSparseEmptyCP()
- {
+ public void testAdditionSparseEmptyCP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.SPARSE, SparsityType.EMPTY, ExecType.CP);
}
@Test
- public void testAdditionEmptyDenseCP()
- {
+ public void testAdditionEmptyDenseCP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.EMPTY, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testAdditionEmptySparseCP()
- {
+ public void testAdditionEmptySparseCP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.EMPTY, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testAdditionEmptyEmptyCP()
- {
+ public void testAdditionEmptyEmptyCP() {
runMatrixCellwiseOperationTest(OpType.ADDITION,
SparsityType.EMPTY, SparsityType.EMPTY, ExecType.CP);
}
@Test
- public void testSubtractionDenseDenseCP()
- {
+ public void testSubtractionDenseDenseCP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.DENSE, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testSubtractionDenseSparseCP()
- {
+ public void testSubtractionDenseSparseCP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.DENSE, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testSubtractionDenseEmptyCP()
- {
+ public void testSubtractionDenseEmptyCP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.DENSE, SparsityType.EMPTY, ExecType.CP);
}
@Test
- public void testSubtractionSparseDenseCP()
- {
+ public void testSubtractionSparseDenseCP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.SPARSE, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testSubtractionSparseSparseCP()
- {
+ public void testSubtractionSparseSparseCP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.SPARSE, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testSubtractionSparseEmptyCP()
- {
+ public void testSubtractionSparseEmptyCP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.SPARSE, SparsityType.EMPTY, ExecType.CP);
}
@Test
- public void testSubtractionEmptyDenseCP()
- {
+ public void testSubtractionEmptyDenseCP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.EMPTY, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testSubtractionEmptySparseCP()
- {
+ public void testSubtractionEmptySparseCP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.EMPTY, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testSubtractionEmptyEmptyCP()
- {
+ public void testSubtractionEmptyEmptyCP() {
runMatrixCellwiseOperationTest(OpType.SUBTRACTION,
SparsityType.EMPTY, SparsityType.EMPTY, ExecType.CP);
}
@Test
- public void testMultiplicationDenseDenseCP()
- {
+ public void testMultiplicationDenseDenseCP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.DENSE, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testMultiplicationDenseSparseCP()
- {
+ public void testMultiplicationDenseSparseCP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.DENSE, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testMultiplicationDenseEmptyCP()
- {
+ public void testMultiplicationDenseEmptyCP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.DENSE, SparsityType.EMPTY, ExecType.CP);
}
@Test
- public void testMultiplicationSparseDenseCP()
- {
+ public void testMultiplicationSparseDenseCP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.SPARSE, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testMultiplicationSparseSparseCP()
- {
+ public void testMultiplicationSparseSparseCP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.SPARSE, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testMultiplicationSparseEmptyCP()
- {
+ public void testMultiplicationSparseEmptyCP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.SPARSE, SparsityType.EMPTY, ExecType.CP);
}
@Test
- public void testMultiplicationEmptyDenseCP()
- {
+ public void testMultiplicationEmptyDenseCP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.EMPTY, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testMultiplicationEmptySparseCP()
- {
+ public void testMultiplicationEmptySparseCP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.EMPTY, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testMultiplicationEmptyEmptyCP()
- {
+ public void testMultiplicationEmptyEmptyCP() {
runMatrixCellwiseOperationTest(OpType.MULTIPLICATION,
SparsityType.EMPTY, SparsityType.EMPTY, ExecType.CP);
}
-
@Test
- public void testDivisionDenseDenseCP()
- {
+ public void testDivisionDenseDenseCP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.DENSE, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testDivisionDenseSparseCP()
- {
+ public void testDivisionDenseSparseCP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.DENSE, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testDivisionDenseEmptyCP()
- {
+ public void testDivisionDenseEmptyCP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.DENSE, SparsityType.EMPTY, ExecType.CP);
}
@Test
- public void testDivisionSparseDenseCP()
- {
+ public void testDivisionSparseDenseCP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.SPARSE, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testDivisionSparseSparseCP()
- {
+ public void testDivisionSparseSparseCP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.SPARSE, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testDivisionSparseEmptyCP()
- {
+ public void testDivisionSparseEmptyCP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.SPARSE, SparsityType.EMPTY, ExecType.CP);
}
@Test
- public void testDivisionEmptyDenseCP()
- {
+ public void testDivisionEmptyDenseCP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.EMPTY, SparsityType.DENSE, ExecType.CP);
}
@Test
- public void testDivisionEmptySparseCP()
- {
+ public void testDivisionEmptySparseCP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.EMPTY, SparsityType.SPARSE, ExecType.CP);
}
@Test
- public void testDivisionEmptyEmptyCP()
- {
+ public void testDivisionEmptyEmptyCP() {
runMatrixCellwiseOperationTest(OpType.DIVISION,
SparsityType.EMPTY, SparsityType.EMPTY, ExecType.CP);
}
@@ -577,7 +502,7 @@ public class FullMatrixMatrixCellwiseOperationTest extends
AutomatedTestBase
/* 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",
+ programArgs = new String[]{"-args",
input("A"), Integer.toString(rows),
Integer.toString(cols),
input("B"), Integer.toString(rows),
Integer.toString(cols),
output("C") };
@@ -618,8 +543,7 @@ public class FullMatrixMatrixCellwiseOperationTest extends
AutomatedTestBase
compareResults();
}
}
- finally
- {
+ finally {
rtplatform = platformOld;
DMLScript.USE_LOCAL_SPARK_CONFIG = sparkConfigOld;
}
diff --git
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorColCellwiseOperationTest.java
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorColCellwiseOperationTest.java
index 77c5b61..fcf2c2c 100644
---
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorColCellwiseOperationTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorColCellwiseOperationTest.java
@@ -34,7 +34,6 @@ import org.apache.sysds.test.TestUtils;
public class FullMatrixVectorColCellwiseOperationTest extends
AutomatedTestBase
{
-
private final static String TEST_NAME1 =
"FullMatrixVectorColCellwiseOperation_Addition";
private final static String TEST_NAME2 =
"FullMatrixVectorColCellwiseOperation_Substraction";
private final static String TEST_NAME3 =
"FullMatrixVectorColCellwiseOperation_Multiplication";
@@ -578,7 +577,7 @@ public class FullMatrixVectorColCellwiseOperationTest
extends AutomatedTestBase
/* 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","recompile_runtime","-args",
+ programArgs = new String[]{"-args",
input("A"), input("B"), output("C") };
fullRScriptName = HOME + TEST_NAME + ".R";
@@ -617,10 +616,9 @@ public class FullMatrixVectorColCellwiseOperationTest
extends AutomatedTestBase
compareResults();
}
}
- finally
- {
+ finally {
rtplatform = platformOld;
DMLScript.USE_LOCAL_SPARK_CONFIG = sparkConfigOld;
}
- }
-}
\ No newline at end of file
+ }
+}
diff --git
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorRowCellwiseOperationTest.java
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorRowCellwiseOperationTest.java
index cbb4753..0e05fdf 100644
---
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorRowCellwiseOperationTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorRowCellwiseOperationTest.java
@@ -34,7 +34,6 @@ import org.apache.sysds.test.TestUtils;
public class FullMatrixVectorRowCellwiseOperationTest extends
AutomatedTestBase
{
-
private final static String TEST_NAME1 =
"FullMatrixVectorRowCellwiseOperation_Addition";
private final static String TEST_NAME2 =
"FullMatrixVectorRowCellwiseOperation_Substraction";
private final static String TEST_NAME3 =
"FullMatrixVectorRowCellwiseOperation_Multiplication";
@@ -578,7 +577,7 @@ public class FullMatrixVectorRowCellwiseOperationTest
extends AutomatedTestBase
/* 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","recompile_runtime","-args",
+ programArgs = new String[]{"-args",
input("A"), input("B"), output("C") };
fullRScriptName = HOME + TEST_NAME + ".R";
diff --git
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMinus1MultTest.java
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMinus1MultTest.java
index 7d13757..0b5c273 100644
---
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMinus1MultTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMinus1MultTest.java
@@ -33,12 +33,8 @@ import org.apache.sysds.test.TestConfiguration;
import org.apache.sysds.test.TestUtils;
import org.apache.sysds.utils.Statistics;
-/**
- *
- *
- */
public class FullMinus1MultTest extends AutomatedTestBase
-{
+{
private final static String TEST_NAME = "Minus1MultTest";
private final static String TEST_DIR =
"functions/binary/matrix_full_cellwise/";
private final static String TEST_CLASS_DIR = TEST_DIR +
FullMinus1MultTest.class.getSimpleName() + "/";
diff --git
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullSortedOuterCompareTest.java
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullSortedOuterCompareTest.java
index a11c186..d199c65 100644
---
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullSortedOuterCompareTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullSortedOuterCompareTest.java
@@ -124,7 +124,7 @@ public class FullSortedOuterCompareTest extends
AutomatedTestBase
String HOME = SCRIPT_DIR + TEST_DIR;
fullDMLScriptName = HOME + TEST_NAME + ".dml";
- programArgs = new String[]{"-explain",
"recompile_runtime", "-args",
+ programArgs = new String[]{"-args",
String.valueOf(rows1), otype, output("C") };
fullRScriptName = HOME + TEST_NAME + ".R";
diff --git
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseCompareOperationTest.java
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseCompareOperationTest.java
index c34d141..85c1eec 100644
---
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseCompareOperationTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseCompareOperationTest.java
@@ -195,7 +195,7 @@ public class FullVectorVectorCellwiseCompareOperationTest
extends AutomatedTestB
String HOME = SCRIPT_DIR + TEST_DIR;
fullDMLScriptName = HOME + TEST_NAME + ".dml";
- programArgs = new String[]{"-stats",
"-explain","recompile_runtime","-args",
+ programArgs = new String[]{"-stats", "-args",
input("A"), input("B"), opcode, output("C") };
fullRScriptName = HOME + TEST_NAME + ".R";
@@ -237,5 +237,5 @@ public class FullVectorVectorCellwiseCompareOperationTest
extends AutomatedTestB
rtplatform = platformOld;
DMLScript.USE_LOCAL_SPARK_CONFIG = sparkConfigOld;
}
- }
-}
\ No newline at end of file
+ }
+}
diff --git
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseOperationTest.java
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseOperationTest.java
index d2e0439..7567692 100644
---
a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseOperationTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseOperationTest.java
@@ -39,7 +39,6 @@ import org.apache.sysds.test.TestUtils;
*/
public class FullVectorVectorCellwiseOperationTest extends AutomatedTestBase
{
-
private final static String TEST_NAME =
"FullVectorVectorCellwiseOperation";
private final static String TEST_DIR =
"functions/binary/matrix_full_cellwise/";
private final static String TEST_CLASS_DIR = TEST_DIR +
FullVectorVectorCellwiseOperationTest.class.getSimpleName() + "/";
@@ -572,7 +571,7 @@ public class FullVectorVectorCellwiseOperationTest extends
AutomatedTestBase
String HOME = SCRIPT_DIR + TEST_DIR;
fullDMLScriptName = HOME + TEST_NAME + ".dml";
- programArgs = new String[]{"-explain",
"recompile_runtime", "-args",
+ programArgs = new String[]{"-args",
input("A"), input("B"), opcode, output("C") };
fullRScriptName = HOME + TEST_NAME + ".R";
diff --git
a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinHyperbandTest.java
b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinHyperbandTest.java
index e32623a..80793c6 100644
---
a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinHyperbandTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinHyperbandTest.java
@@ -59,7 +59,7 @@ public class BuiltinHyperbandTest extends AutomatedTestBase
String HOME = SCRIPT_DIR + TEST_DIR;
fullDMLScriptName = HOME + TEST_NAME + ".dml";
- programArgs = new String[] {"-args", input("X"),
input("y"), output("R")};
+ programArgs = new String[] {"-stats","-args",
input("X"), input("y"), output("R")};
double[][] X = getRandomMatrix(rows, cols, 0, 1, 0.8,
3);
double[][] y = getRandomMatrix(rows, 1, 0, 1, 0.8, 7);
writeInputMatrixWithMTD("X", X, true);
diff --git
a/src/test/java/org/apache/sysds/test/functions/paramserv/ParamservLocalNNTest.java
b/src/test/java/org/apache/sysds/test/functions/paramserv/ParamservLocalNNTest.java
index fb0d7a7..0e2f957 100644
---
a/src/test/java/org/apache/sysds/test/functions/paramserv/ParamservLocalNNTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/paramserv/ParamservLocalNNTest.java
@@ -75,7 +75,7 @@ public class ParamservLocalNNTest extends AutomatedTestBase {
private void runDMLTest(int epochs, int workers, Statement.PSUpdateType
utype, Statement.PSFrequency freq, int batchsize, Statement.PSScheme scheme) {
TestConfiguration config =
getTestConfiguration(ParamservLocalNNTest.TEST_NAME);
loadTestConfiguration(config);
- programArgs = new String[] { "-explain", "-stats", "-nvargs",
"mode=LOCAL", "epochs=" + epochs,
+ programArgs = new String[] { "-stats", "-nvargs", "mode=LOCAL",
"epochs=" + epochs,
"workers=" + workers, "utype=" + utype, "freq=" + freq,
"batchsize=" + batchsize,
"scheme=" + scheme };
String HOME = SCRIPT_DIR + TEST_DIR;
diff --git
a/src/test/java/org/apache/sysds/test/functions/paramserv/ParamservRecompilationTest.java
b/src/test/java/org/apache/sysds/test/functions/paramserv/ParamservRecompilationTest.java
index b556c31..9968d4f 100644
---
a/src/test/java/org/apache/sysds/test/functions/paramserv/ParamservRecompilationTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/paramserv/ParamservRecompilationTest.java
@@ -45,7 +45,7 @@ public class ParamservRecompilationTest extends
AutomatedTestBase {
private void runDMLTest(String testname, boolean exceptionExpected,
Class<?> exceptionClass, String errmsg) {
TestConfiguration config = getTestConfiguration(testname);
loadTestConfiguration(config);
- programArgs = new String[] { "-explain" };
+ programArgs = new String[] { "-explain", "-stats" };
fullDMLScriptName = HOME + testname + ".dml";
runTest(true, exceptionExpected, exceptionClass, errmsg, -1);
}