From 8efb48a6847c5cd166c561127ae6611150963ce3 Mon Sep 17 00:00:00 2001 From: Nikhil Raj Date: Fri, 19 May 2023 11:14:28 +0100 Subject: Update Doxygen docu for 23.05 Signed-off-by: Nikhil Raj Change-Id: I0a992286f14fa68fcc6e5eba31ac39fed003cbbe --- 23.05/_workload_factory_8hpp_source.xhtml | 636 ++++++++++++++++++++++++++++++ 1 file changed, 636 insertions(+) create mode 100644 23.05/_workload_factory_8hpp_source.xhtml (limited to '23.05/_workload_factory_8hpp_source.xhtml') diff --git a/23.05/_workload_factory_8hpp_source.xhtml b/23.05/_workload_factory_8hpp_source.xhtml new file mode 100644 index 0000000000..1941f7d7e5 --- /dev/null +++ b/23.05/_workload_factory_8hpp_source.xhtml @@ -0,0 +1,636 @@ + + + + + + + + + + + + + +ArmNN: include/armnn/backends/WorkloadFactory.hpp Source File + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  23.05 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
WorkloadFactory.hpp
+
+
+Go to the documentation of this file.
1 //
+
2 // Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+
3 // SPDX-License-Identifier: MIT
+
4 //
+
5 #pragma once
+
6 
+
7 #include "ITensorHandle.hpp"
+
8 #include "Workload.hpp"
+
9 
+
10 #include <armnn/Optional.hpp>
+
11 #include <armnn/INetwork.hpp>
+
12 #include <armnn/TensorFwd.hpp>
+
13 
+
14 #include <memory>
+
15 
+
16 namespace armnn
+
17 {
+
18 
+
19 class Layer;
+
20 
+
21 // Workload factory interface for compute backends.
+ +
23 {
+
24 public:
+
25  virtual ~IWorkloadFactory() { }
+
26 
+
27  virtual void AfterWorkloadsCreated() {};
+
28 
+
29  virtual const BackendId& GetBackendId() const = 0;
+
30 
+
31  static bool IsLayerSupported(const BackendId& backendId,
+
32  const IConnectableLayer& layer,
+
33  Optional<DataType> dataType,
+
34  std::string& outReasonIfUnsupported);
+
35 
+
36  static bool IsLayerSupported(const IConnectableLayer& layer,
+
37  Optional<DataType> dataType,
+
38  std::string& outReasonIfUnsupported);
+
39 
+
40  static bool IsLayerSupported(const IConnectableLayer& layer,
+
41  Optional<DataType> dataType,
+
42  std::string& outReasonIfUnsupported,
+
43  const ModelOptions& modelOptions);
+
44 
+
45  static bool IsLayerSupported(const BackendId& backendId,
+
46  const IConnectableLayer& layer,
+
47  Optional<DataType> dataType,
+
48  std::string& outReasonIfUnsupported,
+
49  const ModelOptions& modelOptions);
+
50 
+
51  virtual bool SupportsSubTensors() const = 0;
+
52 
+
53  ARMNN_DEPRECATED_MSG("Use ITensorHandleFactory::CreateSubTensorHandle instead")
+
54  virtual std::unique_ptr<ITensorHandle> CreateSubTensorHandle(ITensorHandle& parent,
+
55  TensorShape const& subTensorShape,
+
56  unsigned int const* subTensorOrigin
+
57  ) const = 0;
+
58 
+ +
60  virtual std::unique_ptr<ITensorHandle> CreateTensorHandle(const TensorInfo& tensorInfo,
+
61  const bool IsMemoryManaged = true) const = 0;
+
62 
+ +
64  virtual std::unique_ptr<ITensorHandle> CreateTensorHandle(const TensorInfo& tensorInfo,
+
65  DataLayout dataLayout,
+
66  const bool IsMemoryManaged = true) const = 0;
+
67 
+
68  virtual std::unique_ptr<IWorkload> CreateWorkload(LayerType type,
+
69  const QueueDescriptor& descriptor,
+
70  const WorkloadInfo& info) const;
+
71 
+
72  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
73  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
74  virtual std::unique_ptr<IWorkload> CreateInput(const InputQueueDescriptor& descriptor,
+
75  const WorkloadInfo& info) const;
+
76 
+
77  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
78  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
79  virtual std::unique_ptr<IWorkload> CreateActivation(const ActivationQueueDescriptor& descriptor,
+
80  const WorkloadInfo& info) const;
+
81 
+
82  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
83  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
84  virtual std::unique_ptr<IWorkload> CreateAddition(const AdditionQueueDescriptor& descriptor,
+
85  const WorkloadInfo& info) const;
+
86 
+
87  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
88  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
89  virtual std::unique_ptr<IWorkload> CreateArgMinMax(const ArgMinMaxQueueDescriptor& descriptor,
+
90  const WorkloadInfo& info) const;
+
91 
+
92  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
93  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
94  virtual std::unique_ptr<IWorkload> CreateBatchNormalization(const BatchNormalizationQueueDescriptor& descriptor,
+
95  const WorkloadInfo& info) const;
+
96 
+
97  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
98  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
99  virtual std::unique_ptr<IWorkload> CreateBatchToSpaceNd(const BatchToSpaceNdQueueDescriptor& descriptor,
+
100  const WorkloadInfo& Info) const;
+
101 
+
102  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
103  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
104  virtual std::unique_ptr<IWorkload> CreateCast(const CastQueueDescriptor& descriptor,
+
105  const WorkloadInfo& Info) const;
+
106 
+
107  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
108  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
109  virtual std::unique_ptr<IWorkload> CreateChannelShuffle(const ChannelShuffleQueueDescriptor& descriptor,
+
110  const WorkloadInfo& info) const;
+
111 
+
112  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
113  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
114  virtual std::unique_ptr<IWorkload> CreateComparison(const ComparisonQueueDescriptor& descriptor,
+
115  const WorkloadInfo& Info) const;
+
116 
+
117  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
118  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
119  virtual std::unique_ptr<IWorkload> CreateConcat(const ConcatQueueDescriptor& descriptor,
+
120  const WorkloadInfo& info) const;
+
121 
+
122  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
123  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
124  virtual std::unique_ptr<IWorkload> CreateConstant(const ConstantQueueDescriptor& descriptor,
+
125  const WorkloadInfo& info) const;
+
126 
+
127  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
128  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
129  virtual std::unique_ptr<IWorkload> CreateConvertFp16ToFp32(const ConvertFp16ToFp32QueueDescriptor& descriptor,
+
130  const WorkloadInfo& info) const;
+
131 
+
132  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
133  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
134  virtual std::unique_ptr<IWorkload> CreateConvertFp32ToFp16(const ConvertFp32ToFp16QueueDescriptor& descriptor,
+
135  const WorkloadInfo& info) const;
+
136 
+
137  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
138  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
139  virtual std::unique_ptr<IWorkload> CreateConvolution2d(const Convolution2dQueueDescriptor& descriptor,
+
140  const WorkloadInfo& info) const;
+
141 
+
142  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
143  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
144  virtual std::unique_ptr<IWorkload> CreateConvolution3d(const Convolution3dQueueDescriptor& descriptor,
+
145  const WorkloadInfo& info) const;
+
146 
+
147  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
148  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
149  virtual std::unique_ptr<IWorkload> CreateDebug(const DebugQueueDescriptor& descriptor,
+
150  const WorkloadInfo& info) const;
+
151 
+
152  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
153  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
154  virtual std::unique_ptr<IWorkload> CreateDepthToSpace(const DepthToSpaceQueueDescriptor& descriptor,
+
155  const WorkloadInfo& info) const;
+
156 
+
157  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
158  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
159  virtual std::unique_ptr<IWorkload> CreateDepthwiseConvolution2d(
+
160  const DepthwiseConvolution2dQueueDescriptor& descriptor, const WorkloadInfo& info) const;
+
161 
+
162  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
163  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
164  virtual std::unique_ptr<IWorkload> CreateDequantize(const DequantizeQueueDescriptor& descriptor,
+
165  const WorkloadInfo& info) const;
+
166 
+
167  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
168  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
169  virtual std::unique_ptr<IWorkload> CreateDetectionPostProcess(
+
170  const DetectionPostProcessQueueDescriptor& descriptor, const WorkloadInfo& info) const;
+
171 
+
172  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
173  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
174  virtual std::unique_ptr<IWorkload> CreateDivision(const DivisionQueueDescriptor& descriptor,
+
175  const WorkloadInfo& info) const;
+
176 
+
177  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
178  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
179  virtual std::unique_ptr<IWorkload> CreateElementwiseUnary(const ElementwiseUnaryQueueDescriptor& descriptor,
+
180  const WorkloadInfo& Info) const;
+
181 
+
182  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
183  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
184  virtual std::unique_ptr<IWorkload> CreateFakeQuantization(const FakeQuantizationQueueDescriptor& descriptor,
+
185  const WorkloadInfo& info) const;
+
186 
+
187  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
188  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
189  virtual std::unique_ptr<IWorkload> CreateFill(const FillQueueDescriptor& descriptor,
+
190  const WorkloadInfo& info) const;
+
191 
+
192  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
193  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
194  virtual std::unique_ptr<IWorkload> CreateFloor(const FloorQueueDescriptor& descriptor,
+
195  const WorkloadInfo& info) const;
+
196 
+
197  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
198  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
199  virtual std::unique_ptr<IWorkload> CreateFullyConnected(const FullyConnectedQueueDescriptor& descriptor,
+
200  const WorkloadInfo& info) const;
+
201 
+
202  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
203  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
204  virtual std::unique_ptr<IWorkload> CreateGather(const GatherQueueDescriptor& descriptor,
+
205  const WorkloadInfo& info) const;
+
206 
+
207  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
208  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
209  virtual std::unique_ptr<IWorkload> CreateInstanceNormalization(
+
210  const InstanceNormalizationQueueDescriptor& descriptor,
+
211  const WorkloadInfo& info) const;
+
212 
+
213  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
214  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
215  virtual std::unique_ptr<IWorkload> CreateL2Normalization(const L2NormalizationQueueDescriptor& descriptor,
+
216  const WorkloadInfo& info) const;
+
217 
+
218  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
219  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
220  virtual std::unique_ptr<IWorkload> CreateLogicalBinary(const LogicalBinaryQueueDescriptor& descriptor,
+
221  const WorkloadInfo& Info) const;
+
222 
+
223  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
224  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
225  virtual std::unique_ptr<IWorkload> CreateLogicalUnary(const ElementwiseUnaryQueueDescriptor& descriptor,
+
226  const WorkloadInfo& Info) const;
+
227 
+
228  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
229  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
230  virtual std::unique_ptr<IWorkload> CreateLogSoftmax(const LogSoftmaxQueueDescriptor& descriptor,
+
231  const WorkloadInfo& info) const;
+
232 
+
233  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
234  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
235  virtual std::unique_ptr<IWorkload> CreateLstm(const LstmQueueDescriptor& descriptor,
+
236  const WorkloadInfo& info) const;
+
237 
+
238  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
239  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
240  virtual std::unique_ptr<IWorkload> CreateMaximum(const MaximumQueueDescriptor& descriptor,
+
241  const WorkloadInfo& info) const;
+
242 
+
243  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
244  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
245  virtual std::unique_ptr<IWorkload> CreateMean(const MeanQueueDescriptor& descriptor,
+
246  const WorkloadInfo& Info) const;
+
247 
+
248  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
249  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
250  virtual std::unique_ptr<IWorkload> CreateMemCopy(const MemCopyQueueDescriptor& descriptor,
+
251  const WorkloadInfo& info) const;
+
252 
+
253  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
254  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
255  virtual std::unique_ptr<IWorkload> CreateMemImport(const MemImportQueueDescriptor& descriptor,
+
256  const WorkloadInfo& info) const;
+
257 
+
258  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
259  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
260  virtual std::unique_ptr<IWorkload> CreateMerge(const MergeQueueDescriptor& descriptor,
+
261  const WorkloadInfo& info) const;
+
262 
+
263  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
264  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
265  virtual std::unique_ptr<IWorkload> CreateMinimum(const MinimumQueueDescriptor& descriptor,
+
266  const WorkloadInfo& info) const;
+
267 
+
268  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
269  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
270  virtual std::unique_ptr<IWorkload> CreateMultiplication(const MultiplicationQueueDescriptor& descriptor,
+
271  const WorkloadInfo& info) const;
+
272 
+
273  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
274  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
275  virtual std::unique_ptr<IWorkload> CreateNormalization(const NormalizationQueueDescriptor& descriptor,
+
276  const WorkloadInfo& info) const;
+
277 
+
278  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
279  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
280  virtual std::unique_ptr<IWorkload> CreateOutput(const OutputQueueDescriptor& descriptor,
+
281  const WorkloadInfo& info) const;
+
282 
+
283  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
284  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
285  virtual std::unique_ptr<IWorkload> CreatePad(const PadQueueDescriptor& descriptor,
+
286  const WorkloadInfo& Info) const;
+
287 
+
288  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
289  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
290  virtual std::unique_ptr<IWorkload> CreatePermute(const PermuteQueueDescriptor& descriptor,
+
291  const WorkloadInfo& info) const;
+
292 
+
293  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
294  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
295  virtual std::unique_ptr<IWorkload> CreatePooling2d(const Pooling2dQueueDescriptor& descriptor,
+
296  const WorkloadInfo& info) const;
+
297 
+
298  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
299  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
300  virtual std::unique_ptr<IWorkload> CreatePooling3d(const Pooling3dQueueDescriptor& descriptor,
+
301  const WorkloadInfo& info) const;
+
302 
+
303  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
304  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
305  virtual std::unique_ptr<IWorkload> CreatePreCompiled(const PreCompiledQueueDescriptor& descriptor,
+
306  const WorkloadInfo& info) const;
+
307 
+
308  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
309  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
310  virtual std::unique_ptr<IWorkload> CreatePrelu(const PreluQueueDescriptor& descriptor,
+
311  const WorkloadInfo& info) const;
+
312 
+
313  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
314  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
315  virtual std::unique_ptr<IWorkload> CreateQuantize(const QuantizeQueueDescriptor& descriptor,
+
316  const WorkloadInfo& Info) const;
+
317 
+
318  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
319  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
320  virtual std::unique_ptr<IWorkload> CreateQLstm(const QLstmQueueDescriptor& descriptor,
+
321  const WorkloadInfo& info) const;
+
322 
+
323  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
324  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
325  virtual std::unique_ptr<IWorkload> CreateQuantizedLstm(const QuantizedLstmQueueDescriptor& descriptor,
+
326  const WorkloadInfo& info) const;
+
327 
+
328  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
329  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
330  virtual std::unique_ptr<IWorkload> CreateRank(const RankQueueDescriptor& descriptor,
+
331  const WorkloadInfo& info) const;
+
332 
+
333  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
334  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
335  virtual std::unique_ptr<IWorkload> CreateReduce(const ReduceQueueDescriptor& descriptor,
+
336  const WorkloadInfo& info) const;
+
337 
+
338  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
339  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
340  virtual std::unique_ptr<IWorkload> CreateReshape(const ReshapeQueueDescriptor& descriptor,
+
341  const WorkloadInfo& info) const;
+
342 
+
343  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
344  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
345  virtual std::unique_ptr<IWorkload> CreateResize(const ResizeQueueDescriptor& descriptor,
+
346  const WorkloadInfo& info) const;
+
347 
+
348  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
349  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
350  virtual std::unique_ptr<IWorkload> CreateShape(const ShapeQueueDescriptor& descriptor,
+
351  const WorkloadInfo& info) const;
+
352 
+
353  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
354  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
355  virtual std::unique_ptr<IWorkload> CreateSlice(const SliceQueueDescriptor& descriptor,
+
356  const WorkloadInfo& info) const;
+
357 
+
358  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
359  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
360  virtual std::unique_ptr<IWorkload> CreateSoftmax(const SoftmaxQueueDescriptor& descriptor,
+
361  const WorkloadInfo& info) const;
+
362 
+
363  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
364  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
365  virtual std::unique_ptr<IWorkload> CreateSpaceToBatchNd(const SpaceToBatchNdQueueDescriptor& descriptor,
+
366  const WorkloadInfo& info) const;
+
367 
+
368  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
369  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
370  virtual std::unique_ptr<IWorkload> CreateSpaceToDepth(const SpaceToDepthQueueDescriptor& descriptor,
+
371  const WorkloadInfo& info) const;
+
372 
+
373  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
374  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
375  virtual std::unique_ptr<IWorkload> CreateSubtraction(const SubtractionQueueDescriptor& descriptor,
+
376  const WorkloadInfo& info) const;
+
377 
+
378  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
379  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
380  virtual std::unique_ptr<IWorkload> CreateSplitter(const SplitterQueueDescriptor& descriptor,
+
381  const WorkloadInfo& info) const;
+
382 
+
383  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
384  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
385  virtual std::unique_ptr<IWorkload> CreateStack(const StackQueueDescriptor& descriptor,
+
386  const WorkloadInfo& info) const;
+
387 
+
388  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
389  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
390  virtual std::unique_ptr<IWorkload> CreateStridedSlice(const StridedSliceQueueDescriptor& descriptor,
+
391  const WorkloadInfo& Info) const;
+
392 
+
393  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
394  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
395  virtual std::unique_ptr<IWorkload> CreateSwitch(const SwitchQueueDescriptor& descriptor,
+
396  const WorkloadInfo& Info) const;
+
397 
+
398  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
399  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
400  virtual std::unique_ptr<IWorkload> CreateTranspose(const TransposeQueueDescriptor& descriptor,
+
401  const WorkloadInfo& info) const;
+
402 
+
403  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
404  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
405  virtual std::unique_ptr<IWorkload> CreateTransposeConvolution2d(
+
406  const TransposeConvolution2dQueueDescriptor& descriptor,
+
407  const WorkloadInfo& info) const;
+
408 
+
409  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Use ABI stable "
+
410  "CreateWorkload(LayerType, const QueueDescriptor&, const WorkloadInfo& info) instead.", "23.08")
+
411  virtual std::unique_ptr<IWorkload> CreateUnidirectionalSequenceLstm(
+ +
413  const WorkloadInfo& info) const;
+
414 
+
415 private:
+
416  static bool IsLayerConfigurationSupported(const BackendId& backendId,
+
417  const IConnectableLayer& connectableLayer,
+
418  Optional<DataType> dataType,
+
419  std::string& outReasonIfUnsupported,
+
420  const ModelOptions& modelOptions = {});
+
421 };
+
422 
+
423 } // namespace armnn
+
+
+ + + + +
virtual std::unique_ptr< ITensorHandle > CreateSubTensorHandle(ITensorHandle &parent, TensorShape const &subTensorShape, unsigned int const *subTensorOrigin) const =0
+ + + + +
DataLayout
Definition: Types.hpp:62
+ + + + + + +
Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.
Definition: INetwork.hpp:68
+ + +
virtual bool SupportsSubTensors() const =0
+
+
virtual const BackendId & GetBackendId() const =0
+ +
Depthwise Convolution 2D layer workload data.
+ + +
std::vector< BackendOptions > ModelOptions
+ + +
#define ARMNN_DEPRECATED_MSG_REMOVAL_DATE(message, removed_in_release)
Definition: Deprecated.hpp:44
+ + +
#define ARMNN_DEPRECATED_MSG(message)
Definition: Deprecated.hpp:43
+ + + + +
Copyright (c) 2021 ARM Limited and Contributors.
+ + + + + + + + + + + +
LayerType
When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below.
Definition: Types.hpp:479
+ + + +
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo, const bool IsMemoryManaged=true) const =0
+ + + +
static bool IsLayerSupported(const BackendId &backendId, const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported)
+ + + + + +
virtual void AfterWorkloadsCreated()
+ + + + + + + + +
Contains information about TensorInfos of a layer.
+
Workload interface to enqueue a layer computation.
Definition: IWorkload.hpp:23
+ +
DataType
Definition: Types.hpp:48
+ + + + + + + + +
virtual std::unique_ptr< IWorkload > CreateWorkload(LayerType type, const QueueDescriptor &descriptor, const WorkloadInfo &info) const
+ + + + + + + + + + + + + + + + -- cgit v1.2.1