blob: 93a4a81f9d6c3a5ac8142ab6c8bf192bb6895f8a [file] [log] [blame]
David Monahan8a570462023-11-22 13:24:25 +00001//
David Monahanbd738082023-12-08 12:50:02 +00002// Copyright © 2022-2024 Arm Ltd and Contributors. All rights reserved.
David Monahan8a570462023-11-22 13:24:25 +00003// SPDX-License-Identifier: MIT
4//
5
6#include "backendsCommon/test/EndToEndTestImpl.hpp"
7
David Monahanbd738082023-12-08 12:50:02 +00008#include "backendsCommon/test/Convolution2dEndToEndTestImpl.hpp"
Tracy Narinee7d27852024-01-26 09:13:19 +00009
Tianle Chengfbfa49e2024-01-23 11:21:48 +000010#include "backendsCommon/test/DepthwiseConvolution2dEndToEndTests.hpp"
Tracy Narinee7d27852024-01-26 09:13:19 +000011#include "backendsCommon/test/ElementwiseBinaryEndToEndTestImpl.hpp"
Teresa Charlina52bca22024-02-01 17:36:48 +000012#include "backendsCommon/test/Pooling2dEndToEndTestImpl.hpp"
13
Tianle Chengfbfa49e2024-01-23 11:21:48 +000014
David Monahanbd738082023-12-08 12:50:02 +000015#include <doctest/doctest.h>
16
17TEST_SUITE("GpuFsaEndToEnd")
18{
19
20std::vector<BackendId> gpuFsaDefaultBackends = {"GpuFsa"};
21
22// Conv2d
23TEST_CASE("GpuFsaConv2dEndtoEndTestFloat32")
24{
25 Convolution2dEndToEnd<armnn::DataType::Float32>(gpuFsaDefaultBackends, armnn::DataLayout::NHWC);
26}
27
28TEST_CASE("GpuFsaConv2dWithoutBiasEndtoEndTestFloat32")
29{
30 Convolution2dEndToEnd<armnn::DataType::Float32>(gpuFsaDefaultBackends, armnn::DataLayout::NHWC, false);
31}
32
Tianle Chengfbfa49e2024-01-23 11:21:48 +000033TEST_CASE("GpuFsaDepthwiseConvolution2dEndtoEndTestFloat32")
34{
35 DepthwiseConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(gpuFsaDefaultBackends,
36 armnn::DataLayout::NHWC);
37}
38
Tracy Narinee7d27852024-01-26 09:13:19 +000039// ElementwiseBinary Add
40TEST_CASE("GpuFsaElementwiseBinaryAddTestFloat32")
41{
42 ElementwiseBinarySimple3DEndToEnd<armnn::DataType::Float32>(gpuFsaDefaultBackends, BinaryOperation::Add);
43}
44
45TEST_CASE("GpuFsaElementwiseBinaryAddTestFloat16")
46{
47 ElementwiseBinarySimple3DEndToEnd<armnn::DataType::Float16>(gpuFsaDefaultBackends, BinaryOperation::Add);
48}
49
John Mcloughlin829e13e2024-01-31 11:00:27 +000050// ElementwiseBinary Sub
51TEST_CASE("GpuFsaElementwiseBinarySubTestFloat32")
52{
53 ElementwiseBinarySimple3DEndToEnd<armnn::DataType::Float32>(gpuFsaDefaultBackends, BinaryOperation::Sub);
54}
55
56TEST_CASE("GpuFsaElementwiseBinarySubTestFloat16")
57{
58 ElementwiseBinarySimple3DEndToEnd<armnn::DataType::Float16>(gpuFsaDefaultBackends, BinaryOperation::Sub);
59}
60
Teresa Charlina52bca22024-02-01 17:36:48 +000061// Pooling 2D
62// Average Pool 2D
63TEST_CASE("GpuFsaAvgPool2DEndtoEndTestFloat32")
64{
65 AvgPool2dEndToEnd<DataType::Float32>(gpuFsaDefaultBackends);
66}
67
68TEST_CASE("GpuFsaAvgPool2DEndtoEndTestFloat16")
69{
70
71 AvgPool2dEndToEndFloat16<DataType::Float16>(gpuFsaDefaultBackends);
72}
73
74TEST_CASE("UNSUPPORTED_GpuFsaAvgPool2DIgnoreValueEndtoEndTestFloat32")
75{
76 // Exclude padding must be set to true in Attributes! to be supported by GPU
77 try
78 {
79 AvgPool2dEndToEnd<DataType::Float32>(gpuFsaDefaultBackends, PaddingMethod::IgnoreValue);
80 FAIL("An exception should have been thrown");
81 }
82 catch (const armnn::InvalidArgumentException& e)
83 {
84 CHECK(strcmp(e.what(), "Failed to assign a backend to each layer") == 0);
85 }
86}
87
88// Max Pool 2D
89TEST_CASE("GpuFsaMaxPool2DEndtoEndTestFloat32")
90{
91 MaxPool2dEndToEnd<DataType::Float32>(gpuFsaDefaultBackends);
92}
93
94TEST_CASE("GpuFsaMaxPool2DEndtoEndTestFloat16")
95{
96 MaxPool2dEndToEndFloat16<DataType::Float16>(gpuFsaDefaultBackends);
97}
98
99TEST_CASE("UNSUPPORTED_GpuFsaMaxPool2DIgnoreValueEndtoEndTestFloat32")
100{
101 // Exclude padding must be set to true in Attributes! to be supported by GPU
102 try
103 {
104 MaxPool2dEndToEnd<DataType::Float32>(gpuFsaDefaultBackends, PaddingMethod::IgnoreValue);
105 FAIL("An exception should have been thrown");
106 }
107 catch (const armnn::InvalidArgumentException& e)
108 {
109 CHECK(strcmp(e.what(), "Failed to assign a backend to each layer") == 0);
110 }
111}
112
David Monahanbd738082023-12-08 12:50:02 +0000113}