From f86be93b7492b381370cae7bf71eca8572a0cbae Mon Sep 17 00:00:00 2001 From: Matthew Sloyan Date: Tue, 24 Aug 2021 16:27:15 +0100 Subject: IVGCVSW-5924 Update 21.08 Doxygen Documents * Also updated latest symlink. Signed-off-by: Matthew Sloyan Change-Id: If9b4e0e52464abdf797b9eb858ae19bcc64c2aea --- 21.08/classarmnn_1_1_neon_workload_factory.xhtml | 3712 ++++++++++++++++++++++ 1 file changed, 3712 insertions(+) create mode 100644 21.08/classarmnn_1_1_neon_workload_factory.xhtml (limited to '21.08/classarmnn_1_1_neon_workload_factory.xhtml') diff --git a/21.08/classarmnn_1_1_neon_workload_factory.xhtml b/21.08/classarmnn_1_1_neon_workload_factory.xhtml new file mode 100644 index 0000000000..aeddc27a16 --- /dev/null +++ b/21.08/classarmnn_1_1_neon_workload_factory.xhtml @@ -0,0 +1,3712 @@ + + + + + + + + + + + + + +ArmNN: NeonWorkloadFactory Class Reference + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  21.08 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
NeonWorkloadFactory Class Reference
+
+
+ +

#include <NeonWorkloadFactory.hpp>

+
+Inheritance diagram for NeonWorkloadFactory:
+
+
+ + +WorkloadFactoryBase +IWorkloadFactory + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 NeonWorkloadFactory (const std::shared_ptr< NeonMemoryManager > &memoryManager)
 
 NeonWorkloadFactory (const std::shared_ptr< NeonMemoryManager > &memoryManager, const IBackendInternal::IBackendSpecificModelContextPtr &modelContextPtr)
 
const BackendIdGetBackendId () const override
 
bool SupportsSubTensors () const override
 
std::unique_ptr< ITensorHandleCreateSubTensorHandle (ITensorHandle &parent, TensorShape const &subTensorShape, unsigned int const *subTensorOrigin) const override
 
std::unique_ptr< ITensorHandleCreateTensorHandle (const TensorInfo &tensorInfo, const bool IsMemoryManaged=true) const override
 
std::unique_ptr< ITensorHandleCreateTensorHandle (const TensorInfo &tensorInfo, DataLayout dataLayout, const bool IsMemoryManaged=true) const override
 
