blob: 6f7437413a8018b44c3ec72c1e2e5159d6a4c2f1 [file] [log] [blame]
Derek Lambertie3803ea2019-11-13 10:36:08 +00001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "WorkloadFactory.hpp"
9
10namespace armnn
11{
12
13class WorkloadFactoryBase : public IWorkloadFactory
14{
15public:
16 bool SupportsSubTensors() const override
17 { return false; };
18
19 std::unique_ptr<ITensorHandle> CreateSubTensorHandle(ITensorHandle& parent, TensorShape const& subTensorShape,
20 unsigned int const *subTensorOrigin) const override
21 { return nullptr; };
22
23 std::unique_ptr<IWorkload> CreateInput(const InputQueueDescriptor& descriptor,
24 const WorkloadInfo& info) const override
25 { return nullptr; }
26
27 std::unique_ptr<ITensorHandle> CreateTensorHandle(const TensorInfo& tensorInfo,
28 const bool IsMemoryManaged = true) const override
29 { return nullptr; }
30
31 std::unique_ptr<ITensorHandle> CreateTensorHandle(const TensorInfo& tensorInfo, DataLayout dataLayout,
32 const bool IsMemoryManaged = true) const override
33 { return nullptr; }
34
35 std::unique_ptr<IWorkload> CreateAbs(const AbsQueueDescriptor& descriptor,
36 const WorkloadInfo& info) const override
37 { return nullptr; }
38
39 std::unique_ptr<IWorkload> CreateActivation(const ActivationQueueDescriptor& descriptor,
40 const WorkloadInfo& info) const override
41 { return nullptr; }
42
43 std::unique_ptr<IWorkload> CreateAddition(const AdditionQueueDescriptor& descriptor,
44 const WorkloadInfo& info) const override
45 { return nullptr; }
46
47 std::unique_ptr<IWorkload> CreateArgMinMax(const ArgMinMaxQueueDescriptor& descriptor,
48 const WorkloadInfo& info) const override
49 { return nullptr; }
50
51 std::unique_ptr<IWorkload> CreateBatchNormalization(const BatchNormalizationQueueDescriptor& descriptor,
52 const WorkloadInfo& info) const override
53 { return nullptr; }
54
55 std::unique_ptr<IWorkload> CreateBatchToSpaceNd(const BatchToSpaceNdQueueDescriptor& descriptor,
56 const WorkloadInfo& Info) const override
57 { return nullptr; }
58
59 std::unique_ptr<IWorkload> CreateComparison(const ComparisonQueueDescriptor& descriptor,
60 const WorkloadInfo& Info) const override
61 { return nullptr; }
62
63 std::unique_ptr<IWorkload> CreateConcat(const ConcatQueueDescriptor& descriptor,
64 const WorkloadInfo& info) const override
65 { return nullptr; }
66
67 std::unique_ptr<IWorkload> CreateConstant(const ConstantQueueDescriptor& descriptor,
68 const WorkloadInfo& info) const override
69 { return nullptr; }
70
71 std::unique_ptr<IWorkload> CreateConvertFp16ToFp32(const ConvertFp16ToFp32QueueDescriptor& descriptor,
72 const WorkloadInfo& info) const override
73 { return nullptr; }
74
75 std::unique_ptr<IWorkload> CreateConvertFp32ToFp16(const ConvertFp32ToFp16QueueDescriptor& descriptor,
76 const WorkloadInfo& info) const override
77 { return nullptr; }
78
79 std::unique_ptr<IWorkload> CreateConvolution2d(const Convolution2dQueueDescriptor& descriptor,
80 const WorkloadInfo& info) const override
81 { return nullptr; }
82
83 std::unique_ptr<IWorkload> CreateDebug(const DebugQueueDescriptor& descriptor,
84 const WorkloadInfo& info) const override
85 { return nullptr; }
86
87 std::unique_ptr<IWorkload> CreateDepthToSpace(const DepthToSpaceQueueDescriptor& descriptor,
88 const WorkloadInfo& info) const override
89 { return nullptr; }
90
91 std::unique_ptr<IWorkload> CreateDepthwiseConvolution2d(const DepthwiseConvolution2dQueueDescriptor& descriptor,
92 const WorkloadInfo& info) const override
93 { return nullptr; }
94
95 std::unique_ptr<IWorkload> CreateDequantize(const DequantizeQueueDescriptor& descriptor,
96 const WorkloadInfo& info) const override
97 { return nullptr; }
98
99 std::unique_ptr<IWorkload> CreateDetectionPostProcess(const DetectionPostProcessQueueDescriptor& descriptor,
100 const WorkloadInfo& info) const override
101 { return nullptr; }
102
103 std::unique_ptr<IWorkload> CreateDivision(const DivisionQueueDescriptor& descriptor,
104 const WorkloadInfo& info) const override
105 { return nullptr; }
106
107 std::unique_ptr<IWorkload> CreateFakeQuantization(const FakeQuantizationQueueDescriptor& descriptor,
108 const WorkloadInfo& info) const override
109 { return nullptr; }
110
111 std::unique_ptr<IWorkload> CreateFloor(const FloorQueueDescriptor& descriptor,
112 const WorkloadInfo& info) const override
113 { return nullptr; }
114
115 std::unique_ptr<IWorkload> CreateFullyConnected(const FullyConnectedQueueDescriptor& descriptor,
116 const WorkloadInfo& info) const override
117 { return nullptr; }
118
119 std::unique_ptr<IWorkload> CreateGather(const GatherQueueDescriptor& descriptor,
120 const WorkloadInfo& info) const override
121 { return nullptr; }
122
123 std::unique_ptr<IWorkload> CreateInstanceNormalization(const InstanceNormalizationQueueDescriptor& descriptor,
124 const WorkloadInfo& info) const override
125 { return nullptr; }
126
127 std::unique_ptr<IWorkload> CreateL2Normalization(const L2NormalizationQueueDescriptor& descriptor,
128 const WorkloadInfo& info) const override
129 { return nullptr; }
130
131 std::unique_ptr<IWorkload> CreateLogSoftmax(const LogSoftmaxQueueDescriptor& descriptor,
132 const WorkloadInfo& info) const override
133 { return nullptr; }
134
135 std::unique_ptr<IWorkload> CreateLstm(const LstmQueueDescriptor& descriptor,
136 const WorkloadInfo& info) const override
137 { return nullptr; }
138
139 std::unique_ptr<IWorkload> CreateMaximum(const MaximumQueueDescriptor& descriptor,
140 const WorkloadInfo& info) const override
141 { return nullptr; }
142
143 std::unique_ptr<IWorkload> CreateMean(const MeanQueueDescriptor& descriptor,
144 const WorkloadInfo& Info) const override
145 { return nullptr; }
146
147 std::unique_ptr<IWorkload> CreateMemCopy(const MemCopyQueueDescriptor& descriptor,
148 const WorkloadInfo& info) const override
149 { return nullptr; }
150
151 std::unique_ptr<IWorkload> CreateMemImport(const MemImportQueueDescriptor& descriptor,
152 const WorkloadInfo& info) const override
153 { return nullptr; }
154
155 std::unique_ptr<IWorkload> CreateMerge(const MergeQueueDescriptor& descriptor,
156 const WorkloadInfo& info) const override
157 { return nullptr; }
158
159 std::unique_ptr<IWorkload> CreateMinimum(const MinimumQueueDescriptor& descriptor,
160 const WorkloadInfo& info) const override
161 { return nullptr; }
162
163 std::unique_ptr<IWorkload> CreateMultiplication(const MultiplicationQueueDescriptor& descriptor,
164 const WorkloadInfo& info) const override
165 { return nullptr; }
166
167 std::unique_ptr<IWorkload> CreateNormalization(const NormalizationQueueDescriptor& descriptor,
168 const WorkloadInfo& info) const override
169 { return nullptr; }
170
171 std::unique_ptr<IWorkload> CreateOutput(const OutputQueueDescriptor& descriptor,
172 const WorkloadInfo& info) const override
173 { return nullptr; }
174
175 std::unique_ptr<IWorkload> CreatePad(const PadQueueDescriptor& descriptor,
176 const WorkloadInfo& Info) const override
177 { return nullptr; }
178
179 std::unique_ptr<IWorkload> CreatePermute(const PermuteQueueDescriptor& descriptor,
180 const WorkloadInfo& info) const override
181 { return nullptr; }
182
183 std::unique_ptr<IWorkload> CreatePooling2d(const Pooling2dQueueDescriptor& descriptor,
184 const WorkloadInfo& info) const override
185 { return nullptr; }
186
187 std::unique_ptr<IWorkload> CreatePreCompiled(const PreCompiledQueueDescriptor& descriptor,
188 const WorkloadInfo& info) const override
189 { return nullptr; }
190
191 std::unique_ptr<IWorkload> CreatePrelu(const PreluQueueDescriptor& descriptor,
192 const WorkloadInfo& info) const override
193 { return nullptr; }
194
195 std::unique_ptr<IWorkload> CreateQuantize(const QuantizeQueueDescriptor& descriptor,
196 const WorkloadInfo& Info) const override
197 { return nullptr; }
198
199 std::unique_ptr<IWorkload> CreateQuantizedLstm(const QuantizedLstmQueueDescriptor& descriptor,
200 const WorkloadInfo& info) const override
201 { return nullptr; }
202
203 std::unique_ptr<IWorkload> CreateReshape(const ReshapeQueueDescriptor& descriptor,
204 const WorkloadInfo& info) const override
205 { return nullptr; }
206
207 std::unique_ptr<IWorkload> CreateResize(const ResizeQueueDescriptor& descriptor,
208 const WorkloadInfo& info) const override
209 { return nullptr; }
210
211 std::unique_ptr<IWorkload> CreateRsqrt(const RsqrtQueueDescriptor& descriptor,
212 const WorkloadInfo& info) const override
213 { return nullptr; }
214
215 std::unique_ptr<IWorkload> CreateSlice(const SliceQueueDescriptor& descriptor,
216 const WorkloadInfo& info) const override
217 { return nullptr; }
218
219 std::unique_ptr<IWorkload> CreateSoftmax(const SoftmaxQueueDescriptor& descriptor,
220 const WorkloadInfo& info) const override
221 { return nullptr; }
222
223 std::unique_ptr<IWorkload> CreateSpaceToBatchNd(const SpaceToBatchNdQueueDescriptor& descriptor,
224 const WorkloadInfo& info) const override
225 { return nullptr; }
226
227 std::unique_ptr<IWorkload> CreateSpaceToDepth(const SpaceToDepthQueueDescriptor& descriptor,
228 const WorkloadInfo& info) const override
229 { return nullptr; }
230
231 std::unique_ptr<IWorkload> CreateSubtraction(const SubtractionQueueDescriptor& descriptor,
232 const WorkloadInfo& info) const override
233 { return nullptr; }
234
235 std::unique_ptr<IWorkload> CreateSplitter(const SplitterQueueDescriptor& descriptor,
236 const WorkloadInfo& info) const override
237 { return nullptr; }
238
239 std::unique_ptr<IWorkload> CreateStack(const StackQueueDescriptor& descriptor,
240 const WorkloadInfo& info) const override
241 { return nullptr; }
242
243 std::unique_ptr<IWorkload> CreateStridedSlice(const StridedSliceQueueDescriptor& descriptor,
244 const WorkloadInfo& Info) const override
245 { return nullptr; }
246
247 std::unique_ptr<IWorkload> CreateSwitch(const SwitchQueueDescriptor& descriptor,
248 const WorkloadInfo& Info) const override
249 { return nullptr; }
250
251 std::unique_ptr<IWorkload> CreateTransposeConvolution2d(const TransposeConvolution2dQueueDescriptor& descriptor,
252 const WorkloadInfo& info) const override
253 { return nullptr; }
254};
255
256} //namespace armnn