aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon
diff options
context:
space:
mode:
authorJan Eilers <jan.eilers@arm.com>2021-09-24 15:45:46 +0100
committerJan Eilers <jan.eilers@arm.com>2021-10-02 16:27:39 +0100
commit1b2654fb799c3d25ffcef4d31b5d026d359e2f8f (patch)
tree0397fdf24f286715e26a0e63bddaa0502f64caf7 /src/backends/neon
parentb63a31170aee1d28267d83a4bc67b57708fb6b05 (diff)
downloadarmnn-1b2654fb799c3d25ffcef4d31b5d026d359e2f8f.tar.gz
IVGCVSW-5985 Remove deprecated code
* Removes deprecated AddLayer, IsLayerSupported functions * Marks the whole LayerVisitor class as deprecated not just the constructor. This required to wrap all Accept functions in a no deprecate macro because the LayerVisitor is used as a parameter in there * Removes usage of deprecated LayerVisitor and replaces it with ExecuteStrategy. This required a few structural changes in the unit tests * Adds a default implementation for IStrategy called StrategyBase * Changes pyarmnn to use non deprecated constructor for INetworkProperties and adds related unit test * Marks usage of deprecated code in pyarmnn as deprecated. This required to extend INetworkProperties to allow backwards compatibility * Removes deprecated functions from CpuAcc, GpuAcc and Ref backends Note: This patch breaks compatibility with backends that are not updated in this patch !android-nn-driver:6325 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Id13b6f37a74d26eadeda2da1dc92915e725ed5a5
Diffstat (limited to 'src/backends/neon')
-rw-r--r--src/backends/neon/NeonBackend.cpp5
-rw-r--r--src/backends/neon/NeonBackend.hpp1
-rw-r--r--src/backends/neon/NeonLayerSupport.cpp59
-rw-r--r--src/backends/neon/NeonLayerSupport.hpp32
-rw-r--r--src/backends/neon/NeonWorkloadFactory.cpp65
-rw-r--r--src/backends/neon/NeonWorkloadFactory.hpp24
-rw-r--r--src/backends/neon/workloads/NeonWorkloadUtils.hpp4
7 files changed, 0 insertions, 190 deletions
diff --git a/src/backends/neon/NeonBackend.cpp b/src/backends/neon/NeonBackend.cpp
index 17876753fb..2c3abfd70d 100644
--- a/src/backends/neon/NeonBackend.cpp
+++ b/src/backends/neon/NeonBackend.cpp
@@ -103,11 +103,6 @@ IBackendInternal::IBackendProfilingContextPtr NeonBackend::CreateBackendProfilin
return IBackendProfilingContextPtr{};
}
-IBackendInternal::Optimizations NeonBackend::GetOptimizations() const
-{
- return Optimizations{};
-}
-
IBackendInternal::IBackendSpecificModelContextPtr NeonBackend::CreateBackendSpecificModelContext(
const ModelOptions& modelOptions) const
{
diff --git a/src/backends/neon/NeonBackend.hpp b/src/backends/neon/NeonBackend.hpp
index 20da73aaf8..d28ac3bfcd 100644
--- a/src/backends/neon/NeonBackend.hpp
+++ b/src/backends/neon/NeonBackend.hpp
@@ -48,7 +48,6 @@ public:
IBackendInternal::IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const override;
IBackendInternal::IBackendProfilingContextPtr CreateBackendProfilingContext(
const IRuntime::CreationOptions&, IBackendProfilingPtr& backendProfiling) override;
- IBackendInternal::Optimizations GetOptimizations() const override;
IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override;
IBackendInternal::ILayerSupportSharedPtr GetLayerSupport(const ModelOptions& modelOptions) const override;
diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp
index ec64f902da..d742229bbe 100644
--- a/src/backends/neon/NeonLayerSupport.cpp
+++ b/src/backends/neon/NeonLayerSupport.cpp
@@ -145,14 +145,6 @@ NeonLayerSupport::NeonLayerSupport()
{
}
-bool NeonLayerSupport::IsAbsSupported(const TensorInfo& input,
- const TensorInfo& output,
- Optional<std::string&> reasonIfUnsupported) const
-{
- ElementwiseUnaryDescriptor descriptor(UnaryOperation::Abs);
- return IsElementwiseUnarySupported(input, output, descriptor, reasonIfUnsupported);
-}
-
bool NeonLayerSupport::IsActivationSupported(const TensorInfo& input,
const TensorInfo& output,
const ActivationDescriptor& descriptor,
@@ -537,15 +529,6 @@ bool NeonLayerSupport::IsGatherSupported(const TensorInfo& input0,
descriptor);
}
-bool NeonLayerSupport::IsGreaterSupported(const armnn::TensorInfo& input0,
- const armnn::TensorInfo& input1,
- const armnn::TensorInfo& output,
- armnn::Optional<std::string&> reasonIfUnsupported) const
-{
- ComparisonDescriptor descriptor(ComparisonOperation::Greater);
- return IsComparisonSupported(input0, input1, output, descriptor, reasonIfUnsupported);
-}
-
bool NeonLayerSupport::IsInputSupported(const TensorInfo& input,
Optional<std::string&> reasonIfUnsupported) const
{
@@ -653,14 +636,6 @@ bool NeonLayerSupport::IsMeanSupported(const TensorInfo& input,
descriptor);
}
-bool NeonLayerSupport::IsMergerSupported(const std::vector<const TensorInfo*> inputs,
- const TensorInfo& output,
- const MergerDescriptor& descriptor,
- Optional<std::string&> reasonIfUnsupported) const
-{
- return IsConcatSupported(inputs, output, descriptor, reasonIfUnsupported);
-}
-
bool NeonLayerSupport::IsMinimumSupported(const TensorInfo& input0,
const TensorInfo& input1,
const TensorInfo& output,
@@ -852,29 +827,6 @@ bool NeonLayerSupport::IsResizeSupported(const TensorInfo& input,
descriptor);
}
-bool NeonLayerSupport::IsResizeBilinearSupported(const TensorInfo& input,
- const TensorInfo& output,
- Optional<std::string&> reasonIfUnsupported) const
-{
- ResizeDescriptor descriptor;
- descriptor.m_Method = ResizeMethod::Bilinear;
- descriptor.m_DataLayout = DataLayout::NCHW;
-
- const TensorShape& outputShape = output.GetShape();
- descriptor.m_TargetHeight = outputShape[2];
- descriptor.m_TargetWidth = outputShape[3];
-
- return IsResizeSupported(input, output, descriptor, reasonIfUnsupported);
-}
-
-bool NeonLayerSupport::IsRsqrtSupported(const TensorInfo& input,
- const TensorInfo& output,
- Optional<std::string&> reasonIfUnsupported) const
-{
- ElementwiseUnaryDescriptor descriptor(UnaryOperation::Rsqrt);
- return IsElementwiseUnarySupported(input, output, descriptor, reasonIfUnsupported);
-}
-
bool NeonLayerSupport::IsSliceSupported(const TensorInfo& input,
const TensorInfo& output,
const SliceDescriptor& descriptor,
@@ -920,17 +872,6 @@ bool NeonLayerSupport::IsSpaceToDepthSupported(const TensorInfo& input,
}
bool NeonLayerSupport::IsSplitterSupported(const TensorInfo& input,
- const ViewsDescriptor& descriptor,
- Optional<std::string&> reasonIfUnsupported) const
-{
- armnn::IgnoreUnused(descriptor);
- return IsSupportedForDataTypeNeon(reasonIfUnsupported,
- input.GetDataType(),
- &TrueFunc<>,
- &TrueFunc<>);
-}
-
-bool NeonLayerSupport::IsSplitterSupported(const TensorInfo& input,
const std::vector<std::reference_wrapper<TensorInfo>>& outputs,
const ViewsDescriptor& descriptor,
Optional<std::string&> reasonIfUnsupported) const
diff --git a/src/backends/neon/NeonLayerSupport.hpp b/src/backends/neon/NeonLayerSupport.hpp
index fc1e1f6125..155d96acdc 100644
--- a/src/backends/neon/NeonLayerSupport.hpp
+++ b/src/backends/neon/NeonLayerSupport.hpp
@@ -19,11 +19,6 @@ public:
~NeonLayerSupport() {}
- ARMNN_DEPRECATED_MSG("Use IsElementwiseUnarySupported instead")
- bool IsAbsSupported(const TensorInfo& input,
- const TensorInfo& output,
- Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
-
bool IsActivationSupported(const TensorInfo& input,
const TensorInfo& output,
const ActivationDescriptor& descriptor,
@@ -150,12 +145,6 @@ public:
const GatherDescriptor& descriptor,
Optional<std::string&> reasonIfUnsupported) const override;
- ARMNN_DEPRECATED_MSG("Use IsComparisonSupported instead")
- bool IsGreaterSupported(const TensorInfo& input0,
- const TensorInfo& input1,
- const TensorInfo& output,
- Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
-
bool IsInputSupported(const TensorInfo& input,
Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
@@ -201,12 +190,6 @@ public:
const MeanDescriptor& descriptor,
Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
- ARMNN_DEPRECATED_MSG("Use IsConcatSupported instead")
- bool IsMergerSupported(const std::vector<const TensorInfo*> inputs,
- const TensorInfo& output,
- const MergerDescriptor& descriptor,
- Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
-
bool IsMinimumSupported(const TensorInfo& input0,
const TensorInfo& input1,
const TensorInfo& output,
@@ -287,16 +270,6 @@ public:
const ResizeDescriptor& descriptor,
Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
- ARMNN_DEPRECATED_MSG("Use IsResizeSupported instead")
- bool IsResizeBilinearSupported(const TensorInfo& input,
- const TensorInfo& output,
- Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
-
- ARMNN_DEPRECATED_MSG("Use IsElementwiseUnarySupported instead")
- bool IsRsqrtSupported(const TensorInfo& input,
- const TensorInfo& output,
- Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
-
bool IsSliceSupported(const TensorInfo& input,
const TensorInfo& output,
const SliceDescriptor& descriptor,
@@ -317,11 +290,6 @@ public:
const SpaceToDepthDescriptor& descriptor,
Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
- ARMNN_DEPRECATED_MSG("Use IsSplitterSupported with outputs instead")
- bool IsSplitterSupported(const TensorInfo& input,
- const ViewsDescriptor& descriptor,
- Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
-
bool IsSplitterSupported(const TensorInfo& input,
const std::vector<std::reference_wrapper<TensorInfo>>& outputs,
const ViewsDescriptor& descriptor,
diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp
index 9ec7583b18..605b03d6b7 100644
--- a/src/backends/neon/NeonWorkloadFactory.cpp
+++ b/src/backends/neon/NeonWorkloadFactory.cpp
@@ -131,17 +131,6 @@ std::unique_ptr<ITensorHandle> NeonWorkloadFactory::CreateTensorHandle(const Ten
return tensorHandle;
}
-std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateAbs(const AbsQueueDescriptor& descriptor,
- const WorkloadInfo& info) const
-{
- IgnoreUnused(descriptor);
-
- ElementwiseUnaryQueueDescriptor elementwiseUnaryDescriptor;
- elementwiseUnaryDescriptor.m_Parameters = ElementwiseUnaryDescriptor(UnaryOperation::Abs);
-
- return CreateElementwiseUnary(elementwiseUnaryDescriptor, info);
-}
-
std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateActivation(const ActivationQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
@@ -323,17 +312,6 @@ std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateElementwiseUnary(
}
}
-std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateEqual(const EqualQueueDescriptor& descriptor,
- const WorkloadInfo& info) const
-{
- IgnoreUnused(descriptor);
-
- ComparisonQueueDescriptor comparisonDescriptor;
- comparisonDescriptor.m_Parameters = ComparisonDescriptor(ComparisonOperation::Equal);
-
- return CreateComparison(comparisonDescriptor, info);
-}
-
std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateFill(const FillQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
@@ -358,17 +336,6 @@ std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateGather(const armnn::Gather
return std::make_unique<NeonGatherWorkload>(descriptor, info);
}
-std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateGreater(const GreaterQueueDescriptor& descriptor,
- const WorkloadInfo& info) const
-{
- IgnoreUnused(descriptor);
-
- ComparisonQueueDescriptor comparisonDescriptor;
- comparisonDescriptor.m_Parameters = ComparisonDescriptor(ComparisonOperation::Greater);
-
- return CreateComparison(comparisonDescriptor, info);
-}
-
std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateInput(const InputQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
@@ -449,12 +416,6 @@ std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateMemImport(const Mem
return std::make_unique<ImportMemGenericWorkload>(descriptor, info);
}
-std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateMerger(const MergerQueueDescriptor& descriptor,
- const WorkloadInfo& info) const
-{
- return CreateConcat(descriptor, info);
-}
-
std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateMinimum(const MinimumQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
@@ -552,32 +513,6 @@ std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateResize(const ResizeQueueDe
return std::make_unique<NeonResizeWorkload>(descriptor, info);
}
-std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateResizeBilinear(
- const ResizeBilinearQueueDescriptor& descriptor,
- const WorkloadInfo& info) const
-{
- ResizeQueueDescriptor resizeDescriptor;
- resizeDescriptor.m_Inputs = descriptor.m_Inputs;
- resizeDescriptor.m_Outputs = descriptor.m_Outputs;
-
- resizeDescriptor.m_Parameters.m_DataLayout = descriptor.m_Parameters.m_DataLayout;
- resizeDescriptor.m_Parameters.m_TargetWidth = descriptor.m_Parameters.m_TargetWidth;
- resizeDescriptor.m_Parameters.m_TargetHeight = descriptor.m_Parameters.m_TargetHeight;
-
- return CreateResize(resizeDescriptor, info);
-}
-
-std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateRsqrt(const RsqrtQueueDescriptor &descriptor,
- const WorkloadInfo &info) const
-{
- IgnoreUnused(descriptor);
-
- ElementwiseUnaryQueueDescriptor elementwiseUnaryDescriptor;
- elementwiseUnaryDescriptor.m_Parameters = ElementwiseUnaryDescriptor(UnaryOperation::Rsqrt);
-
- return CreateElementwiseUnary(elementwiseUnaryDescriptor, info);
-}
-
std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateSlice(const SliceQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
diff --git a/src/backends/neon/NeonWorkloadFactory.hpp b/src/backends/neon/NeonWorkloadFactory.hpp
index 41fc506aaa..bd84c057f5 100644
--- a/src/backends/neon/NeonWorkloadFactory.hpp
+++ b/src/backends/neon/NeonWorkloadFactory.hpp
@@ -52,10 +52,6 @@ public:
DataLayout dataLayout,
const bool IsMemoryManaged = true) const override;
- ARMNN_DEPRECATED_MSG("Use CreateElementwiseUnary instead")
- std::unique_ptr<IWorkload> CreateAbs(const AbsQueueDescriptor& descriptor,
- const WorkloadInfo& info) const override;
-
std::unique_ptr<IWorkload> CreateActivation(const ActivationQueueDescriptor& descriptor,
const WorkloadInfo& info) const override;
@@ -122,10 +118,6 @@ public:
std::unique_ptr<IWorkload> CreateElementwiseUnary(const ElementwiseUnaryQueueDescriptor& descriptor,
const WorkloadInfo& Info) const override;
- ARMNN_DEPRECATED_MSG("Use CreateComparison instead")
- std::unique_ptr<IWorkload> CreateEqual(const EqualQueueDescriptor& descriptor,
- const WorkloadInfo& info) const override;
-
std::unique_ptr<IWorkload> CreateFill(const FillQueueDescriptor& descriptor,
const WorkloadInfo& info) const override;
@@ -138,10 +130,6 @@ public:
std::unique_ptr<IWorkload> CreateGather(const GatherQueueDescriptor& descriptor,
const WorkloadInfo& info) const override;
- ARMNN_DEPRECATED_MSG("Use CreateComparison instead")
- std::unique_ptr<IWorkload> CreateGreater(const GreaterQueueDescriptor& descriptor,
- const WorkloadInfo& info) const override;
-
std::unique_ptr<IWorkload> CreateInput(const InputQueueDescriptor& descriptor,
const WorkloadInfo& info) const override;
@@ -172,10 +160,6 @@ public:
std::unique_ptr<IWorkload> CreateMemImport(const MemImportQueueDescriptor& descriptor,
const WorkloadInfo& info) const override;
- ARMNN_DEPRECATED_MSG("Use CreateConcat instead")
- std::unique_ptr<IWorkload> CreateMerger(const MergerQueueDescriptor& descriptor,
- const WorkloadInfo& info) const override;
-
std::unique_ptr<IWorkload> CreateMinimum(const MinimumQueueDescriptor& descriptor,
const WorkloadInfo& info) const override;
@@ -224,14 +208,6 @@ public:
std::unique_ptr<IWorkload> CreateResize(const ResizeQueueDescriptor& descriptor,
const WorkloadInfo& info) const override;
- ARMNN_DEPRECATED_MSG("Use CreateResize instead")
- std::unique_ptr<IWorkload> CreateResizeBilinear(const ResizeBilinearQueueDescriptor& descriptor,
- const WorkloadInfo& info) const override;
-
- ARMNN_DEPRECATED_MSG("Use CreateElementwiseUnary instead")
- std::unique_ptr<IWorkload> CreateRsqrt(const RsqrtQueueDescriptor& descriptor,
- const WorkloadInfo& info) const override;
-
std::unique_ptr<IWorkload> CreateSlice(const SliceQueueDescriptor& descriptor,
const WorkloadInfo& info) const override;
diff --git a/src/backends/neon/workloads/NeonWorkloadUtils.hpp b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
index 1199f30863..f51493d383 100644
--- a/src/backends/neon/workloads/NeonWorkloadUtils.hpp
+++ b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
@@ -73,14 +73,10 @@ inline void InitializeArmComputeTensorData(arm_compute::Tensor& tensor,
case DataType::QAsymmU8:
CopyArmComputeTensorData(tensor, handle->GetConstTensor<uint8_t>());
break;
- ARMNN_NO_DEPRECATE_WARN_BEGIN
- case DataType::QuantizedSymm8PerAxis:
- ARMNN_FALLTHROUGH;
case DataType::QSymmS8:
case DataType::QAsymmS8:
CopyArmComputeTensorData(tensor, handle->GetConstTensor<int8_t>());
break;
- ARMNN_NO_DEPRECATE_WARN_END
case DataType::Signed32:
CopyArmComputeTensorData(tensor, handle->GetConstTensor<int32_t>());
break;