std::unique_ptr< IWorkloadCreateAbs (const AbsQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateActivation (const ActivationQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateAddition (const AdditionQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateArgMinMax (const ArgMinMaxQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateBatchNormalization (const BatchNormalizationQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateBatchToSpaceNd (const BatchToSpaceNdQueueDescriptor &descriptor, const WorkloadInfo &Info) const override
 
std::unique_ptr< IWorkloadCreateCast (const CastQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateComparison (const ComparisonQueueDescriptor &descriptor, const WorkloadInfo &Info) const override
 
std::unique_ptr< IWorkloadCreateConcat (const ConcatQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateConstant (const ConstantQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateConvertBf16ToFp32 (const ConvertBf16ToFp32QueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateConvertFp16ToFp32 (const ConvertFp16ToFp32QueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateConvertFp32ToBf16 (const ConvertFp32ToBf16QueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateConvertFp32ToFp16 (const ConvertFp32ToFp16QueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateConvolution2d (const Convolution2dQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateDebug (const DebugQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateDepthToSpace (const DepthToSpaceQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateDepthwiseConvolution2d (const DepthwiseConvolution2dQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateDequantize (const DequantizeQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateDetectionPostProcess (const DetectionPostProcessQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateDivision (const DivisionQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateElementwiseUnary (const ElementwiseUnaryQueueDescriptor &descriptor, const WorkloadInfo &Info) const override
 
std::unique_ptr< IWorkloadCreateEqual (const EqualQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateFill (const FillQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateFloor (const FloorQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateFullyConnected (const FullyConnectedQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateGather (const GatherQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateGreater (const GreaterQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateInput (const InputQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateInstanceNormalization (const InstanceNormalizationQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateL2Normalization (const L2NormalizationQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateLogicalBinary (const LogicalBinaryQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateLogSoftmax (const LogSoftmaxQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateLstm (const LstmQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateMaximum (const MaximumQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateMean (const MeanQueueDescriptor &descriptor, const WorkloadInfo &Info) const override
 
std::unique_ptr< IWorkloadCreateMemCopy (const MemCopyQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateMemImport (const MemImportQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateMerger (const MergerQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateMinimum (const MinimumQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateMultiplication (const MultiplicationQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateNormalization (const NormalizationQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateOutput (const OutputQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreatePad (const PadQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreatePermute (const PermuteQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreatePooling2d (const Pooling2dQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreatePreCompiled (const PreCompiledQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreatePrelu (const PreluQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateQLstm (const QLstmQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateQuantize (const QuantizeQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateQuantizedLstm (const QuantizedLstmQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateRank (const RankQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateReduce (const ReduceQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateReshape (const ReshapeQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateResize (const ResizeQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateResizeBilinear (const ResizeBilinearQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateRsqrt (const RsqrtQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateSlice (const SliceQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateSoftmax (const SoftmaxQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateSpaceToBatchNd (const SpaceToBatchNdQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateSpaceToDepth (const SpaceToDepthQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateSplitter (const SplitterQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateStack (const StackQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateStridedSlice (const StridedSliceQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateSubtraction (const SubtractionQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateTranspose (const TransposeQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateTransposeConvolution2d (const TransposeConvolution2dQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
- Public Member Functions inherited from WorkloadFactoryBase
std::unique_ptr< IWorkloadCreateFakeQuantization (const FakeQuantizationQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateMerge (const MergeQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateSwitch (const SwitchQueueDescriptor &, const WorkloadInfo &) const override
 
- Public Member Functions inherited from IWorkloadFactory
virtual ~IWorkloadFactory ()
 
virtual void AfterWorkloadsCreated ()
 
virtual std::unique_ptr< IWorkloadCreateLogicalUnary (const ElementwiseUnaryQueueDescriptor &descriptor, const WorkloadInfo &Info) const
 
virtual std::unique_ptr< IWorkloadCreateShape (const ShapeQueueDescriptor &descriptor, const WorkloadInfo &info) const
 
virtual std::unique_ptr< IWorkloadCreateUnidirectionalSequenceLstm (const UnidirectionalSequenceLstmQueueDescriptor &descriptor, const WorkloadInfo &info) const
 
+ + + + + + + + + + + + + + +

+Static Public Member Functions

static bool IsLayerSupported (const Layer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported)
 
static bool IsLayerSupported (const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported, const ModelOptions &modelOptions)
 
- Static Public Member Functions inherited from IWorkloadFactory
static bool IsLayerSupported (const BackendId &backendId, const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported)
 
static bool IsLayerSupported (const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported)
 
static bool IsLayerSupported (const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported, const ModelOptions &modelOptions)
 
static bool IsLayerSupported (const BackendId &backendId, const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported, const ModelOptions &modelOptions)
 
+

Detailed Description

+
+

Definition at line 20 of file NeonWorkloadFactory.hpp.

+

Constructor & Destructor Documentation

+ +

◆ NeonWorkloadFactory() [1/2]

+ +
+
+ + + + + + + + +
NeonWorkloadFactory (const std::shared_ptr< NeonMemoryManager > & memoryManager)
+
+ +

Definition at line 73 of file NeonWorkloadFactory.cpp.

+
74  : m_MemoryManager(memoryManager), m_ModelContextPtr(IBackendInternal::IBackendSpecificModelContextPtr{})
75 {
76  SetNumberOfThreads();
77 }
std::shared_ptr< IBackendModelContext > IBackendSpecificModelContextPtr
+
+
+
+ +

◆ NeonWorkloadFactory() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
NeonWorkloadFactory (const std::shared_ptr< NeonMemoryManager > & memoryManager,
const IBackendInternal::IBackendSpecificModelContextPtrmodelContextPtr 
)
+
+ +

Definition at line 79 of file NeonWorkloadFactory.cpp.

+
81  : m_MemoryManager(memoryManager), m_ModelContextPtr(modelContextPtr)
82 {
83  SetNumberOfThreads();
84 }
+
+
+

Member Function Documentation

+ +

◆ CreateAbs()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateAbs (const AbsQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 134 of file NeonWorkloadFactory.cpp.

+ +

References armnn::Abs, NeonWorkloadFactory::CreateElementwiseUnary(), armnn::IgnoreUnused(), and QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
136 {
137  IgnoreUnused(descriptor);
138 
139  ElementwiseUnaryQueueDescriptor elementwiseUnaryDescriptor;
140  elementwiseUnaryDescriptor.m_Parameters = ElementwiseUnaryDescriptor(UnaryOperation::Abs);
141 
142  return CreateElementwiseUnary(elementwiseUnaryDescriptor, info);
143 }
+
void IgnoreUnused(Ts &&...)
+ +
std::unique_ptr< IWorkload > CreateElementwiseUnary(const ElementwiseUnaryQueueDescriptor &descriptor, const WorkloadInfo &Info) const override
+
+
+
+ +

◆ CreateActivation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateActivation (const ActivationQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 145 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors(), and TEST_SUITE().

+
147 {
148  return std::make_unique<NeonActivationWorkload>(descriptor, info);
149 }
+
+
+
+ +

◆ CreateAddition()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateAddition (const AdditionQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 151 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
153 {
154  return std::make_unique<NeonAdditionWorkload>(descriptor, info);
155 }
+
+
+
+ +

◆ CreateArgMinMax()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateArgMinMax (const ArgMinMaxQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 157 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
159 {
160  return std::make_unique<NeonArgMinMaxWorkload>(descriptor, info);
161 }
+
+
+
+ +

◆ CreateBatchNormalization()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateBatchNormalization (const BatchNormalizationQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 163 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
165 {
166  return std::make_unique<NeonBatchNormalizationWorkload>(descriptor, info);
167 }
+
+
+
+ +

◆ CreateBatchToSpaceNd()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateBatchToSpaceNd (const BatchToSpaceNdQueueDescriptordescriptor,
const WorkloadInfoInfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 169 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
171 {
172  return std::make_unique<NeonBatchToSpaceNdWorkload>(descriptor, info);
173 }
+
+
+
+ +

◆ CreateCast()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateCast (const CastQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from IWorkloadFactory.

+ +

Definition at line 175 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
177 {
178  return std::make_unique<NeonCastWorkload>(descriptor, info);
179 }
+
+
+
+ +

◆ CreateComparison()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateComparison (const ComparisonQueueDescriptordescriptor,
const WorkloadInfoInfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 181 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::CreateEqual(), NeonWorkloadFactory::CreateGreater(), and NeonWorkloadFactory::SupportsSubTensors().

+
183 {
184  return std::make_unique<NeonComparisonWorkload>(descriptor, info);
185 }
+
+
+
+ +

◆ CreateConcat()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateConcat (const ConcatQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 187 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::CreateMerger(), and NeonWorkloadFactory::SupportsSubTensors().

+
189 {
190  return std::make_unique<NeonConcatWorkload>(descriptor, info);
191 }
+
+
+
+ +

◆ CreateConstant()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateConstant (const ConstantQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 193 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
195 {
196  return std::make_unique<NeonConstantWorkload>(descriptor, info);
197 }
+
+
+
+ +

◆ CreateConvertBf16ToFp32()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateConvertBf16ToFp32 (const ConvertBf16ToFp32QueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from IWorkloadFactory.

+ +

Definition at line 199 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
202 {
203  return std::make_unique<NeonConvertBf16ToFp32Workload>(descriptor, info);
204 }
+
+
+
+ +

◆ CreateConvertFp16ToFp32()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateConvertFp16ToFp32 (const ConvertFp16ToFp32QueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 206 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
209 {
210  return std::make_unique<NeonConvertFp16ToFp32Workload>(descriptor, info);
211 }
+
+
+
+ +

◆ CreateConvertFp32ToBf16()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateConvertFp32ToBf16 (const ConvertFp32ToBf16QueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from IWorkloadFactory.

+ +

Definition at line 213 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
216 {
217  return std::make_unique<NeonConvertFp32ToBf16Workload>(descriptor, info);
218 }
+
+
+
+ +

◆ CreateConvertFp32ToFp16()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateConvertFp32ToFp16 (const ConvertFp32ToFp16QueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 220 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
223 {
224  return std::make_unique<NeonConvertFp32ToFp16Workload>(descriptor, info);
225 }
+
+
+
+ +

◆ CreateConvolution2d()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateConvolution2d (const Convolution2dQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 227 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info, and NeonBackendModelContext::IsFastMathEnabled().

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
229 {
230  bool isFastMathEnabled = false;
231  if (m_ModelContextPtr)
232  {
233  if (m_ModelContextPtr.get() != nullptr)
234  {
235  auto modelOptions = dynamic_cast<NeonBackendModelContext*>(m_ModelContextPtr.get());
236  if (modelOptions)
237  {
238  isFastMathEnabled = modelOptions->IsFastMathEnabled();
239  }
240  }
241  }
242  return std::make_unique<NeonConvolution2dWorkload>(descriptor,
243  info,
244  m_MemoryManager->GetIntraLayerManager(),
245  isFastMathEnabled);
246 }
+
+
+
+ +

◆ CreateDebug()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateDebug (const DebugQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 248 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
250 {
251  return MakeWorkloadHelper<NullWorkload, NullWorkload>(descriptor, info);
252 }
+
+
+
+ +

◆ CreateDepthToSpace()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateDepthToSpace (const DepthToSpaceQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 254 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
256 {
257  return std::make_unique<NeonDepthToSpaceWorkload>(descriptor, info);
258 }
+
+
+
+ +

◆ CreateDepthwiseConvolution2d()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateDepthwiseConvolution2d (const DepthwiseConvolution2dQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 260 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
262 {
263  return std::make_unique<NeonDepthwiseConvolutionWorkload>(descriptor, info);
264 }
+
+
+
+ +

◆ CreateDequantize()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateDequantize (const DequantizeQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 266 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
268 {
269  return std::make_unique<NeonDequantizeWorkload>(descriptor, info);
270 }
+
+
+
+ +

◆ CreateDetectionPostProcess()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateDetectionPostProcess (const DetectionPostProcessQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 272 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
274 {
275  return MakeWorkloadHelper<NullWorkload, NullWorkload>(descriptor, info);
276 }
+
+
+
+ +

◆ CreateDivision()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateDivision (const DivisionQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 278 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
280 {
281  return std::make_unique<NeonDivisionWorkload>(descriptor, info);
282 }
+
+
+
+ +

◆ CreateElementwiseUnary()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateElementwiseUnary (const ElementwiseUnaryQueueDescriptordescriptor,
const WorkloadInfoInfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 284 of file NeonWorkloadFactory.cpp.

+ +

References armnn::Abs, armnn::Exp, armnn::info, armnn::Log, armnn::LogicalNot, QueueDescriptor::m_Inputs, ElementwiseUnaryDescriptor::m_Operation, QueueDescriptor::m_Outputs, QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters, armnn::Neg, armnn::Rsqrt, and armnn::Sin.

+ +

Referenced by NeonWorkloadFactory::CreateAbs(), NeonWorkloadFactory::CreateRsqrt(), and NeonWorkloadFactory::SupportsSubTensors().

+
286 {
287  switch(descriptor.m_Parameters.m_Operation)
288  {
289  case UnaryOperation::Abs:
290  {
291  AbsQueueDescriptor absQueueDescriptor;
292  absQueueDescriptor.m_Inputs = descriptor.m_Inputs;
293  absQueueDescriptor.m_Outputs = descriptor.m_Outputs;
294 
295  return std::make_unique<NeonAbsWorkload>(absQueueDescriptor, info);
296  }
297  case UnaryOperation::Exp:
298  return std::make_unique<NeonExpWorkload>(descriptor, info);
300  return std::make_unique<NeonLogicalNotWorkload>(descriptor, info);
301  case UnaryOperation::Log:
302  return std::make_unique<NeonLogWorkload>(descriptor, info);
303  case UnaryOperation::Neg:
304  return std::make_unique<NeonNegWorkload>(descriptor, info);
306  {
307  RsqrtQueueDescriptor rsqrtQueueDescriptor;
308  rsqrtQueueDescriptor.m_Inputs = descriptor.m_Inputs;
309  rsqrtQueueDescriptor.m_Outputs = descriptor.m_Outputs;
310 
311  return std::make_unique<NeonRsqrtWorkload>(rsqrtQueueDescriptor, info);
312  }
313  case UnaryOperation::Sin:
314  return std::make_unique<NeonSinWorkload>(descriptor, info);
315  default:
316  return nullptr;
317  }
318 }
+ + + + + + + +
+
+
+ +

◆ CreateEqual()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateEqual (const EqualQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from IWorkloadFactory.

+ +

Definition at line 320 of file NeonWorkloadFactory.cpp.

+ +

References NeonWorkloadFactory::CreateComparison(), armnn::Equal, armnn::IgnoreUnused(), and QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
322 {
323  IgnoreUnused(descriptor);
324 
325  ComparisonQueueDescriptor comparisonDescriptor;
326  comparisonDescriptor.m_Parameters = ComparisonDescriptor(ComparisonOperation::Equal);
327 
328  return CreateComparison(comparisonDescriptor, info);
329 }
+
std::unique_ptr< IWorkload > CreateComparison(const ComparisonQueueDescriptor &descriptor, const WorkloadInfo &Info) const override
+
void IgnoreUnused(Ts &&...)
+ +
+
+
+ +

◆ CreateFill()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateFill (const FillQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from IWorkloadFactory.

+ +

Definition at line 331 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
333 {
334  return std::make_unique<NeonFillWorkload>(descriptor, info);
335 }
+
+
+
+ +

◆ CreateFloor()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateFloor (const FloorQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 337 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
339 {
340  return MakeWorkloadHelper<NeonFloorFloatWorkload, NullWorkload>(descriptor, info);
341 }
+
+
+
+ +

◆ CreateFullyConnected()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateFullyConnected (const FullyConnectedQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 343 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
345 {
346  return std::make_unique<NeonFullyConnectedWorkload>(descriptor, info, m_MemoryManager->GetIntraLayerManager());
347 }
+
+
+
+ +

◆ CreateGather()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateGather (const GatherQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 349 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
351 {
352  return std::make_unique<NeonGatherWorkload>(descriptor, info);
353 }
+
+
+
+ +

◆ CreateGreater()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateGreater (const GreaterQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from IWorkloadFactory.

+ +

Definition at line 355 of file NeonWorkloadFactory.cpp.

+ +

References NeonWorkloadFactory::CreateComparison(), armnn::Greater, armnn::IgnoreUnused(), and QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
357 {
358  IgnoreUnused(descriptor);
359 
360  ComparisonQueueDescriptor comparisonDescriptor;
361  comparisonDescriptor.m_Parameters = ComparisonDescriptor(ComparisonOperation::Greater);
362 
363  return CreateComparison(comparisonDescriptor, info);
364 }
+
std::unique_ptr< IWorkload > CreateComparison(const ComparisonQueueDescriptor &descriptor, const WorkloadInfo &Info) const override
+
void IgnoreUnused(Ts &&...)
+ +
+
+
+ +

◆ CreateInput()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateInput (const InputQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 366 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
368 {
369  return std::make_unique<CopyMemGenericWorkload>(descriptor, info);
370 }
+
+
+
+ +

◆ CreateInstanceNormalization()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateInstanceNormalization (const InstanceNormalizationQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 372 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
375 {
376  return std::make_unique<NeonInstanceNormalizationWorkload>(descriptor, info);
377 }
+
+
+
+ +

◆ CreateL2Normalization()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateL2Normalization (const L2NormalizationQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 379 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
381 {
382  return MakeWorkloadHelper<NeonL2NormalizationFloatWorkload, NullWorkload>(descriptor, info,
383  m_MemoryManager->GetIntraLayerManager());
384 }
+
+
+
+ +

◆ CreateLogicalBinary()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateLogicalBinary (const LogicalBinaryQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from IWorkloadFactory.

+ +

Definition at line 392 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info, armnn::LogicalAnd, armnn::LogicalOr, LogicalBinaryDescriptor::m_Operation, and QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
394 {
395  switch(descriptor.m_Parameters.m_Operation)
396  {
398  return std::make_unique<NeonLogicalAndWorkload>(descriptor, info);
400  return std::make_unique<NeonLogicalOrWorkload>(descriptor, info);
401  default:
402  return nullptr;
403  }
404 }
+ + +
+
+
+ +

◆ CreateLogSoftmax()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateLogSoftmax (const LogSoftmaxQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 386 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
388 {
389  return std::make_unique<NeonLogSoftmaxWorkload>(descriptor, info, m_MemoryManager->GetIntraLayerManager());
390 }
+
+
+
+ +

◆ CreateLstm()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateLstm (const LstmQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 406 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
408 {
409  return MakeWorkloadHelper<NeonLstmFloatWorkload, NullWorkload>(descriptor, info);
410 }
+
+
+
+ +

◆ CreateMaximum()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateMaximum (const MaximumQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 412 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
414 {
415  return std::make_unique<NeonMaximumWorkload>(descriptor, info);
416 }
+
+
+
+ +

◆ CreateMean()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateMean (const MeanQueueDescriptordescriptor,
const WorkloadInfoInfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 418 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
420 {
421  return std::make_unique<NeonMeanWorkload>(descriptor, info);
422 }
+
+
+
+ +

◆ CreateMemCopy()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateMemCopy (const MemCopyQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 424 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info, and QueueDescriptor::m_Inputs.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
426 {
427  if (descriptor.m_Inputs.empty() || !descriptor.m_Inputs[0])
428  {
429  throw InvalidArgumentException("NeonWorkloadFactory: Invalid null input for MemCopy workload");
430  }
431 
432  return MakeWorkloadHelper<CopyMemGenericWorkload, CopyMemGenericWorkload>(descriptor, info);
433 }
+
+
+
+ +

◆ CreateMemImport()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateMemImport (const MemImportQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 435 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info, and QueueDescriptor::m_Inputs.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
437 {
438  if (descriptor.m_Inputs.empty() || !descriptor.m_Inputs[0])
439  {
440  throw InvalidArgumentException("NeonWorkloadFactory: Invalid null input for MemImport workload");
441  }
442 
443  return std::make_unique<ImportMemGenericWorkload>(descriptor, info);
444 }
+
+
+
+ +

◆ CreateMerger()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateMerger (const MergerQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from IWorkloadFactory.

+ +

Definition at line 446 of file NeonWorkloadFactory.cpp.

+ +

References NeonWorkloadFactory::CreateConcat().

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
448 {
449  return CreateConcat(descriptor, info);
450 }
+
std::unique_ptr< IWorkload > CreateConcat(const ConcatQueueDescriptor &descriptor, const WorkloadInfo &info) const override
+
+
+
+ +

◆ CreateMinimum()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateMinimum (const MinimumQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 452 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
454 {
455  return std::make_unique<NeonMinimumWorkload>(descriptor, info);
456 }
+
+
+
+ +

◆ CreateMultiplication()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateMultiplication (const MultiplicationQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 458 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
460 {
461  return std::make_unique<NeonMultiplicationWorkload>(descriptor, info);
462 }
+
+
+
+ +

◆ CreateNormalization()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateNormalization (const NormalizationQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 464 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
466 {
467  return MakeWorkloadHelper<NeonNormalizationFloatWorkload, NullWorkload>(descriptor, info,
468  m_MemoryManager->GetIntraLayerManager());
469 }
+
+
+
+ +

◆ CreateOutput()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateOutput (const OutputQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 471 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
473 {
474  return std::make_unique<CopyMemGenericWorkload>(descriptor, info);
475 }
+
+
+
+ +

◆ CreatePad()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreatePad (const PadQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 477 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
479 {
480  return std::make_unique<NeonPadWorkload>(descriptor, info);
481 }
+
+
+
+ +

◆ CreatePermute()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreatePermute (const PermuteQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 483 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
485 {
486  return std::make_unique<NeonPermuteWorkload>(descriptor, info);
487 }
+
+
+
+ +

◆ CreatePooling2d()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreatePooling2d (const Pooling2dQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 489 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
491 {
492  return std::make_unique<NeonPooling2dWorkload>(descriptor, info);
493 }
+
+
+
+ +

◆ CreatePreCompiled()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreatePreCompiled (const PreCompiledQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 495 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
497 {
498  return MakeWorkloadHelper<NullWorkload, NullWorkload>(descriptor, info);
499 }
+
+
+
+ +

◆ CreatePrelu()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreatePrelu (const PreluQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 501 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
503 {
504  return std::make_unique<NeonPreluWorkload>(descriptor, info);
505 }
+
+
+
+ +

◆ CreateQLstm()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateQLstm (const QLstmQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from IWorkloadFactory.

+ +

Definition at line 507 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
509 {
510  return std::make_unique<NeonQLstmWorkload>(descriptor, info);
511 }
+
+
+
+ +

◆ CreateQuantize()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateQuantize (const QuantizeQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 513 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
515 {
516  return std::make_unique<NeonQuantizeWorkload>(descriptor, info);
517 }
+
+
+
+ +

◆ CreateQuantizedLstm()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateQuantizedLstm (const QuantizedLstmQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 519 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
521 {
522  return std::make_unique<NeonQuantizedLstmWorkload>(descriptor, info);
523 }
+
+
+
+ +

◆ CreateRank()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateRank (const RankQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 525 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
527 {
528  return std::make_unique<NeonRankWorkload>(descriptor, info);
529 }
+
+
+
+ +

◆ CreateReduce()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateReduce (const ReduceQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from IWorkloadFactory.

+ +

Definition at line 531 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
533 {
534  return std::make_unique<NeonReduceWorkload>(descriptor, info);
535 }
+
+
+
+ +

◆ CreateReshape()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateReshape (const ReshapeQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 537 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
539 {
540  return std::make_unique<NeonReshapeWorkload>(descriptor, info);
541 }
+
+
+
+ +

◆ CreateResize()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateResize (const ResizeQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 543 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::CreateResizeBilinear(), and NeonWorkloadFactory::SupportsSubTensors().

+
545 {
546  return std::make_unique<NeonResizeWorkload>(descriptor, info);
547 }
+
+
+
+ +

◆ CreateResizeBilinear()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateResizeBilinear (const ResizeBilinearQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from IWorkloadFactory.

+ +

Definition at line 549 of file NeonWorkloadFactory.cpp.

+ +

References NeonWorkloadFactory::CreateResize(), ResizeBilinearDescriptor::m_DataLayout, ResizeDescriptor::m_DataLayout, QueueDescriptor::m_Inputs, QueueDescriptor::m_Outputs, QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters, ResizeBilinearDescriptor::m_TargetHeight, ResizeDescriptor::m_TargetHeight, ResizeBilinearDescriptor::m_TargetWidth, and ResizeDescriptor::m_TargetWidth.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
552 {
553  ResizeQueueDescriptor resizeDescriptor;
554  resizeDescriptor.m_Inputs = descriptor.m_Inputs;
555  resizeDescriptor.m_Outputs = descriptor.m_Outputs;
556 
557  resizeDescriptor.m_Parameters.m_DataLayout = descriptor.m_Parameters.m_DataLayout;
558  resizeDescriptor.m_Parameters.m_TargetWidth = descriptor.m_Parameters.m_TargetWidth;
559  resizeDescriptor.m_Parameters.m_TargetHeight = descriptor.m_Parameters.m_TargetHeight;
560 
561  return CreateResize(resizeDescriptor, info);
562 }
+
std::unique_ptr< IWorkload > CreateResize(const ResizeQueueDescriptor &descriptor, const WorkloadInfo &info) const override
+
+
+
+ +

◆ CreateRsqrt()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateRsqrt (const RsqrtQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 564 of file NeonWorkloadFactory.cpp.

+ +

References NeonWorkloadFactory::CreateElementwiseUnary(), armnn::IgnoreUnused(), QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters, and armnn::Rsqrt.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
566 {
567  IgnoreUnused(descriptor);
568 
569  ElementwiseUnaryQueueDescriptor elementwiseUnaryDescriptor;
570  elementwiseUnaryDescriptor.m_Parameters = ElementwiseUnaryDescriptor(UnaryOperation::Rsqrt);
571 
572  return CreateElementwiseUnary(elementwiseUnaryDescriptor, info);
573 }
void IgnoreUnused(Ts &&...)
+ +
std::unique_ptr< IWorkload > CreateElementwiseUnary(const ElementwiseUnaryQueueDescriptor &descriptor, const WorkloadInfo &Info) const override
+ +
+
+
+ +

◆ CreateSlice()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateSlice (const SliceQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 575 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
577 {
578  return std::make_unique<NeonSliceWorkload>(descriptor, info);
579 }
+
+
+
+ +

◆ CreateSoftmax()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateSoftmax (const SoftmaxQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 581 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
583 {
584  return std::make_unique<NeonSoftmaxWorkload>(descriptor, info, m_MemoryManager->GetIntraLayerManager());
585 }
+
+
+
+ +

◆ CreateSpaceToBatchNd()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateSpaceToBatchNd (const SpaceToBatchNdQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 587 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
589 {
590  return std::make_unique<NeonSpaceToBatchNdWorkload>(descriptor, info);
591 }
+
+
+
+ +

◆ CreateSpaceToDepth()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateSpaceToDepth (const SpaceToDepthQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 593 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
595 {
596  return std::make_unique<NeonSpaceToDepthWorkload>(descriptor, info);
597 }
+
+
+
+ +

◆ CreateSplitter()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateSplitter (const SplitterQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 599 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
601 {
602  return std::make_unique<NeonSplitterWorkload>(descriptor, info);
603 }
+
+
+
+ +

◆ CreateStack()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateStack (const StackQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 605 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
607 {
608  return std::make_unique<NeonStackWorkload>(descriptor, info);
609 }
+
+
+
+ +

◆ CreateStridedSlice()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateStridedSlice (const StridedSliceQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 611 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
613 {
614  return std::make_unique<NeonStridedSliceWorkload>(descriptor, info);
615 }
+
+
+
+ +

◆ CreateSubTensorHandle()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< ITensorHandle > CreateSubTensorHandle (ITensorHandleparent,
TensorShape const & subTensorShape,
unsigned int const * subTensorOrigin 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 86 of file NeonWorkloadFactory.cpp.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
89 {
90  const arm_compute::TensorShape shape = armcomputetensorutils::BuildArmComputeTensorShape(subTensorShape);
91 
93  coords.set_num_dimensions(subTensorShape.GetNumDimensions());
94  for (unsigned int i = 0; i < subTensorShape.GetNumDimensions(); i++)
95  {
96  // Arm compute indexes tensor coords in reverse order.
97  unsigned int revertedIndex = subTensorShape.GetNumDimensions() - i - 1;
98  coords.set(i, armnn::numeric_cast<int>(subTensorOrigin[revertedIndex]));
99  }
100 
101  const arm_compute::TensorShape parentShape = armcomputetensorutils::BuildArmComputeTensorShape(parent.GetShape());
102  if (!::arm_compute::error_on_invalid_subtensor(__func__, __FILE__, __LINE__, parentShape, coords, shape))
103  {
104  return nullptr;
105  }
106 
107  return std::make_unique<NeonSubTensorHandle>(
108  PolymorphicDowncast<IAclTensorHandle*>(&parent), shape, coords);
109 }
std::array< unsigned int, MaxNumOfTensorDimensions > Coordinates
+
+
+
+ +

◆ CreateSubtraction()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateSubtraction (const SubtractionQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 617 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
619 {
620  return std::make_unique<NeonSubtractionWorkload>(descriptor, info);
621 }
+
+
+
+ +

◆ CreateTensorHandle() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< ITensorHandle > CreateTensorHandle (const TensorInfotensorInfo,
const bool IsMemoryManaged = true 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 111 of file NeonWorkloadFactory.cpp.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors(), and TEST_SUITE().

+
113 {
114  auto tensorHandle = std::make_unique<NeonTensorHandle>(tensorInfo);
115  if (IsMemoryManaged)
116  {
117  tensorHandle->SetMemoryGroup(m_MemoryManager->GetInterLayerMemoryGroup());
118  }
119  return tensorHandle;
120 }
+
+
+ +

◆ CreateTensorHandle() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< ITensorHandle > CreateTensorHandle (const TensorInfotensorInfo,
DataLayout dataLayout,
const bool IsMemoryManaged = true 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 122 of file NeonWorkloadFactory.cpp.

+
125 {
126  auto tensorHandle = std::make_unique<NeonTensorHandle>(tensorInfo, dataLayout);
127  if (IsMemoryManaged)
128  {
129  tensorHandle->SetMemoryGroup(m_MemoryManager->GetInterLayerMemoryGroup());
130  }
131  return tensorHandle;
132 }
+
+
+ +

◆ CreateTranspose()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< armnn::IWorkload > CreateTranspose (const TransposeQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 623 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
625 {
626  return std::make_unique<NeonTransposeWorkload>(descriptor, info);
627 }
+
+
+
+ +

◆ CreateTransposeConvolution2d()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< IWorkload > CreateTransposeConvolution2d (const TransposeConvolution2dQueueDescriptordescriptor,
const WorkloadInfoinfo 
) const
+
+overridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 629 of file NeonWorkloadFactory.cpp.

+ +

References armnn::info.

+ +

Referenced by NeonWorkloadFactory::SupportsSubTensors().

+
632 {
633  return std::make_unique<NeonTransposeConvolution2dWorkload>(descriptor, info,
634  m_MemoryManager->GetIntraLayerManager());
635 }
+
+
+
+ +

◆ GetBackendId()

+ +
+
+ + + + + +
+ + + + + + + +
const BackendId & GetBackendId () const
+
+overridevirtual
+
+ +

Implements IWorkloadFactory.

+ +

Definition at line 49 of file NeonWorkloadFactory.cpp.

+ +

References NeonBackendModelContext::GetNumberOfThreads().

+
50 {
51  return s_Id;
52 }
+
+
+ +

◆ IsLayerSupported() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool IsLayerSupported (const Layerlayer,
Optional< DataTypedataType,
std::string & outReasonIfUnsupported 
)
+
+static
+
+ +

Definition at line 34 of file NeonWorkloadFactory.cpp.

+ +

References IWorkloadFactory::IsLayerSupported().

+
37 {
38  return IWorkloadFactory::IsLayerSupported(s_Id, layer, dataType, outReasonIfUnsupported);
39 }
static bool IsLayerSupported(const BackendId &backendId, const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported)
+
+
+
+ +

◆ IsLayerSupported() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool IsLayerSupported (const IConnectableLayerlayer,
Optional< DataTypedataType,
std::string & outReasonIfUnsupported,
const ModelOptionsmodelOptions 
)
+
+static
+
+ +

Definition at line 41 of file NeonWorkloadFactory.cpp.

+ +

References IWorkloadFactory::IsLayerSupported().

+
45 {
46  return IWorkloadFactory::IsLayerSupported(s_Id, layer, dataType, outReasonIfUnsupported, modelOptions);
47 }
static bool IsLayerSupported(const BackendId &backendId, const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported)
+
+
+
+ +

◆ SupportsSubTensors()

+ +
+
+ + + + + +
+ + + + + + + +
bool SupportsSubTensors () const
+
+inlineoverridevirtual
+
+ +

Reimplemented from WorkloadFactoryBase.

+ +

Definition at line 39 of file NeonWorkloadFactory.hpp.

+ +

References ARMNN_DEPRECATED_MSG, NeonWorkloadFactory::CreateAbs(), NeonWorkloadFactory::CreateActivation(), NeonWorkloadFactory::CreateAddition(), NeonWorkloadFactory::CreateArgMinMax(), NeonWorkloadFactory::CreateBatchNormalization(), NeonWorkloadFactory::CreateBatchToSpaceNd(), NeonWorkloadFactory::CreateCast(), NeonWorkloadFactory::CreateComparison(), NeonWorkloadFactory::CreateConcat(), NeonWorkloadFactory::CreateConstant(), NeonWorkloadFactory::CreateConvertBf16ToFp32(), NeonWorkloadFactory::CreateConvertFp16ToFp32(), NeonWorkloadFactory::CreateConvertFp32ToBf16(), NeonWorkloadFactory::CreateConvertFp32ToFp16(), NeonWorkloadFactory::CreateConvolution2d(), NeonWorkloadFactory::CreateDebug(), NeonWorkloadFactory::CreateDepthToSpace(), NeonWorkloadFactory::CreateDepthwiseConvolution2d(), NeonWorkloadFactory::CreateDequantize(), NeonWorkloadFactory::CreateDetectionPostProcess(), NeonWorkloadFactory::CreateDivision(), NeonWorkloadFactory::CreateElementwiseUnary(), NeonWorkloadFactory::CreateEqual(), NeonWorkloadFactory::CreateFill(), NeonWorkloadFactory::CreateFloor(), NeonWorkloadFactory::CreateFullyConnected(), NeonWorkloadFactory::CreateGather(), NeonWorkloadFactory::CreateGreater(), NeonWorkloadFactory::CreateInput(), NeonWorkloadFactory::CreateInstanceNormalization(), NeonWorkloadFactory::CreateL2Normalization(), NeonWorkloadFactory::CreateLogicalBinary(), NeonWorkloadFactory::CreateLogSoftmax(), NeonWorkloadFactory::CreateLstm(), NeonWorkloadFactory::CreateMaximum(), NeonWorkloadFactory::CreateMean(), NeonWorkloadFactory::CreateMemCopy(), NeonWorkloadFactory::CreateMemImport(), NeonWorkloadFactory::CreateMerger(), NeonWorkloadFactory::CreateMinimum(), NeonWorkloadFactory::CreateMultiplication(), NeonWorkloadFactory::CreateNormalization(), NeonWorkloadFactory::CreateOutput(), NeonWorkloadFactory::CreatePad(), NeonWorkloadFactory::CreatePermute(), NeonWorkloadFactory::CreatePooling2d(), NeonWorkloadFactory::CreatePreCompiled(), NeonWorkloadFactory::CreatePrelu(), NeonWorkloadFactory::CreateQLstm(), NeonWorkloadFactory::CreateQuantize(), NeonWorkloadFactory::CreateQuantizedLstm(), NeonWorkloadFactory::CreateRank(), NeonWorkloadFactory::CreateReduce(), NeonWorkloadFactory::CreateReshape(), NeonWorkloadFactory::CreateResize(), NeonWorkloadFactory::CreateResizeBilinear(), NeonWorkloadFactory::CreateRsqrt(), NeonWorkloadFactory::CreateSlice(), NeonWorkloadFactory::CreateSoftmax(), NeonWorkloadFactory::CreateSpaceToBatchNd(), NeonWorkloadFactory::CreateSpaceToDepth(), NeonWorkloadFactory::CreateSplitter(), NeonWorkloadFactory::CreateStack(), NeonWorkloadFactory::CreateStridedSlice(), NeonWorkloadFactory::CreateSubTensorHandle(), NeonWorkloadFactory::CreateSubtraction(), NeonWorkloadFactory::CreateTensorHandle(), NeonWorkloadFactory::CreateTranspose(), NeonWorkloadFactory::CreateTransposeConvolution2d(), armnn::Info, and armnn::info.

+
39 { return true; }
+
+
+
The documentation for this class was generated from the following files: +
+
+ + + + -- cgit v1.2.1