ArmNN
 22.05.01
ClLayerSupportTests.cpp File Reference

Go to the source code of this file.

Functions

 TEST_SUITE ("ClLayerSupport")
 

Function Documentation

◆ TEST_SUITE()

TEST_SUITE ( "ClLayerSupport"  )

Definition at line 23 of file ClLayerSupportTests.cpp.

References armnn::BFloat16, armnn::Boolean, armnn::Float16, armnn::Float32, armnn::QAsymmS8, armnn::QAsymmU8, armnn::QSymmS16, armnn::QSymmS8, and TEST_CASE_FIXTURE().

24 {
25 TEST_CASE_FIXTURE(ClContextControlFixture, "IsLayerSupportedFloat16Cl")
26 {
27  armnn::ClWorkloadFactory factory =
28  ClWorkloadFactoryHelper::GetFactory(ClWorkloadFactoryHelper::GetMemoryManager());
29  IsLayerSupportedTests<armnn::ClWorkloadFactory, armnn::DataType::Float16>(&factory);
30 }
31 
32 TEST_CASE_FIXTURE(ClContextControlFixture, "IsLayerSupportedFloat32Cl")
33 {
34  armnn::ClWorkloadFactory factory =
35  ClWorkloadFactoryHelper::GetFactory(ClWorkloadFactoryHelper::GetMemoryManager());
36  IsLayerSupportedTests<armnn::ClWorkloadFactory, armnn::DataType::Float32>(&factory);
37 }
38 
39 TEST_CASE_FIXTURE(ClContextControlFixture, "IsLayerSupportedQAsymmU8Cl")
40 {
41  armnn::ClWorkloadFactory factory =
42  ClWorkloadFactoryHelper::GetFactory(ClWorkloadFactoryHelper::GetMemoryManager());
43  IsLayerSupportedTests<armnn::ClWorkloadFactory, armnn::DataType::QAsymmU8>(&factory);
44 }
45 
46 TEST_CASE_FIXTURE(ClContextControlFixture, "IsLayerSupportedQAsymmS8Cl")
47 {
48  armnn::ClWorkloadFactory factory =
49  ClWorkloadFactoryHelper::GetFactory(ClWorkloadFactoryHelper::GetMemoryManager());
50  IsLayerSupportedTests<armnn::ClWorkloadFactory, armnn::DataType::QAsymmS8>(&factory);
51 }
52 
53 TEST_CASE_FIXTURE(ClContextControlFixture, "IsLayerSupportedQSymmS8Cl")
54 {
55  armnn::ClWorkloadFactory factory =
56  ClWorkloadFactoryHelper::GetFactory(ClWorkloadFactoryHelper::GetMemoryManager());
57  IsLayerSupportedTests<armnn::ClWorkloadFactory, armnn::DataType::QSymmS8>(&factory);
58 }
59 
60 TEST_CASE_FIXTURE(ClContextControlFixture, "IsConvertFp16ToFp32SupportedCl")
61 {
62  std::string reasonIfUnsupported;
63 
64  bool result = IsConvertLayerSupportedTests<armnn::ClWorkloadFactory, armnn::ConvertFp16ToFp32Layer,
66 
67  CHECK(result);
68 }
69 
70 TEST_CASE_FIXTURE(ClContextControlFixture, "IsConvertFp16ToFp32SupportedFp32InputCl")
71 {
72  std::string reasonIfUnsupported;
73 
74  bool result = IsConvertLayerSupportedTests<armnn::ClWorkloadFactory, armnn::ConvertFp16ToFp32Layer,
75  armnn::DataType::Float32, armnn::DataType::Float32>(reasonIfUnsupported);
76 
77  CHECK(!result);
78  CHECK_EQ(reasonIfUnsupported, "Input should be Float16");
79 }
80 
81 TEST_CASE_FIXTURE(ClContextControlFixture, "IsConvertFp16ToFp32SupportedFp16OutputCl")
82 {
83  std::string reasonIfUnsupported;
84 
85  bool result = IsConvertLayerSupportedTests<armnn::ClWorkloadFactory, armnn::ConvertFp16ToFp32Layer,
86  armnn::DataType::Float16, armnn::DataType::Float16>(reasonIfUnsupported);
87 
88  CHECK(!result);
89  CHECK_EQ(reasonIfUnsupported, "Output should be Float32");
90 }
91 
92 TEST_CASE_FIXTURE(ClContextControlFixture, "IsConvertFp32ToFp16SupportedCl")
93 {
94  std::string reasonIfUnsupported;
95 
96  bool result = IsConvertLayerSupportedTests<armnn::ClWorkloadFactory, armnn::ConvertFp32ToFp16Layer,
98 
99  CHECK(result);
100 }
101 
102 TEST_CASE_FIXTURE(ClContextControlFixture, "IsConvertFp32ToFp16SupportedFp16InputCl")
103 {
104  std::string reasonIfUnsupported;
105 
106  bool result = IsConvertLayerSupportedTests<armnn::ClWorkloadFactory, armnn::ConvertFp32ToFp16Layer,
107  armnn::DataType::Float16, armnn::DataType::Float16>(reasonIfUnsupported);
108 
109  CHECK(!result);
110  CHECK_EQ(reasonIfUnsupported, "Input should be Float32");
111 }
112 
113 TEST_CASE_FIXTURE(ClContextControlFixture, "IsConvertFp32ToFp16SupportedFp32OutputCl")
114 {
115  std::string reasonIfUnsupported;
116 
117  bool result = IsConvertLayerSupportedTests<armnn::ClWorkloadFactory, armnn::ConvertFp32ToFp16Layer,
118  armnn::DataType::Float32, armnn::DataType::Float32>(reasonIfUnsupported);
119 
120  CHECK(!result);
121  CHECK_EQ(reasonIfUnsupported, "Output should be Float16");
122 }
123 
124 TEST_CASE_FIXTURE(ClContextControlFixture, "IsLogicalBinarySupportedCl")
125 {
126  std::string reasonIfUnsupported;
127 
128  bool result = IsLogicalBinaryLayerSupportedTests<armnn::ClWorkloadFactory,
129  armnn::DataType::Boolean, armnn::DataType::Boolean>(reasonIfUnsupported);
130 
131  CHECK(result);
132 }
133 
134 TEST_CASE_FIXTURE(ClContextControlFixture, "IsLogicalBinaryBroadcastSupportedCl")
135 {
136  std::string reasonIfUnsupported;
137 
138  bool result = IsLogicalBinaryLayerBroadcastSupportedTests<armnn::ClWorkloadFactory,
139  armnn::DataType::Boolean, armnn::DataType::Boolean>(reasonIfUnsupported);
140 
141  CHECK(result);
142 }
143 
144 TEST_CASE_FIXTURE(ClContextControlFixture, "IsMeanSupportedCl")
145 {
146  std::string reasonIfUnsupported;
147 
148  bool result = IsMeanLayerSupportedTests<armnn::ClWorkloadFactory,
149  armnn::DataType::Float32, armnn::DataType::Float32>(reasonIfUnsupported);
150 
151  CHECK(result);
152 }
153 
154 TEST_CASE("IsConstantSupportedCl")
155 {
156  std::string reasonIfUnsupported;
157 
158  bool result = IsConstantLayerSupportedTests<armnn::ClWorkloadFactory,
159  armnn::DataType::Float16>(reasonIfUnsupported);
160  CHECK(result);
161 
162  result = IsConstantLayerSupportedTests<armnn::ClWorkloadFactory,
163  armnn::DataType::Float32>(reasonIfUnsupported);
164  CHECK(result);
165 
166  result = IsConstantLayerSupportedTests<armnn::ClWorkloadFactory,
167  armnn::DataType::QAsymmU8>(reasonIfUnsupported);
168  CHECK(result);
169 
170  result = IsConstantLayerSupportedTests<armnn::ClWorkloadFactory,
171  armnn::DataType::Boolean>(reasonIfUnsupported);
172  CHECK(!result);
173 
174  result = IsConstantLayerSupportedTests<armnn::ClWorkloadFactory,
175  armnn::DataType::QSymmS16>(reasonIfUnsupported);
176  CHECK(result);
177 
178  result = IsConstantLayerSupportedTests<armnn::ClWorkloadFactory,
179  armnn::DataType::QSymmS8>(reasonIfUnsupported);
180  CHECK(result);
181 
182  result = IsConstantLayerSupportedTests<armnn::ClWorkloadFactory,
183  armnn::DataType::QAsymmS8>(reasonIfUnsupported);
184  CHECK(result);
185 
186  result = IsConstantLayerSupportedTests<armnn::ClWorkloadFactory,
187  armnn::DataType::BFloat16>(reasonIfUnsupported);
188  CHECK(!result);
189 }
190 
191 }
This layer converts data type Float 16 to Float 32.
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")
This layer converts data type Float 32 to Float 16.