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(); } + +}
