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 <[email protected]>
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(); }
+
+}

Reply via email to