aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl
diff options
context:
space:
mode:
authorDavid Beck <david.beck@arm.com>2018-10-23 13:35:58 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-25 09:49:58 +0100
commit29c75de868ac3a86a70b25f8da0d0c7e47d40803 (patch)
treedb8dd31d26622ca252f6e2d2c86c7e20a0829e9e /src/backends/cl
parent5cc8e56b4ca8d58dc11973c49c10a02a2f13580c (diff)
downloadarmnn-29c75de868ac3a86a70b25f8da0d0c7e47d40803.tar.gz
IVGCVSW-2067 : dynamically create workload factories based on the backends in the network
Change-Id: Ide594db8c79ff67642721d8bad47624b88621fbd
Diffstat (limited to 'src/backends/cl')
-rw-r--r--src/backends/cl/ClBackend.cpp9
-rw-r--r--src/backends/cl/ClBackend.hpp4
-rw-r--r--src/backends/cl/ClWorkloadFactory.cpp2
-rw-r--r--src/backends/cl/ClWorkloadFactory.hpp6
4 files changed, 7 insertions, 14 deletions
diff --git a/src/backends/cl/ClBackend.cpp b/src/backends/cl/ClBackend.cpp
index 1bab96b49a..d6a3a89391 100644
--- a/src/backends/cl/ClBackend.cpp
+++ b/src/backends/cl/ClBackend.cpp
@@ -23,7 +23,7 @@ static StaticRegistryInitializer<BackendRegistry> g_RegisterHelper
ClBackend::GetIdStatic(),
[]()
{
- return IBackendUniquePtr(new ClBackend, &ClBackend::Destroy);
+ return IBackendInternalUniquePtr(new ClBackend);
}
};
@@ -35,14 +35,9 @@ const BackendId& ClBackend::GetIdStatic()
return s_Id;
}
-std::unique_ptr<IWorkloadFactory> ClBackend::CreateWorkloadFactory() const
+IBackendInternal::IWorkloadFactoryPtr ClBackend::CreateWorkloadFactory() const
{
return std::make_unique<ClWorkloadFactory>();
}
-void ClBackend::Destroy(IBackend* backend)
-{
- delete boost::polymorphic_downcast<ClBackend*>(backend);
-}
-
} // namespace armnn \ No newline at end of file
diff --git a/src/backends/cl/ClBackend.hpp b/src/backends/cl/ClBackend.hpp
index 49a7a466c4..4eae6c92ec 100644
--- a/src/backends/cl/ClBackend.hpp
+++ b/src/backends/cl/ClBackend.hpp
@@ -18,9 +18,7 @@ public:
static const BackendId& GetIdStatic();
const BackendId& GetId() const override { return GetIdStatic(); }
- std::unique_ptr<IWorkloadFactory> CreateWorkloadFactory() const override;
-
- static void Destroy(IBackend* backend);
+ IWorkloadFactoryPtr CreateWorkloadFactory() const override;
};
} // namespace armnn \ No newline at end of file
diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp
index e1d8314d82..c697d90950 100644
--- a/src/backends/cl/ClWorkloadFactory.cpp
+++ b/src/backends/cl/ClWorkloadFactory.cpp
@@ -35,7 +35,7 @@ namespace armnn
{
bool ClWorkloadFactory::IsLayerSupported(const Layer& layer,
- boost::optional<DataType> dataType,
+ Optional<DataType> dataType,
std::string& outReasonIfUnsupported)
{
return IWorkloadFactory::IsLayerSupported(Compute::GpuAcc, layer, dataType, outReasonIfUnsupported);
diff --git a/src/backends/cl/ClWorkloadFactory.hpp b/src/backends/cl/ClWorkloadFactory.hpp
index 66de3a50f1..1441b71e61 100644
--- a/src/backends/cl/ClWorkloadFactory.hpp
+++ b/src/backends/cl/ClWorkloadFactory.hpp
@@ -5,12 +5,11 @@
#pragma once
#include <armnn/IRuntime.hpp>
+#include <armnn/Optional.hpp>
#include <backends/OutputHandler.hpp>
#include <backends/aclCommon/memory/BaseMemoryManager.hpp>
-#include <boost/optional.hpp>
-
namespace armnn
{
@@ -22,7 +21,8 @@ public:
virtual Compute GetCompute() const override { return Compute::GpuAcc; }
- static bool IsLayerSupported(const Layer& layer, boost::optional<DataType> dataType,
+ static bool IsLayerSupported(const Layer& layer,
+ Optional<DataType> dataType,
std::string& outReasonIfUnsupported);
virtual bool SupportsSubTensors() const override { return true; }