// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include BOOST_AUTO_TEST_SUITE(ClEndToEnd) std::vector defaultBackends = {armnn::Compute::GpuAcc}; // Abs BOOST_AUTO_TEST_CASE(ClAbsEndToEndTestFloat32) { std::vector expectedOutput = { 1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f, 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f }; ElementwiseUnarySimpleEndToEnd(defaultBackends, UnaryOperation::Abs, expectedOutput); } // Constant BOOST_AUTO_TEST_CASE(ConstantUsage_Cl_Float32) { ConstantUsageFloat32Test(defaultBackends); } BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim0Test) { ConcatDim0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim0Uint8Test) { ConcatDim0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim1Test) { ConcatDim1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim1Uint8Test) { ConcatDim1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim3Test) { ConcatDim3EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim3Uint8Test) { ConcatDim3EndToEnd(defaultBackends); } // DepthToSpace BOOST_AUTO_TEST_CASE(DephtToSpaceEndToEndNchwFloat32) { DepthToSpaceEndToEnd(defaultBackends, armnn::DataLayout::NCHW); } BOOST_AUTO_TEST_CASE(DephtToSpaceEndToEndNchwFloat16) { DepthToSpaceEndToEnd(defaultBackends, armnn::DataLayout::NCHW); } BOOST_AUTO_TEST_CASE(DephtToSpaceEndToEndNchwUint8) { DepthToSpaceEndToEnd(defaultBackends, armnn::DataLayout::NCHW); } BOOST_AUTO_TEST_CASE(DephtToSpaceEndToEndNchwInt16) { DepthToSpaceEndToEnd(defaultBackends, armnn::DataLayout::NCHW); } BOOST_AUTO_TEST_CASE(DephtToSpaceEndToEndNhwcFloat32) { DepthToSpaceEndToEnd(defaultBackends, armnn::DataLayout::NHWC); } BOOST_AUTO_TEST_CASE(DephtToSpaceEndToEndNhwcFloat16) { DepthToSpaceEndToEnd(defaultBackends, armnn::DataLayout::NHWC); } BOOST_AUTO_TEST_CASE(DephtToSpaceEndToEndNhwcUint8) { DepthToSpaceEndToEnd(defaultBackends, armnn::DataLayout::NHWC); } BOOST_AUTO_TEST_CASE(DephtToSpaceEndToEndNhwcInt16) { DepthToSpaceEndToEnd(defaultBackends, armnn::DataLayout::NHWC); } // Dequantize BOOST_AUTO_TEST_CASE(DequantizeEndToEndSimpleTest) { DequantizeEndToEndSimple(defaultBackends); } BOOST_AUTO_TEST_CASE(DequantizeEndToEndOffsetTest) { DequantizeEndToEndOffset(defaultBackends); } BOOST_AUTO_TEST_CASE(ClStridedSliceInvalidSliceEndToEndTest) { StridedSliceInvalidSliceEndToEndTest(defaultBackends); } BOOST_AUTO_TEST_CASE(ClEluEndToEndTestFloat32) { EluEndToEndTest(defaultBackends); } BOOST_AUTO_TEST_CASE(ClEluEndToEndTestFloat16) { EluEndToEndTest(defaultBackends); } BOOST_AUTO_TEST_CASE(ClGreaterSimpleEndToEndTest) { const std::vector expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }); ComparisonSimpleEndToEnd(defaultBackends, ComparisonOperation::Greater, expectedOutput); } BOOST_AUTO_TEST_CASE(ClGreaterSimpleEndToEndUint8Test) { const std::vector expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }); ComparisonSimpleEndToEnd(defaultBackends, ComparisonOperation::Greater, expectedOutput); } BOOST_AUTO_TEST_CASE(ClGreaterBroadcastEndToEndTest) { const std::vector expectedOutput({ 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 }); ComparisonBroadcastEndToEnd(defaultBackends, ComparisonOperation::Greater, expectedOutput); } BOOST_AUTO_TEST_CASE(ClGreaterBroadcastEndToEndUint8Test) { const std::vector expectedOutput({ 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 }); ComparisonBroadcastEndToEnd(defaultBackends, ComparisonOperation::Greater, expectedOutput); } // HardSwish BOOST_AUTO_TEST_CASE(ClHardSwishEndToEndTestFloat32) { HardSwishEndToEndTest(defaultBackends); } BOOST_AUTO_TEST_CASE(ClHardSwishEndToEndTestFloat16) { HardSwishEndToEndTest(defaultBackends); } BOOST_AUTO_TEST_CASE(ClHardSwishEndToEndTestQAsymmS8) { HardSwishEndToEndTest(defaultBackends); } BOOST_AUTO_TEST_CASE(ClHardSwishEndToEndTestQAsymmU8) { HardSwishEndToEndTest(defaultBackends); } BOOST_AUTO_TEST_CASE(ClHardSwishEndToEndTestQSymmS16) { HardSwishEndToEndTest(defaultBackends); } // InstanceNormalization BOOST_AUTO_TEST_CASE(ClInstanceNormalizationNhwcEndToEndTest1) { InstanceNormalizationNhwcEndToEndTest1(defaultBackends); } BOOST_AUTO_TEST_CASE(ClInstanceNormalizationNchwEndToEndTest1) { InstanceNormalizationNchwEndToEndTest1(defaultBackends); } BOOST_AUTO_TEST_CASE(ClInstanceNormalizationNhwcEndToEndTest2) { InstanceNormalizationNhwcEndToEndTest2(defaultBackends); } BOOST_AUTO_TEST_CASE(ClInstanceNormalizationNchwEndToEndTest2) { InstanceNormalizationNchwEndToEndTest2(defaultBackends); } // Fill BOOST_AUTO_TEST_CASE(ClFillEndToEndTest) { FillEndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(RefFillEndToEndTestFloat16) { FillEndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClFillEndToEndTestInt32) { FillEndToEnd(defaultBackends); } // Prelu BOOST_AUTO_TEST_CASE(ClPreluEndToEndFloat32Test) { PreluEndToEndNegativeTest(defaultBackends); } BOOST_AUTO_TEST_CASE(ClPreluEndToEndTestUint8) { PreluEndToEndPositiveTest(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSpaceToDepthNhwcEndToEndTest1) { SpaceToDepthNhwcEndToEndTest1(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSpaceToDepthNchwEndToEndTest1) { SpaceToDepthNchwEndToEndTest1(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSpaceToDepthNhwcEndToEndTest2) { SpaceToDepthNhwcEndToEndTest2(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSpaceToDepthNchwEndToEndTest2) { SpaceToDepthNchwEndToEndTest2(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter1dEndToEndTest) { Splitter1dEndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter1dEndToEndUint8Test) { Splitter1dEndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter2dDim0EndToEndTest) { Splitter2dDim0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter2dDim1EndToEndTest) { Splitter2dDim1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter2dDim0EndToEndUint8Test) { Splitter2dDim0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter2dDim1EndToEndUint8Test) { Splitter2dDim1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter3dDim0EndToEndTest) { Splitter3dDim0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter3dDim1EndToEndTest) { Splitter3dDim1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter3dDim2EndToEndTest) { Splitter3dDim2EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter3dDim0EndToEndUint8Test) { Splitter3dDim0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter3dDim1EndToEndUint8Test) { Splitter3dDim1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter3dDim2EndToEndUint8Test) { Splitter3dDim2EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter4dDim0EndToEndTest) { Splitter4dDim0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter4dDim1EndToEndTest) { Splitter4dDim1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter4dDim2EndToEndTest) { Splitter4dDim2EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter4dDim3EndToEndTest) { Splitter4dDim3EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter4dDim0EndToEndUint8Test) { Splitter4dDim0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter4dDim1EndToEndUint8Test) { Splitter4dDim1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter4dDim2EndToEndUint8Test) { Splitter4dDim2EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClSplitter4dDim3EndToEndUint8Test) { Splitter4dDim3EndToEnd(defaultBackends); } // TransposeConvolution2d BOOST_AUTO_TEST_CASE(ClTransposeConvolution2dEndToEndFloatNchwTest) { TransposeConvolution2dEndToEnd( defaultBackends, armnn::DataLayout::NCHW); } BOOST_AUTO_TEST_CASE(ClTransposeConvolution2dEndToEndUint8NchwTest) { TransposeConvolution2dEndToEnd( defaultBackends, armnn::DataLayout::NCHW); } BOOST_AUTO_TEST_CASE(ClTransposeConvolution2dEndToEndFloatNhwcTest) { TransposeConvolution2dEndToEnd( defaultBackends, armnn::DataLayout::NHWC); } BOOST_AUTO_TEST_CASE(ClTransposeConvolution2dEndToEndUint8NhwcTest) { TransposeConvolution2dEndToEnd( defaultBackends, armnn::DataLayout::NHWC); } BOOST_AUTO_TEST_CASE(ClQuantizedLstmEndToEndTest) { QuantizedLstmEndToEnd(defaultBackends); } // ArgMinMax BOOST_AUTO_TEST_CASE(ClArgMaxSimpleTest) { ArgMaxEndToEndSimple(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMinSimpleTest) { ArgMinEndToEndSimple(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMaxAxis0Test) { ArgMaxAxis0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMinAxis0Test) { ArgMinAxis0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMaxAxis1Test) { ArgMaxAxis1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMinAxis1Test) { ArgMinAxis1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMaxAxis2Test) { ArgMaxAxis2EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMinAxis2Test) { ArgMinAxis2EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMaxAxis3Test) { ArgMaxAxis3EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMinAxis3Test) { ArgMinAxis3EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMaxSimpleTestQAsymmU8) { ArgMaxEndToEndSimple(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMinSimpleTestQAsymmU8) { ArgMinEndToEndSimple(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMaxAxis0TestQAsymmU8) { ArgMaxAxis0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMinAxis0TestQAsymmU8) { ArgMinAxis0EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMaxAxis1TestQAsymmU8) { ArgMaxAxis1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMinAxis1TestQAsymmU8) { ArgMinAxis1EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMaxAxis2TestQAsymmU8) { ArgMaxAxis2EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMinAxis2TestQAsymmU8) { ArgMinAxis2EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMaxAxis3TestQAsymmU8) { ArgMaxAxis3EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClArgMinAxis3TestQAsymmU8) { ArgMinAxis3EndToEnd(defaultBackends); } BOOST_AUTO_TEST_CASE(ClQLstmEndToEndTest) { QLstmEndToEnd(defaultBackends); } BOOST_AUTO_TEST_SUITE_END()