1 // 2 // Copyright © 2022-2023 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #include "backendsCommon/test/EndToEndTestImpl.hpp" 7 8 #include "backendsCommon/test/AdditionEndToEndTestImpl.hpp" 9 #include "backendsCommon/test/Convolution2dEndToEndTestImpl.hpp" 10 #include "backendsCommon/test/ConcatEndToEndTestImpl.hpp" 11 #include "backendsCommon/test/MultiplicationEndToEndTestImpl.hpp" 12 #include "backendsCommon/test/Pooling2dEndToEndTestImpl.hpp" 13 #include "backendsCommon/test/ReshapeEndToEndTestImpl.hpp" 14 #include "backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp" 15 #include "backendsCommon/test/SliceEndToEndTestImpl.hpp" 16 #include "backendsCommon/test/SubtractionEndToEndTestImpl.hpp" 17 #include "backendsCommon/test/TransposeConvolution2dEndToEndTestImpl.hpp" 18 #include "backendsCommon/test/TransposeEndToEndTestImpl.hpp" 19 20 #include <doctest/doctest.h> 21 22 TEST_SUITE("TosaRefEndToEnd") 23 { 24 std::vector<BackendId> tosaDefaultBackends = { "TosaRef" }; 25 26 // Addition 27 TEST_CASE("TosaRefAdditionEndtoEndTestFloat32") 28 { 29 AdditionEndToEnd<DataType::Float32>(tosaDefaultBackends); 30 } 31 32 TEST_CASE("TosaRefAdditionEndtoEndTestInt32") 33 { 34 AdditionEndToEnd<DataType::Signed32>(tosaDefaultBackends); 35 } 36 37 TEST_CASE("TosaRefAdditionEndtoEndTestFloat16") 38 { 39 AdditionEndToEndFloat16<DataType::Float16>(tosaDefaultBackends); 40 } 41 42 // Concat 43 TEST_CASE("TosaRefConcatEndToEndDim0TestFloat32") 44 { 45 ConcatDim0EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends); 46 } 47 48 TEST_CASE("TosaRefConcatEndToEndDim0TestInt32") 49 { 50 ConcatDim0EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends); 51 } 52 53 TEST_CASE("TosaRefConcatEndToEndDim1TestFloat32") 54 { 55 ConcatDim1EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends); 56 } 57 58 TEST_CASE("TosaRefConcatEndToEndDim1TestInt32") 59 { 60 ConcatDim1EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends); 61 } 62 63 TEST_CASE("TosaRefConcatEndToEndDim2TestFloat32") 64 { 65 ConcatDim2EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends); 66 } 67 68 TEST_CASE("TosaRefConcatEndToEndDim2TestInt32") 69 { 70 ConcatDim2EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends); 71 } 72 73 TEST_CASE("TosaRefConcatEndToEndDim3TestFloat32") 74 { 75 ConcatDim3EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends); 76 } 77 78 TEST_CASE("TosaRefConcatEndToEndDim3TestInt32") 79 { 80 ConcatDim3EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends); 81 } 82 83 // Conv2d 84 TEST_CASE("TosaRefConv2dEndtoEndTestFloat32") 85 { 86 Convolution2dEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends, armnn::DataLayout::NHWC); 87 } 88 89 TEST_CASE("TosaRefConv2dWithoutBiasEndtoEndTestFloat32") 90 { 91 Convolution2dEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends, armnn::DataLayout::NHWC, false); 92 } 93 94 // Average Pool 2D 95 TEST_CASE("TosaRefAvgPool2DEndtoEndTestFloat32") 96 { 97 AvgPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends); 98 } 99 100 TEST_CASE("TosaRefAvgPool2DEndtoEndTestFloat16") 101 { 102 AvgPool2dEndToEndFloat16<DataType::Float16>(tosaDefaultBackends); 103 } 104 105 TEST_CASE("TosaRefAvgPool2DIgnoreValueEndtoEndTestFloat32") 106 { 107 AvgPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends, PaddingMethod::IgnoreValue); 108 } 109 110 // Max Pool 2D 111 TEST_CASE("TosaRefMaxPool2DEndtoEndTestFloat32") 112 { 113 MaxPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends); 114 } 115 116 TEST_CASE("TosaRefMaxPool2DEndtoEndTestFloat16") 117 { 118 MaxPool2dEndToEndFloat16<DataType::Float16>(tosaDefaultBackends); 119 } 120 121 TEST_CASE("TosaRefMaxPool2DIgnoreValueEndtoEndTestFloat32") 122 { 123 MaxPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends, PaddingMethod::IgnoreValue); 124 } 125 126 // Reshape 127 TEST_CASE("TosaRefReshapeEndtoEndTestFloat32") 128 { 129 ReshapeEndToEnd<DataType::Float32>(tosaDefaultBackends); 130 } 131 132 TEST_CASE("TosaRefReshapeEndtoEndTestInt32") 133 { 134 ReshapeEndToEnd<DataType::Signed32>(tosaDefaultBackends); 135 } 136 137 TEST_CASE("TosaRefReshapeEndtoEndTestFloat16") 138 { 139 ReshapeEndToEndFloat16<DataType::Float16>(tosaDefaultBackends); 140 } 141 142 TEST_CASE("TosaRefRsqrtEndtoEndTestFloat32") 143 { 144 ElementwiseUnarySimpleEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends, 145 UnaryOperation::Rsqrt); 146 } 147 148 // Slice 149 TEST_CASE("TosaRefSliceEndtoEndTestFloat32") 150 { 151 SliceEndToEnd<DataType::Float32>(tosaDefaultBackends); 152 } 153 154 TEST_CASE("TosaRefSliceEndtoEndTestInt32") 155 { 156 SliceEndToEnd<DataType::Signed32>(tosaDefaultBackends); 157 } 158 159 TEST_CASE("TosaRefSliceEndtoEndTestFloat16") 160 { 161 SliceEndToEndFloat16<DataType::Float16>(tosaDefaultBackends); 162 } 163 TEST_CASE("TosaRefSubtractionEndtoEndTestFloat32") 164 { 165 SubtractionEndToEnd<DataType::Float32>(tosaDefaultBackends); 166 } 167 168 TEST_CASE("TosaRefSubtractionEndtoEndTestInt32") 169 { 170 SubtractionEndToEnd<DataType::Signed32>(tosaDefaultBackends); 171 } 172 173 TEST_CASE("TosaRefSubtractionEndtoEndTestFloat16") 174 { 175 SubtractionEndToEndFloat16<DataType::Float16>(tosaDefaultBackends); 176 } 177 178 TEST_CASE("TosaRefMultiplicationEndtoEndTestFloat32") 179 { 180 MultiplicationEndToEnd<DataType::Float32>(tosaDefaultBackends); 181 } 182 183 TEST_CASE("TosaRefMultiplicationEndtoEndTestInt32") 184 { 185 MultiplicationEndToEnd<DataType::Signed32>(tosaDefaultBackends); 186 } 187 188 TEST_CASE("TosaRefMultiplicationEndtoEndTestFloat16") 189 { 190 MultiplicationEndToEndFloat16<DataType::Float16>(tosaDefaultBackends); 191 } 192 193 // TransposeConvolution2d 194 TEST_CASE("TosaRefTransposeConvolution2dEndToEndFloatNhwcTest") 195 { 196 TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>( 197 tosaDefaultBackends, armnn::DataLayout::NHWC); 198 } 199 200 TEST_CASE("TosaRefSimpleTransposeConvolution2dEndToEndFloatNhwcTest") 201 { 202 SimpleTransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>( 203 tosaDefaultBackends, armnn::DataLayout::NHWC); 204 } 205 206 // Transpose 207 TEST_CASE("TosaRefTransposeEndtoEndTestFloat32") 208 { 209 TransposeEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends); 210 } 211 212 }