You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemds.apache.org by ja...@apache.org on 2021/11/28 19:00:37 UTC
[systemds] branch main updated (39f0a32 -> d8dd694)
This is an automated email from the ASF dual-hosted git repository.
janardhan pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git.
from 39f0a32 [MINOR] Reverse last #1465 for the tests to pass (#1466)
new b112b28 [SYSTEMDS-3020] Initial GPU junit tests
new d8dd694 [MINOR] Various unit test related small corrections and improvements
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
pom.xml | 10 +-
.../org/apache/sysds/test/AutomatedTestBase.java | 4 +-
.../sysds/test/functions/dnn/Conv2DTest.java | 2 +-
.../test/gpu/BuiltinUnaryGPUInstructionTest.java | 333 +++++++++++++++++++++
.../sysds/test/gpu/codegen/CellwiseTmplTest.java | 90 ++++++
.../sysds/test/gpu/codegen/RowAggTmplTest.java | 129 ++++++++
6 files changed, 563 insertions(+), 5 deletions(-)
create mode 100644 src/test/java/org/apache/sysds/test/gpu/BuiltinUnaryGPUInstructionTest.java
create mode 100644 src/test/java/org/apache/sysds/test/gpu/codegen/CellwiseTmplTest.java
create mode 100644 src/test/java/org/apache/sysds/test/gpu/codegen/RowAggTmplTest.java
[systemds] 02/02: [MINOR] Various unit test related small corrections and improvements
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
janardhan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git
commit d8dd694e723b3f71709812606a43677dce07b5af
Author: Mark Dokter <ma...@dokter.cc>
AuthorDate: Mon Jun 14 13:32:58 2021 +0200
[MINOR] Various unit test related small corrections and improvements
* Move some maven surefire plugin settings to the properties section (with same defaults as before) to make them settable from command line (need to reduce thread count for GPU tests)
* provide an integer when appending "-stats" to a test run (used to crash some tests without it)
* Conv2DTest requests "recompile_runtime" explain mode without adding "-explain" so output would not print
Closes #1317.
---
pom.xml | 10 +++++++---
src/test/java/org/apache/sysds/test/AutomatedTestBase.java | 4 +++-
.../java/org/apache/sysds/test/functions/dnn/Conv2DTest.java | 2 +-
3 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/pom.xml b/pom.xml
index b7c64c0..c372542 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,6 +53,9 @@
<java.level>1.8</java.level>
<!-->Testing settings<!-->
<maven.test.skip>true</maven.test.skip>
+ <test-parallel>classes</test-parallel>
+ <test-threadCount>2</test-threadCount>
+ <test-forkCount>1C</test-forkCount>
<rerun.failing.tests.count>2</rerun.failing.tests.count>
<jacoco.skip>true</jacoco.skip>
<jacoco.include>**</jacoco.include>
@@ -294,9 +297,10 @@
<version>3.0.0-M5</version>
<configuration>
<skipTests>${maven.test.skip}</skipTests>
- <parallel>classes</parallel>
- <threadCount>2</threadCount>
- <forkCount>1C</forkCount>
+ <parallel>${test-parallel}</parallel>
+ <threadCount>${test-threadCount}</threadCount>
+ <!-- 1C means the number of threads times 1 possible maximum forks for testing-->
+ <forkCount>${test-forkCount}</forkCount>
<reuseForks>false</reuseForks>
<reportFormat>brief</reportFormat>
<trimStackTrace>true</trimStackTrace>
diff --git a/src/test/java/org/apache/sysds/test/AutomatedTestBase.java b/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
index 6b21cd6..41ba0f5 100644
--- a/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
+++ b/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
@@ -1522,8 +1522,10 @@ public abstract class AutomatedTestBase {
if(TEST_GPU)
args.add("-gpu");
- if(VERBOSE_STATS)
+ if(VERBOSE_STATS) {
args.add("-stats");
+ args.add("100");
+ }
}
public static int getRandomAvailablePort() {
diff --git a/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DTest.java b/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DTest.java
index 5921e44..176ad87 100644
--- a/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DTest.java
@@ -269,7 +269,7 @@ public class Conv2DTest extends AutomatedTestBase
String RI_HOME = SCRIPT_DIR + TEST_DIR;
fullDMLScriptName = RI_HOME + TEST_NAME + ".dml";
- programArgs = new String[] {"recompile_runtime", "-args",
+ programArgs = new String[] {"-explain", "recompile_runtime", "-args",
String.valueOf(imgSize), String.valueOf(numImg),
String.valueOf(numChannels), String.valueOf(numFilters),
String.valueOf(filterSize), String.valueOf(stride), String.valueOf(pad),
[systemds] 01/02: [SYSTEMDS-3020] Initial GPU junit tests
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
janardhan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git
commit b112b2879876f9a878df3e268697cbe6a7ce3597
Author: Mark Dokter <ma...@dokter.cc>
AuthorDate: Fri Jun 11 14:06:24 2021 +0200
[SYSTEMDS-3020] Initial GPU junit tests
This commit is part of the GPU test suite epic [SYSTEMDS-3019] and introduces:
* the gpu test java package
* tests for cellwise/rowwise codegen
* test for unary builtin functions (incomplete)
---
.../test/gpu/BuiltinUnaryGPUInstructionTest.java | 333 +++++++++++++++++++++
.../sysds/test/gpu/codegen/CellwiseTmplTest.java | 90 ++++++
.../sysds/test/gpu/codegen/RowAggTmplTest.java | 129 ++++++++
3 files changed, 552 insertions(+)
diff --git a/src/test/java/org/apache/sysds/test/gpu/BuiltinUnaryGPUInstructionTest.java b/src/test/java/org/apache/sysds/test/gpu/BuiltinUnaryGPUInstructionTest.java
new file mode 100644
index 0000000..9dff827
--- /dev/null
+++ b/src/test/java/org/apache/sysds/test/gpu/BuiltinUnaryGPUInstructionTest.java
@@ -0,0 +1,333 @@
+/*
+ * 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.test.gpu;
+
+import org.apache.sysds.test.AutomatedTestBase;
+import org.apache.sysds.test.functions.builtin.BuiltinSigmoidTest;
+import org.apache.sysds.test.functions.unary.matrix.ACosTest;
+import org.apache.sysds.test.functions.unary.matrix.ASinTest;
+import org.apache.sysds.test.functions.unary.matrix.ATanTest;
+import org.apache.sysds.test.functions.unary.matrix.AbsTest;
+import org.apache.sysds.test.functions.unary.matrix.CosTest;
+import org.apache.sysds.test.functions.unary.matrix.FullCummaxTest;
+import org.apache.sysds.test.functions.unary.matrix.FullCumminTest;
+import org.apache.sysds.test.functions.unary.matrix.FullCumprodTest;
+import org.apache.sysds.test.functions.unary.matrix.FullCumsumTest;
+import org.apache.sysds.test.functions.unary.matrix.FullCumsumprodTest;
+import org.apache.sysds.test.functions.unary.matrix.FullSignTest;
+import org.apache.sysds.test.functions.unary.matrix.RoundTest;
+import org.apache.sysds.test.functions.unary.matrix.SinTest;
+import org.apache.sysds.test.functions.unary.matrix.SqrtTest;
+import org.apache.sysds.test.functions.unary.matrix.TanTest;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class BuiltinUnaryGPUInstructionTest extends AutomatedTestBase {
+ @Override public void setUp() {
+ TEST_GPU = true;
+ VERBOSE_STATS = true;
+ }
+
+ // ToDo:
+ // @Test public void ExponentTest() {}
+ // @Test public void LogarithmTest() {}
+ // @Test public void SoftmaxTest() {}
+ // @Test public void CoshTest() {}
+ // @Test public void SinhTest() {}
+ // @Test public void TanhTest() {}
+
+ @Test public void AbsTest() {
+ AbsTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.AbsTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testPositive();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_abs"));
+ dmlTestCase.testNegative();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_abs"));
+ dmlTestCase.testRandom();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_abs"));
+ }
+
+ @Test public void ACosTest() {
+ ACosTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.ACosTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testPositive();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_acos"));
+ dmlTestCase.testNegative();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_acos"));
+ dmlTestCase.testRandom();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_acos"));
+ }
+
+ @Test public void ASinTest() {
+ ASinTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.ASinTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testPositive();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_asin"));
+ dmlTestCase.testNegative();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_asin"));
+ dmlTestCase.testRandom();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_asin"));
+ }
+
+ @Test public void ATanTest() {
+ ATanTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.ATanTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testPositive();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_atan"));
+ dmlTestCase.testNegative();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_atan"));
+ dmlTestCase.testRandom();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_atan"));
+ }
+
+ @Test public void CeilTest() {
+ RoundTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.RoundTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testCeil1();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ceil"));
+ dmlTestCase.testCeil2();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ceil"));
+ dmlTestCase.testCeil3();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ceil"));
+ dmlTestCase.testCeil4();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ceil"));
+ dmlTestCase.testCeil5();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ceil"));
+ dmlTestCase.testCeil6();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ceil"));
+ }
+
+ @Test public void CosTest() {
+ CosTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.CosTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testPositive();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_cos"));
+ dmlTestCase.testNegative();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_cos"));
+ dmlTestCase.testRandom();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_cos"));
+ }
+
+ @Test public void CummaxTest() {
+ FullCummaxTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.FullCummaxTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testCummaxColVectorDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummax"));
+ dmlTestCase.testCummaxColVectorSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummax"));
+ dmlTestCase.testCummaxMatrixDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummax"));
+ dmlTestCase.testCummaxMatrixSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummax"));
+ dmlTestCase.testCummaxRowVectorDenseCP();
+ Assert.assertFalse(heavyHittersContainsSubString("gpu_ucummax"));
+ dmlTestCase.testCummaxRowVectorDenseNoRewritesCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummax"));
+ dmlTestCase.testCummaxRowVectorSparseCP();
+ Assert.assertFalse(heavyHittersContainsSubString("gpu_ucummax"));
+ dmlTestCase.testCummaxRowVectorSparseNoRewritesCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummax"));
+ }
+
+ @Test public void CumminTest() {
+ FullCumminTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.FullCumminTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testCumminColVectorDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummin"));
+ dmlTestCase.testCumminColVectorSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummin"));
+ dmlTestCase.testCumminMatrixDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummin"));
+ dmlTestCase.testCumminMatrixSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummin"));
+ dmlTestCase.testCumminRowVectorDenseCP();
+ Assert.assertFalse(heavyHittersContainsSubString("gpu_ucummin"));
+ dmlTestCase.testCumminRowVectorDenseNoRewritesCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummin"));
+ dmlTestCase.testCumminRowVectorSparseCP();
+ Assert.assertFalse(heavyHittersContainsSubString("gpu_ucummin"));
+ dmlTestCase.testCumminRowVectorSparseNoRewritesCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucummin"));
+ }
+
+ @Test public void CumprodTest() {
+ FullCumprodTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.FullCumprodTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testCumprodColVectorDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucum*"));
+ dmlTestCase.testCumprodColVectorSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucum*"));
+ dmlTestCase.testCumprodMatrixDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucum*"));
+ dmlTestCase.testCumprodMatrixSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucum*"));
+ dmlTestCase.testCumprodRowVectorDenseCP();
+ Assert.assertFalse(heavyHittersContainsSubString("gpu_ucum*"));
+ dmlTestCase.testCumprodRowVectorDenseNoRewritesCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucum*"));
+ dmlTestCase.testCumprodRowVectorSparseCP();
+ Assert.assertFalse(heavyHittersContainsSubString("gpu_ucum*"));
+ dmlTestCase.testCumprodRowVectorSparseNoRewritesCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucum*"));
+ }
+
+ @Test public void CumsumTest() {
+ FullCumsumTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.FullCumsumTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testCumsumColVectorDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucumk+"));
+ dmlTestCase.testCumsumColVectorSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucumk+"));
+ dmlTestCase.testCumsumMatrixDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucumk+"));
+ dmlTestCase.testCumsumMatrixSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucumk+"));
+ dmlTestCase.testCumsumRowVectorDenseCP();
+ Assert.assertFalse(heavyHittersContainsSubString("gpu_ucumk+"));
+ dmlTestCase.testCumsumRowVectorDenseNoRewritesCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucumk+"));
+ dmlTestCase.testCumsumRowVectorSparseCP();
+ Assert.assertFalse(heavyHittersContainsSubString("gpu_ucumk+"));
+ dmlTestCase.testCumsumRowVectorSparseNoRewritesCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucumk+"));
+ }
+
+ @Test public void CumsumprodTest() {
+ FullCumsumprodTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.FullCumsumprodTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testCumsumprodBackwardDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucumk+*"));
+ dmlTestCase.testCumsumprodBackwardSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucumk+*"));
+ dmlTestCase.testCumsumprodForwardDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucumk+*"));
+ dmlTestCase.testCumsumprodForwardSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_ucumk+*"));
+ }
+
+ @Test public void FloorTest() {
+ RoundTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.RoundTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testFloor1();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_floor"));
+ dmlTestCase.testFloor2();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_floor"));
+ dmlTestCase.testFloor3();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_floor"));
+ dmlTestCase.testFloor4();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_floor"));
+ dmlTestCase.testFloor5();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_floor"));
+ dmlTestCase.testFloor6();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_floor"));
+ }
+
+ @Test public void RoundTest() {
+ RoundTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.RoundTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testRound1();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_round"));
+ dmlTestCase.testRound2();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_round"));
+ dmlTestCase.testRound3();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_round"));
+ dmlTestCase.testRound4();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_round"));
+ dmlTestCase.testRound5();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_round"));
+ dmlTestCase.testRound6();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_round"));
+ }
+
+ @Test public void SinTest() {
+ SinTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.SinTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testPositive();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sin"));
+ dmlTestCase.testNegative();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sin"));
+ dmlTestCase.testRandom();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sin"));
+ }
+
+ @Test public void SqrtTest() {
+ SqrtTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.SqrtTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testPositive();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sqrt"));
+ dmlTestCase.testNegativeMatrix();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sqrt"));
+ dmlTestCase.testNegativeVector();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sqrt"));
+ }
+
+ @Test public void SignTest() {
+ FullSignTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.FullSignTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testRewriteSignDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sign"));
+ dmlTestCase.testRewriteSignSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sign"));
+ dmlTestCase.testSignDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sign"));
+ dmlTestCase.testSignSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sign"));
+ }
+
+ @Test public void SigmoidTest() {
+ BuiltinSigmoidTest dmlTestCase = new org.apache.sysds.test.functions.builtin.BuiltinSigmoidTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testSigmoidMatrixDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sigmoid"));
+ dmlTestCase.testSigmoidMatrixSparseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sigmoid"));
+ dmlTestCase.testSigmoidScalarDenseCP();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_sigmoid"));
+ }
+
+ @Test public void TanTest() {
+ TanTest dmlTestCase = new org.apache.sysds.test.functions.unary.matrix.TanTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ dmlTestCase.testPositive();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_tan"));
+ dmlTestCase.testNegative();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_tan"));
+ dmlTestCase.testRandom();
+ Assert.assertTrue(heavyHittersContainsSubString("gpu_tan"));
+ }
+}
diff --git a/src/test/java/org/apache/sysds/test/gpu/codegen/CellwiseTmplTest.java b/src/test/java/org/apache/sysds/test/gpu/codegen/CellwiseTmplTest.java
new file mode 100644
index 0000000..c0a1113
--- /dev/null
+++ b/src/test/java/org/apache/sysds/test/gpu/codegen/CellwiseTmplTest.java
@@ -0,0 +1,90 @@
+/*
+ * 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.test.gpu.codegen;
+
+import org.apache.sysds.test.AutomatedTestBase;
+import org.junit.Test;
+
+public class CellwiseTmplTest extends AutomatedTestBase {
+ org.apache.sysds.test.functions.codegen.CellwiseTmplTest dmlTestCase;
+
+ @Override public void setUp() {
+ TEST_GPU = true;
+ dmlTestCase = new org.apache.sysds.test.functions.codegen.CellwiseTmplTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ }
+
+ @Test public void testCodegenCellwise1() { dmlTestCase.testCodegenCellwise1(); }
+ @Test public void testCodegenCellwise2() { dmlTestCase.testCodegenCellwise2(); }
+ @Test public void testCodegenCellwise3() { dmlTestCase.testCodegenCellwise3(); }
+ @Test public void testCodegenCellwise4() { dmlTestCase.testCodegenCellwise4(); }
+ @Test public void testCodegenCellwise5() { dmlTestCase.testCodegenCellwise5(); }
+ @Test public void testCodegenCellwise6() { dmlTestCase.testCodegenCellwise6(); }
+ @Test public void testCodegenCellwise7() { dmlTestCase.testCodegenCellwise7(); }
+ @Test public void testCodegenCellwise8() { dmlTestCase.testCodegenCellwise8(); }
+ @Test public void testCodegenCellwise9() { dmlTestCase.testCodegenCellwise9(); }
+ @Test public void testCodegenCellwise10() { dmlTestCase.testCodegenCellwise10(); }
+ @Test public void testCodegenCellwise11() { dmlTestCase.testCodegenCellwise11(); }
+ @Test public void testCodegenCellwise12() { dmlTestCase.testCodegenCellwise12(); }
+ @Test public void testCodegenCellwise13() { dmlTestCase.testCodegenCellwise13(); }
+ @Test public void testCodegenCellwise14() { dmlTestCase.testCodegenCellwise14(); }
+ @Test public void testCodegenCellwise15() { dmlTestCase.testCodegenCellwise15(); }
+ @Test public void testCodegenCellwise16() { dmlTestCase.testCodegenCellwise16(); }
+ @Test public void testCodegenCellwise17() { dmlTestCase.testCodegenCellwise17(); }
+ @Test public void testCodegenCellwise18() { dmlTestCase.testCodegenCellwise18(); }
+ @Test public void testCodegenCellwise19() { dmlTestCase.testCodegenCellwise19(); }
+ @Test public void testCodegenCellwise20() { dmlTestCase.testCodegenCellwise20(); }
+ @Test public void testCodegenCellwise21() { dmlTestCase.testCodegenCellwise21(); }
+ @Test public void testCodegenCellwise22() { dmlTestCase.testCodegenCellwise22(); }
+ @Test public void testCodegenCellwise23() { dmlTestCase.testCodegenCellwise23(); }
+ @Test public void testCodegenCellwise24() { dmlTestCase.testCodegenCellwise24(); }
+ @Test public void testCodegenCellwise25() { dmlTestCase.testCodegenCellwise25(); }
+ @Test public void testCodegenCellwise26() { dmlTestCase.testCodegenCellwise26(); }
+ @Test public void testCodegenCellwise27() { dmlTestCase.testCodegenCellwise27(); }
+
+ @Test public void testCodegenCellwiseRewrite1() { dmlTestCase.testCodegenCellwiseRewrite1(); }
+ @Test public void testCodegenCellwiseRewrite2() { dmlTestCase.testCodegenCellwiseRewrite2(); }
+ @Test public void testCodegenCellwiseRewrite3() { dmlTestCase.testCodegenCellwiseRewrite3(); }
+ @Test public void testCodegenCellwiseRewrite4() { dmlTestCase.testCodegenCellwiseRewrite4(); }
+ @Test public void testCodegenCellwiseRewrite5() { dmlTestCase.testCodegenCellwiseRewrite5(); }
+ @Test public void testCodegenCellwiseRewrite6() { dmlTestCase.testCodegenCellwiseRewrite6(); }
+ @Test public void testCodegenCellwiseRewrite7() { dmlTestCase.testCodegenCellwiseRewrite7(); }
+ @Test public void testCodegenCellwiseRewrite8() { dmlTestCase.testCodegenCellwiseRewrite8(); }
+ @Test public void testCodegenCellwiseRewrite9() { dmlTestCase.testCodegenCellwiseRewrite9(); }
+ @Test public void testCodegenCellwiseRewrite10() { dmlTestCase.testCodegenCellwiseRewrite10(); }
+ @Test public void testCodegenCellwiseRewrite11() { dmlTestCase.testCodegenCellwiseRewrite11(); }
+ @Test public void testCodegenCellwiseRewrite12() { dmlTestCase.testCodegenCellwiseRewrite12(); }
+ @Test public void testCodegenCellwiseRewrite13() { dmlTestCase.testCodegenCellwiseRewrite13(); }
+ @Test public void testCodegenCellwiseRewrite14() { dmlTestCase.testCodegenCellwiseRewrite14(); }
+ @Test public void testCodegenCellwiseRewrite15() { dmlTestCase.testCodegenCellwiseRewrite15(); }
+ @Test public void testCodegenCellwiseRewrite16() { dmlTestCase.testCodegenCellwiseRewrite16(); }
+ @Test public void testCodegenCellwiseRewrite17() { dmlTestCase.testCodegenCellwiseRewrite17(); }
+ @Test public void testCodegenCellwiseRewrite18() { dmlTestCase.testCodegenCellwiseRewrite18(); }
+ @Test public void testCodegenCellwiseRewrite19() { dmlTestCase.testCodegenCellwiseRewrite19(); }
+ @Test public void testCodegenCellwiseRewrite20() { dmlTestCase.testCodegenCellwiseRewrite20(); }
+ @Test public void testCodegenCellwiseRewrite21() { dmlTestCase.testCodegenCellwiseRewrite21(); }
+ @Test public void testCodegenCellwiseRewrite22() { dmlTestCase.testCodegenCellwiseRewrite22(); }
+ @Test public void testCodegenCellwiseRewrite23() { dmlTestCase.testCodegenCellwiseRewrite23(); }
+ @Test public void testCodegenCellwiseRewrite24() { dmlTestCase.testCodegenCellwiseRewrite24(); }
+ @Test public void testCodegenCellwiseRewrite25() { dmlTestCase.testCodegenCellwiseRewrite25(); }
+ @Test public void testCodegenCellwiseRewrite26() { dmlTestCase.testCodegenCellwiseRewrite26(); }
+ @Test public void testCodegenCellwiseRewrite27() { dmlTestCase.testCodegenCellwiseRewrite27(); }
+}
diff --git a/src/test/java/org/apache/sysds/test/gpu/codegen/RowAggTmplTest.java b/src/test/java/org/apache/sysds/test/gpu/codegen/RowAggTmplTest.java
new file mode 100644
index 0000000..f44d9ca
--- /dev/null
+++ b/src/test/java/org/apache/sysds/test/gpu/codegen/RowAggTmplTest.java
@@ -0,0 +1,129 @@
+/*
+ * 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.test.gpu.codegen;
+
+import org.apache.sysds.test.AutomatedTestBase;
+import org.junit.Test;
+
+public class RowAggTmplTest extends AutomatedTestBase {
+ org.apache.sysds.test.functions.codegen.RowAggTmplTest dmlTestCase;
+
+ @Override public void setUp() {
+ TEST_GPU = true;
+ dmlTestCase = new org.apache.sysds.test.functions.codegen.RowAggTmplTest();
+ dmlTestCase.setUpBase();
+ dmlTestCase.setUp();
+ }
+
+ @Test public void testCodegenRowAgg1CP() { dmlTestCase.testCodegenRowAgg1CP(); }
+ @Test public void testCodegenRowAgg2CP() { dmlTestCase.testCodegenRowAgg2CP(); }
+ @Test public void testCodegenRowAgg3CP() { dmlTestCase.testCodegenRowAgg3CP(); }
+ @Test public void testCodegenRowAgg4CP() { dmlTestCase.testCodegenRowAgg4CP(); }
+ @Test public void testCodegenRowAgg5CP() { dmlTestCase.testCodegenRowAgg5CP(); }
+ @Test public void testCodegenRowAgg6CP() { dmlTestCase.testCodegenRowAgg6CP(); }
+ @Test public void testCodegenRowAgg7CP() { dmlTestCase.testCodegenRowAgg7CP(); }
+ @Test public void testCodegenRowAgg8CP() { dmlTestCase.testCodegenRowAgg8CP(); }
+ @Test public void testCodegenRowAgg9CP() { dmlTestCase.testCodegenRowAgg9CP(); }
+ @Test public void testCodegenRowAgg10CP() { dmlTestCase.testCodegenRowAgg10CP(); }
+ @Test public void testCodegenRowAgg11CP() { dmlTestCase.testCodegenRowAgg11CP(); }
+ @Test public void testCodegenRowAgg12CP() { dmlTestCase.testCodegenRowAgg12CP(); }
+ @Test public void testCodegenRowAgg13CP() { dmlTestCase.testCodegenRowAgg13CP(); }
+ @Test public void testCodegenRowAgg14CP() { dmlTestCase.testCodegenRowAgg14CP(); }
+ @Test public void testCodegenRowAgg15CP() { dmlTestCase.testCodegenRowAgg15CP(); }
+ @Test public void testCodegenRowAgg16CP() { dmlTestCase.testCodegenRowAgg16CP(); }
+ @Test public void testCodegenRowAgg17CP() { dmlTestCase.testCodegenRowAgg17CP(); }
+ @Test public void testCodegenRowAgg18CP() { dmlTestCase.testCodegenRowAgg18CP(); }
+ @Test public void testCodegenRowAgg19CP() { dmlTestCase.testCodegenRowAgg19CP(); }
+ @Test public void testCodegenRowAgg20CP() { dmlTestCase.testCodegenRowAgg20CP(); }
+ @Test public void testCodegenRowAgg21CP() { dmlTestCase.testCodegenRowAgg21CP(); }
+ @Test public void testCodegenRowAgg22CP() { dmlTestCase.testCodegenRowAgg22CP(); }
+ @Test public void testCodegenRowAgg23CP() { dmlTestCase.testCodegenRowAgg23CP(); }
+ @Test public void testCodegenRowAgg24CP() { dmlTestCase.testCodegenRowAgg24CP(); }
+ @Test public void testCodegenRowAgg25CP() { dmlTestCase.testCodegenRowAgg25CP(); }
+ @Test public void testCodegenRowAgg26CP() { dmlTestCase.testCodegenRowAgg26CP(); }
+ @Test public void testCodegenRowAgg27CP() { dmlTestCase.testCodegenRowAgg27CP(); }
+ @Test public void testCodegenRowAgg28CP() { dmlTestCase.testCodegenRowAgg28CP(); }
+ @Test public void testCodegenRowAgg29CP() { dmlTestCase.testCodegenRowAgg29CP(); }
+ @Test public void testCodegenRowAgg30CP() { dmlTestCase.testCodegenRowAgg30CP(); }
+ @Test public void testCodegenRowAgg31CP() { dmlTestCase.testCodegenRowAgg31CP(); }
+ @Test public void testCodegenRowAgg32CP() { dmlTestCase.testCodegenRowAgg32CP(); }
+ @Test public void testCodegenRowAgg33CP() { dmlTestCase.testCodegenRowAgg33CP(); }
+ @Test public void testCodegenRowAgg34CP() { dmlTestCase.testCodegenRowAgg34CP(); }
+ @Test public void testCodegenRowAgg35CP() { dmlTestCase.testCodegenRowAgg35CP(); }
+ @Test public void testCodegenRowAgg36CP() { dmlTestCase.testCodegenRowAgg36CP(); }
+ @Test public void testCodegenRowAgg37CP() { dmlTestCase.testCodegenRowAgg37CP(); }
+ @Test public void testCodegenRowAgg38CP() { dmlTestCase.testCodegenRowAgg38CP(); }
+ @Test public void testCodegenRowAgg39CP() { dmlTestCase.testCodegenRowAgg39CP(); }
+ @Test public void testCodegenRowAgg40CP() { dmlTestCase.testCodegenRowAgg40CP(); }
+ @Test public void testCodegenRowAgg41CP() { dmlTestCase.testCodegenRowAgg41CP(); }
+ @Test public void testCodegenRowAgg42CP() { dmlTestCase.testCodegenRowAgg42CP(); }
+ @Test public void testCodegenRowAgg43CP() { dmlTestCase.testCodegenRowAgg43CP(); }
+ @Test public void testCodegenRowAgg44CP() { dmlTestCase.testCodegenRowAgg44CP(); }
+ @Test public void testCodegenRowAgg45CP() { dmlTestCase.testCodegenRowAgg45CP(); }
+ @Test public void testCodegenRowAgg46CP() { dmlTestCase.testCodegenRowAgg46CP(); }
+
+ @Test public void testCodegenRowAggRewrite1CP() { dmlTestCase.testCodegenRowAggRewrite1CP(); }
+ @Test public void testCodegenRowAggRewrite2CP() { dmlTestCase.testCodegenRowAggRewrite2CP(); }
+ @Test public void testCodegenRowAggRewrite3CP() { dmlTestCase.testCodegenRowAggRewrite3CP(); }
+ @Test public void testCodegenRowAggRewrite4CP() { dmlTestCase.testCodegenRowAggRewrite4CP(); }
+ @Test public void testCodegenRowAggRewrite5CP() { dmlTestCase.testCodegenRowAggRewrite5CP(); }
+ @Test public void testCodegenRowAggRewrite6CP() { dmlTestCase.testCodegenRowAggRewrite6CP(); }
+ @Test public void testCodegenRowAggRewrite7CP() { dmlTestCase.testCodegenRowAggRewrite7CP(); }
+ @Test public void testCodegenRowAggRewrite8CP() { dmlTestCase.testCodegenRowAggRewrite8CP(); }
+ @Test public void testCodegenRowAggRewrite9CP() { dmlTestCase.testCodegenRowAggRewrite9CP(); }
+ @Test public void testCodegenRowAggRewrite10CP() { dmlTestCase.testCodegenRowAggRewrite10CP(); }
+ @Test public void testCodegenRowAggRewrite11CP() { dmlTestCase.testCodegenRowAggRewrite11CP(); }
+ @Test public void testCodegenRowAggRewrite12CP() { dmlTestCase.testCodegenRowAggRewrite12CP(); }
+ @Test public void testCodegenRowAggRewrite13CP() { dmlTestCase.testCodegenRowAggRewrite13CP(); }
+ @Test public void testCodegenRowAggRewrite14CP() { dmlTestCase.testCodegenRowAggRewrite14CP(); }
+ @Test public void testCodegenRowAggRewrite15CP() { dmlTestCase.testCodegenRowAggRewrite15CP(); }
+ @Test public void testCodegenRowAggRewrite16CP() { dmlTestCase.testCodegenRowAggRewrite16CP(); }
+ @Test public void testCodegenRowAggRewrite17CP() { dmlTestCase.testCodegenRowAggRewrite17CP(); }
+ @Test public void testCodegenRowAggRewrite18CP() { dmlTestCase.testCodegenRowAggRewrite18CP(); }
+ @Test public void testCodegenRowAggRewrite19CP() { dmlTestCase.testCodegenRowAggRewrite19CP(); }
+ @Test public void testCodegenRowAggRewrite20CP() { dmlTestCase.testCodegenRowAggRewrite20CP(); }
+ @Test public void testCodegenRowAggRewrite21CP() { dmlTestCase.testCodegenRowAggRewrite21CP(); }
+ @Test public void testCodegenRowAggRewrite22CP() { dmlTestCase.testCodegenRowAggRewrite22CP(); }
+ @Test public void testCodegenRowAggRewrite23CP() { dmlTestCase.testCodegenRowAggRewrite23CP(); }
+ @Test public void testCodegenRowAggRewrite24CP() { dmlTestCase.testCodegenRowAggRewrite24CP(); }
+ @Test public void testCodegenRowAggRewrite25CP() { dmlTestCase.testCodegenRowAggRewrite25CP(); }
+ @Test public void testCodegenRowAggRewrite26CP() { dmlTestCase.testCodegenRowAggRewrite26CP(); }
+ @Test public void testCodegenRowAggRewrite27CP() { dmlTestCase.testCodegenRowAggRewrite27CP(); }
+ @Test public void testCodegenRowAggRewrite28CP() { dmlTestCase.testCodegenRowAggRewrite28CP(); }
+ @Test public void testCodegenRowAggRewrite29CP() { dmlTestCase.testCodegenRowAggRewrite29CP(); }
+ @Test public void testCodegenRowAggRewrite30CP() { dmlTestCase.testCodegenRowAggRewrite30CP(); }
+ @Test public void testCodegenRowAggRewrite31CP() { dmlTestCase.testCodegenRowAggRewrite31CP(); }
+ @Test public void testCodegenRowAggRewrite32CP() { dmlTestCase.testCodegenRowAggRewrite32CP(); }
+ @Test public void testCodegenRowAggRewrite33CP() { dmlTestCase.testCodegenRowAggRewrite33CP(); }
+ @Test public void testCodegenRowAggRewrite34CP() { dmlTestCase.testCodegenRowAggRewrite34CP(); }
+ @Test public void testCodegenRowAggRewrite35CP() { dmlTestCase.testCodegenRowAggRewrite35CP(); }
+ @Test public void testCodegenRowAggRewrite36CP() { dmlTestCase.testCodegenRowAggRewrite36CP(); }
+ @Test public void testCodegenRowAggRewrite37CP() { dmlTestCase.testCodegenRowAggRewrite37CP(); }
+ @Test public void testCodegenRowAggRewrite38CP() { dmlTestCase.testCodegenRowAggRewrite38CP(); }
+ @Test public void testCodegenRowAggRewrite39CP() { dmlTestCase.testCodegenRowAggRewrite39CP(); }
+ @Test public void testCodegenRowAggRewrite40CP() { dmlTestCase.testCodegenRowAggRewrite40CP(); }
+ @Test public void testCodegenRowAggRewrite41CP() { dmlTestCase.testCodegenRowAggRewrite41CP(); }
+ @Test public void testCodegenRowAggRewrite42CP() { dmlTestCase.testCodegenRowAggRewrite42CP(); }
+ @Test public void testCodegenRowAggRewrite43CP() { dmlTestCase.testCodegenRowAggRewrite43CP(); }
+ @Test public void testCodegenRowAggRewrite44CP() { dmlTestCase.testCodegenRowAggRewrite44CP(); }
+ @Test public void testCodegenRowAggRewrite45CP() { dmlTestCase.testCodegenRowAggRewrite45CP(); }
+ @Test public void testCodegenRowAggRewrite46CP() { dmlTestCase.testCodegenRowAggRewrite46CP(); }
+
+}