IVGCVSW-2454 Refactor ArmNN to support pluggable backends from a separate
code base
* Made the virtual functions in ILayerSupport.hpp pure
* Created a LayerSupportBase class with the default implementation of
the interface
* Made the backend layer support classes inherit from the base
class, instead of directly from the interface
* Refactored the profiler and the profiling event classes to use
the BackendId instead of the Compute
* Implemented a proper MemCopy support method
* Changed Compute to BackendId in the profiling API and objects
* Removed static references to pluggable backends
!android-nn-driver:492
Change-Id: Id6332b5f48c980819e0a09adc818d1effd057296
diff --git a/src/backends/reference/RefLayerSupport.hpp b/src/backends/reference/RefLayerSupport.hpp
index 188faa8..5778806 100644
--- a/src/backends/reference/RefLayerSupport.hpp
+++ b/src/backends/reference/RefLayerSupport.hpp
@@ -4,12 +4,12 @@
//
#pragma once
-#include <armnn/ILayerSupport.hpp>
+#include <backendsCommon/LayerSupportBase.hpp>
namespace armnn
{
-class RefLayerSupport : public ILayerSupport
+class RefLayerSupport : public LayerSupportBase
{
public:
bool IsActivationSupported(const TensorInfo& input,
@@ -93,7 +93,7 @@
bool IsGreaterSupported(const TensorInfo& input0,
const TensorInfo& input1,
- const TensorInfo& ouput,
+ const TensorInfo& output,
Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
bool IsInputSupported(const TensorInfo& input,
@@ -146,6 +146,10 @@
const OriginsDescriptor& descriptor,
Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
+ bool IsMemCopySupported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
+
bool IsMinimumSupported(const TensorInfo& input0,
const TensorInfo& input1,
const TensorInfo& output,
@@ -180,6 +184,7 @@
Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
bool IsReshapeSupported(const TensorInfo& input,
+ const ReshapeDescriptor& descriptor,
Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
bool IsResizeBilinearSupported(const TensorInfo& input,