blob: 6f1eb0347bdfa7ee950b75a38b71d7a616ab8254 [file] [log] [blame]
telsoa014fcda012018-03-09 14:13:49 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
telsoa014fcda012018-03-09 14:13:49 +00004//
5#pragma once
6
Jim Flynn906f9462019-05-10 13:55:21 +01007#include <armnn/Deprecated.hpp>
telsoa014fcda012018-03-09 14:13:49 +00008#include <armnn/DescriptorsFwd.hpp>
David Beck5eec11d2018-10-04 15:43:17 +01009#include <armnn/Optional.hpp>
Matthew Bentham313e1c82019-03-25 17:37:47 +000010#include <armnn/Tensor.hpp>
11#include <armnn/Types.hpp>
Jan Eilersd01a83c2019-07-03 18:20:40 +010012#include "LstmParams.hpp"
James Conroyee18dc82019-07-17 11:27:46 +010013#include "QuantizedLstmParams.hpp"
arovir01a6824102018-08-28 17:40:45 +010014
telsoa014fcda012018-03-09 14:13:49 +000015namespace armnn
16{
17
David Becke6488712018-10-16 11:32:20 +010018/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +010019bool IsActivationSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +000020 const TensorInfo& input,
telsoa01c577f2c2018-08-31 09:22:23 +010021 const TensorInfo& output,
telsoa014fcda012018-03-09 14:13:49 +000022 const ActivationDescriptor& descriptor,
23 char* reasonIfUnsupported = nullptr,
24 size_t reasonIfUnsupportedMaxLength = 1024);
25
David Becke6488712018-10-16 11:32:20 +010026/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +010027bool IsAdditionSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +000028 const TensorInfo& input0,
29 const TensorInfo& input1,
30 const TensorInfo& output,
31 char* reasonIfUnsupported = nullptr,
32 size_t reasonIfUnsupportedMaxLength = 1024);
33
David Becke6488712018-10-16 11:32:20 +010034/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +010035bool IsBatchNormalizationSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +000036 const TensorInfo& input,
telsoa01c577f2c2018-08-31 09:22:23 +010037 const TensorInfo& output,
38 const TensorInfo& mean,
39 const TensorInfo& var,
40 const TensorInfo& beta,
41 const TensorInfo& gamma,
telsoa014fcda012018-03-09 14:13:49 +000042 const BatchNormalizationDescriptor& descriptor,
43 char* reasonIfUnsupported = nullptr,
44 size_t reasonIfUnsupportedMaxLength = 1024);
45
David Becke6488712018-10-16 11:32:20 +010046/// Deprecated in favor of IBackend and ILayerSupport interfaces
Éanna Ó Catháin4e1e1362018-11-12 11:36:34 +000047bool IsBatchToSpaceNdSupported(const BackendId& backend,
48 const TensorInfo& input,
49 const TensorInfo& output,
50 const BatchToSpaceNdDescriptor& descriptor,
51 char* reasonIfUnsupported = nullptr,
52 size_t reasonIfUnsupportedMaxLength = 1024);
53
54/// Deprecated in favor of IBackend and ILayerSupport interfaces
Jim Flynn906f9462019-05-10 13:55:21 +010055bool IsConcatSupported(const BackendId& backend,
56 const std::vector<const TensorInfo*> inputs,
57 const TensorInfo& output,
58 const OriginsDescriptor& descriptor,
59 char* reasonIfUnsupported = nullptr,
60 size_t reasonIfUnsupportedMaxLength = 1024);
61
62/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +010063bool IsConstantSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +000064 const TensorInfo& output,
65 char* reasonIfUnsupported = nullptr,
66 size_t reasonIfUnsupportedMaxLength = 1024);
67
David Becke6488712018-10-16 11:32:20 +010068/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +010069bool IsConvertFp16ToFp32Supported(const BackendId& backend,
telsoa01c577f2c2018-08-31 09:22:23 +010070 const TensorInfo& input,
71 const TensorInfo& output,
72 char* reasonIfUnsupported = nullptr,
73 size_t reasonIfUnsupportedMaxLength = 1024);
74
David Becke6488712018-10-16 11:32:20 +010075/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +010076bool IsConvertFp32ToFp16Supported(const BackendId& backend,
telsoa01c577f2c2018-08-31 09:22:23 +010077 const TensorInfo& input,
78 const TensorInfo& output,
79 char* reasonIfUnsupported = nullptr,
80 size_t reasonIfUnsupportedMaxLength = 1024);
81
David Becke6488712018-10-16 11:32:20 +010082/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +010083bool IsConvolution2dSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +000084 const TensorInfo& input,
surmeh013537c2c2018-05-18 16:31:43 +010085 const TensorInfo& output,
telsoa014fcda012018-03-09 14:13:49 +000086 const Convolution2dDescriptor& descriptor,
87 const TensorInfo& weights,
David Beck5eec11d2018-10-04 15:43:17 +010088 const Optional<TensorInfo>& biases,
telsoa014fcda012018-03-09 14:13:49 +000089 char* reasonIfUnsupported = nullptr,
90 size_t reasonIfUnsupportedMaxLength = 1024);
91
David Becke6488712018-10-16 11:32:20 +010092/// Deprecated in favor of IBackend and ILayerSupport interfaces
Nattapat Chaimanowonga9a1cf12018-12-03 16:06:49 +000093bool IsDebugSupported(const BackendId& backend,
94 const TensorInfo& input,
95 const TensorInfo& output,
96 char* reasonIfUnsupported = nullptr,
97 size_t reasonIfUnsupportedMaxLength = 1024);
98
99/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100100bool IsDepthwiseConvolutionSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000101 const TensorInfo& input,
telsoa01c577f2c2018-08-31 09:22:23 +0100102 const TensorInfo& output,
telsoa014fcda012018-03-09 14:13:49 +0000103 const DepthwiseConvolution2dDescriptor& descriptor,
104 const TensorInfo& weights,
David Beck5eec11d2018-10-04 15:43:17 +0100105 const Optional<TensorInfo>& biases,
telsoa014fcda012018-03-09 14:13:49 +0000106 char* reasonIfUnsupported = nullptr,
107 size_t reasonIfUnsupportedMaxLength = 1024);
108
David Becke6488712018-10-16 11:32:20 +0100109/// Deprecated in favor of IBackend and ILayerSupport interfaces
Nattapat Chaimanowonge4294fd2019-03-28 09:56:53 +0000110bool IsDequantizeSupported(const BackendId& backend,
111 const TensorInfo& input,
112 const TensorInfo& output,
113 char* reasonIfUnsupported = nullptr,
114 size_t reasonIfUnsupportedMaxLength = 1024);
115
116/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100117bool IsDivisionSupported(const BackendId& backend,
Francis Murtaghe7a86a42018-08-29 12:42:10 +0100118 const TensorInfo& input0,
119 const TensorInfo& input1,
120 const TensorInfo& output,
121 char* reasonIfUnsupported = nullptr,
122 size_t reasonIfUnsupportedMaxLength = 1024);
123
David Becke6488712018-10-16 11:32:20 +0100124/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matteo Martincigh992d6dc2019-01-10 17:34:20 +0000125bool IsEqualSupported(const BackendId& backend,
126 const TensorInfo& input0,
127 const TensorInfo& input1,
128 const TensorInfo& output,
129 char* reasonIfUnsupported = nullptr,
130 size_t reasonIfUnsupportedMaxLength = 1024);
David Beckc2044fe2018-09-05 15:00:38 +0100131
David Becke6488712018-10-16 11:32:20 +0100132/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matteo Martincigh992d6dc2019-01-10 17:34:20 +0000133bool IsFakeQuantizationSupported(const BackendId& backend,
134 const TensorInfo& input,
135 const FakeQuantizationDescriptor& descriptor,
136 char* reasonIfUnsupported = nullptr,
137 size_t reasonIfUnsupportedMaxLength = 1024);
138
139/// Deprecated in favor of IBackend and ILayerSupport interfaces
140bool IsFloorSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000141 const TensorInfo& input,
Matteo Martincigh992d6dc2019-01-10 17:34:20 +0000142 const TensorInfo& output,
telsoa014fcda012018-03-09 14:13:49 +0000143 char* reasonIfUnsupported = nullptr,
144 size_t reasonIfUnsupportedMaxLength = 1024);
145
David Becke6488712018-10-16 11:32:20 +0100146/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100147bool IsFullyConnectedSupported(const BackendId& backend,
telsoa01c577f2c2018-08-31 09:22:23 +0100148 const TensorInfo& input,
149 const TensorInfo& output,
150 const TensorInfo& weights,
151 const TensorInfo& biases,
152 const FullyConnectedDescriptor& descriptor,
telsoa014fcda012018-03-09 14:13:49 +0000153 char* reasonIfUnsupported = nullptr,
154 size_t reasonIfUnsupportedMaxLength = 1024);
155
David Becke6488712018-10-16 11:32:20 +0100156/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matteo Martincigh992d6dc2019-01-10 17:34:20 +0000157bool IsGreaterSupported(const BackendId& backend,
158 const TensorInfo& input0,
159 const TensorInfo& input1,
160 const TensorInfo& output,
161 char* reasonIfUnsupported = nullptr,
162 size_t reasonIfUnsupportedMaxLength = 1024);
163
164/// Deprecated in favor of IBackend and ILayerSupport interfaces
165bool IsInputSupported(const BackendId& backend,
166 const TensorInfo& input,
167 char* reasonIfUnsupported = nullptr,
168 size_t reasonIfUnsupportedMaxLength = 1024);
169
170/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100171bool IsL2NormalizationSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000172 const TensorInfo& input,
telsoa01c577f2c2018-08-31 09:22:23 +0100173 const TensorInfo& output,
Matteo Martincighbcd3c852018-09-28 14:14:12 +0100174 const L2NormalizationDescriptor& descriptor,
telsoa014fcda012018-03-09 14:13:49 +0000175 char* reasonIfUnsupported = nullptr,
176 size_t reasonIfUnsupportedMaxLength = 1024);
177
David Becke6488712018-10-16 11:32:20 +0100178/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100179bool IsLstmSupported(const BackendId& backend, const TensorInfo& input, const TensorInfo& outputStateIn,
telsoa01c577f2c2018-08-31 09:22:23 +0100180 const TensorInfo& cellStateIn, const TensorInfo& scratchBuffer,
181 const TensorInfo& outputStateOut, const TensorInfo& cellStateOut,
182 const TensorInfo& output, const LstmDescriptor& descriptor,
Jan Eilersd01a83c2019-07-03 18:20:40 +0100183 const LstmInputParamsInfo& paramsInfo, char* reasonIfUnsupported = nullptr,
telsoa01c577f2c2018-08-31 09:22:23 +0100184 size_t reasonIfUnsupportedMaxLength = 1024);
185
David Becke6488712018-10-16 11:32:20 +0100186/// Deprecated in favor of IBackend and ILayerSupport interfaces
Nattapat Chaimanowong5a4304a2018-11-28 10:44:37 +0000187bool IsMaximumSupported(const BackendId& backend,
188 const TensorInfo& input0,
189 const TensorInfo& input1,
190 const TensorInfo& output,
191 char* reasonIfUnSupported = nullptr,
192 size_t reasonIfUnSupportedMaxLength = 0);
193
194/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matteo Martincigh992d6dc2019-01-10 17:34:20 +0000195bool IsMeanSupported(const BackendId& backend,
196 const TensorInfo& input,
197 const TensorInfo& output,
198 const MeanDescriptor& descriptor,
199 char* reasonIfUnsupported = nullptr,
200 size_t reasonIfUnsupportedMaxLength = 1024);
201
202/// Deprecated in favor of IBackend and ILayerSupport interfaces
203bool IsMemCopySupported(const BackendId& backend,
204 const TensorInfo& input,
205 const TensorInfo& output,
206 char* reasonIfUnsupported = nullptr,
207 size_t reasonIfUnsupportedMaxLength = 1024);
208
209/// Deprecated in favor of IBackend and ILayerSupport interfaces
Nattapat Chaimanowong1f886302019-04-05 13:37:19 +0100210bool IsMergeSupported(const BackendId& backend,
211 const TensorInfo& input0,
212 const TensorInfo& input1,
213 const TensorInfo& output,
214 char* reasonIfUnsupported = nullptr,
215 size_t reasonIfUnsupportedMaxLength = 1024);
216
217/// Deprecated in favor of IBackend and ILayerSupport interfaces
Jim Flynn906f9462019-05-10 13:55:21 +0100218ARMNN_DEPRECATED_MSG("Use IsConcatSupported instead")
David Beck3cc9a622018-10-12 10:38:31 +0100219bool IsMergerSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000220 const std::vector<const TensorInfo*> inputs,
Nikhil Raj8599a412018-11-19 14:51:07 +0000221 const TensorInfo& output,
telsoa014fcda012018-03-09 14:13:49 +0000222 const OriginsDescriptor& descriptor,
223 char* reasonIfUnsupported = nullptr,
224 size_t reasonIfUnsupportedMaxLength = 1024);
225
David Becke6488712018-10-16 11:32:20 +0100226/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matteo Martincigh992d6dc2019-01-10 17:34:20 +0000227bool IsMinimumSupported(const BackendId& backend,
228 const TensorInfo& input0,
229 const TensorInfo& input1,
230 const TensorInfo& output,
231 char* reasonIfUnsupported = nullptr,
232 size_t reasonIfUnsupportedMaxLength = 1024);
233
234/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100235bool IsMultiplicationSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000236 const TensorInfo& input0,
237 const TensorInfo& input1,
telsoa01c577f2c2018-08-31 09:22:23 +0100238 const TensorInfo& output,
telsoa014fcda012018-03-09 14:13:49 +0000239 char* reasonIfUnsupported = nullptr,
240 size_t reasonIfUnsupportedMaxLength = 1024);
241
David Becke6488712018-10-16 11:32:20 +0100242/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100243bool IsNormalizationSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000244 const TensorInfo& input,
245 const TensorInfo& output,
246 const NormalizationDescriptor& descriptor,
247 char* reasonIfUnsupported = nullptr,
248 size_t reasonIfUnsupportedMaxLength = 1024);
249
David Becke6488712018-10-16 11:32:20 +0100250/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100251bool IsOutputSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000252 const TensorInfo& output,
253 char* reasonIfUnsupported = nullptr,
254 size_t reasonIfUnsupportedMaxLength = 1024);
255
David Becke6488712018-10-16 11:32:20 +0100256/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matteo Martincigh992d6dc2019-01-10 17:34:20 +0000257bool IsPadSupported(const BackendId& backend,
258 const TensorInfo& input,
259 const TensorInfo& output,
260 const PadDescriptor& descriptor,
261 char* reasonIfUnsupported = nullptr,
262 size_t reasonIfUnsupportedMaxLength = 1024);
263
264/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100265bool IsPermuteSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000266 const TensorInfo& input,
267 const TensorInfo& output,
268 const PermuteDescriptor& descriptor,
269 char* reasonIfUnsupported = nullptr,
270 size_t reasonIfUnsupportedMaxLength = 1024);
271
David Becke6488712018-10-16 11:32:20 +0100272/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matteo Martincigh49124022019-01-11 13:25:59 +0000273bool IsPreCompiledSupported(const BackendId& backend,
274 const TensorInfo& input,
275 char* reasonIfUnsupported = nullptr,
276 size_t reasonIfUnsupportedMaxLength = 1024);
277
278/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matteo Martincigh0e406ee2019-06-12 15:42:18 +0100279bool IsPreluSupported(const BackendId& backend,
280 const TensorInfo& input,
281 const TensorInfo& alpha,
282 const TensorInfo& output,
283 char* reasonIfUnsupported = nullptr,
284 size_t reasonIfUnsupportedMaxLength = 1024);
285
286/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100287bool IsPooling2dSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000288 const TensorInfo& input,
289 const TensorInfo& output,
290 const Pooling2dDescriptor& descriptor,
291 char* reasonIfUnsupported = nullptr,
292 size_t reasonIfUnsupportedMaxLength = 1024);
293
David Becke6488712018-10-16 11:32:20 +0100294/// Deprecated in favor of IBackend and ILayerSupport interfaces
James Conroyee18dc82019-07-17 11:27:46 +0100295bool IsQuantizedLstmSupported(const BackendId& backend,
296 const TensorInfo& input,
297 const TensorInfo& previousCellStateIn,
298 const TensorInfo& previousOutputIn,
299 const TensorInfo& cellStateOut,
300 const TensorInfo& output,
301 const QuantizedLstmInputParamsInfo& paramsInfo,
302 char* reasonIfUnsupported = nullptr,
303 size_t reasonIfUnsupportedMaxLength = 1024);
304
305/// Deprecated in favor of IBackend and ILayerSupport interfaces
Sadik Armagan0c3ea5b2021-02-03 09:29:30 +0000306bool IsReduceSupported(const BackendId& backend,
307 const TensorInfo& input,
308 const TensorInfo& output,
309 const ReduceDescriptor& descriptor,
310 char* reasonIfUnsupported = nullptr,
311 size_t reasonIfUnsupportedMaxLength = 1024);
312
313/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matteo Martincigh992d6dc2019-01-10 17:34:20 +0000314bool IsReshapeSupported(const BackendId& backend,
315 const TensorInfo& input,
316 const ReshapeDescriptor& descriptor,
317 char* reasonIfUnsupported = nullptr,
318 size_t reasonIfUnsupportedMaxLength = 1024);
319
320/// Deprecated in favor of IBackend and ILayerSupport interfaces
Aron Virginas-Tar169d2f12019-07-01 19:01:44 +0100321ARMNN_DEPRECATED_MSG("Use IsResizeSupported instead")
David Beck3cc9a622018-10-12 10:38:31 +0100322bool IsResizeBilinearSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000323 const TensorInfo& input,
Sadik Armaganc625f002018-12-17 11:32:16 +0000324 const TensorInfo& output,
telsoa014fcda012018-03-09 14:13:49 +0000325 char* reasonIfUnsupported = nullptr,
326 size_t reasonIfUnsupportedMaxLength = 1024);
327
David Becke6488712018-10-16 11:32:20 +0100328/// Deprecated in favor of IBackend and ILayerSupport interfaces
Aron Virginas-Tar169d2f12019-07-01 19:01:44 +0100329bool IsResizeSupported(const BackendId& backend,
330 const TensorInfo& input,
331 const TensorInfo& output,
332 const ResizeDescriptor& descriptor,
333 char* reasonIfUnsupported = nullptr,
334 size_t reasonIfUnsupportedMaxLength = 1024);
335
336/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matteo Martincigh992d6dc2019-01-10 17:34:20 +0000337bool IsRsqrtSupported(const BackendId& backend,
338 const TensorInfo& input,
339 const TensorInfo& output,
340 char* reasonIfUnsupported = nullptr,
341 size_t reasonIfUnsupportedMaxLength = 1024);
342
343/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100344bool IsSoftmaxSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000345 const TensorInfo& input,
telsoa01c577f2c2018-08-31 09:22:23 +0100346 const TensorInfo& output,
telsoa014fcda012018-03-09 14:13:49 +0000347 const SoftmaxDescriptor& descriptor,
348 char* reasonIfUnsupported = nullptr,
349 size_t reasonIfUnsupportedMaxLength = 1024);
350
David Becke6488712018-10-16 11:32:20 +0100351/// Deprecated in favor of IBackend and ILayerSupport interfaces
Nattapat Chaimanowong207ef9a2018-11-02 10:57:25 +0000352bool IsSpaceToBatchNdSupported(const BackendId& backend,
353 const TensorInfo& input,
354 const TensorInfo& output,
355 const SpaceToBatchNdDescriptor& descriptor,
356 char* reasonIfUnsupported = nullptr,
357 size_t reasonIfUnsupportedMaxLength = 1024);
358
Aron Virginas-Tar972af152019-06-11 14:14:03 +0100359/// Deprecated in favor of IBackend and ILayerSupport interfaces
360bool IsSpaceToDepthSupported(const BackendId& backend,
361 const TensorInfo& input,
362 const TensorInfo& output,
363 const SpaceToDepthDescriptor& descriptor,
364 char* reasonIfUnsupported = nullptr,
365 size_t reasonIfUnsupportedMaxLength = 1024);
366
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +0100367ARMNN_DEPRECATED_MSG("Use IsSplitterSupported with outputs instead")
368bool IsSplitterSupported(const BackendId& backend,
369 const TensorInfo& input,
370 const ViewsDescriptor& descriptor,
371 char* reasonIfUnsupported = nullptr,
372 size_t reasonIfUnsupportedMaxLength = 1024);
373
Nattapat Chaimanowong207ef9a2018-11-02 10:57:25 +0000374/// Deprecated in favor of IBackend and ILayerSupport interfaces
David Beck3cc9a622018-10-12 10:38:31 +0100375bool IsSplitterSupported(const BackendId& backend,
telsoa014fcda012018-03-09 14:13:49 +0000376 const TensorInfo& input,
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +0100377 const std::vector<std::reference_wrapper<TensorInfo>>& outputs,
telsoa014fcda012018-03-09 14:13:49 +0000378 const ViewsDescriptor& descriptor,
379 char* reasonIfUnsupported = nullptr,
380 size_t reasonIfUnsupportedMaxLength = 1024);
381
David Becke6488712018-10-16 11:32:20 +0100382/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matthew Jackson2b8c1da2019-07-04 14:59:16 +0100383bool IsStackSupported(const BackendId& backend,
384 const std::vector<const TensorInfo*> inputs,
385 const TensorInfo& output,
386 const StackDescriptor& descriptor,
387 char* reasonIfUnsupported = nullptr,
388 size_t reasonIfUnsupportedMaxLength = 1024);
389
390/// Deprecated in favor of IBackend and ILayerSupport interfaces
Conor Kennedy430b5d82018-11-14 15:28:28 +0000391bool IsStridedSliceSupported(const BackendId& backend,
392 const TensorInfo& input,
393 const TensorInfo& output,
394 const StridedSliceDescriptor& descriptor,
395 char* reasonIfUnsupported = nullptr,
396 size_t reasonIfUnsupportedMaxLength = 1024);
397
kevmay0190539692018-11-29 08:40:19 +0000398/// Deprecated in favor of IBackend and ILayerSupport interfaces
Matteo Martincigh992d6dc2019-01-10 17:34:20 +0000399bool IsSubtractionSupported(const BackendId& backend,
400 const TensorInfo& input0,
401 const TensorInfo& input1,
402 const TensorInfo& output,
403 char* reasonIfUnsupported = nullptr,
404 size_t reasonIfUnsupportedMaxLength = 1024);
Sadik Armaganeff363d2019-04-05 15:25:46 +0100405
406/// Deprecated in favor of IBackend and ILayerSupport interfaces
407bool IsSwitchSupported(const BackendId& backend,
408 const TensorInfo& input0,
409 const TensorInfo& input1,
410 const TensorInfo& output0,
411 const TensorInfo& output1,
412 char* reasonIfUnsupported = nullptr,
413 size_t reasonIfUnsupportedMaxLength = 1024);
Aron Virginas-Tar639fb042019-06-20 14:28:19 +0100414
415/// Deprecated in favor of IBackend and ILayerSupport interfaces
416bool IsTransposeConvolution2dSupported(const BackendId& backend,
417 const TensorInfo& input,
418 const TensorInfo& output,
419 const TransposeConvolution2dDescriptor& descriptor,
420 const TensorInfo& weights,
421 const Optional<TensorInfo>& biases,
422 char* reasonIfUnsupported = nullptr,
423 size_t reasonIfUnsupportedMaxLength = 1024);
Sadik Armagan0c3ea5b2021-02-03 09:29:30 +0000424
telsoa014fcda012018-03-09 14:13:49 +0000425}