diff options
Diffstat (limited to 'src/backends/reference')
-rw-r--r-- | src/backends/reference/RefBackend.cpp | 22 | ||||
-rw-r--r-- | src/backends/reference/RefBackend.hpp | 8 |
2 files changed, 23 insertions, 7 deletions
diff --git a/src/backends/reference/RefBackend.cpp b/src/backends/reference/RefBackend.cpp index 1799abfc33..b671e8bca8 100644 --- a/src/backends/reference/RefBackend.cpp +++ b/src/backends/reference/RefBackend.cpp @@ -4,11 +4,25 @@ // #include "RefBackend.hpp" +#include <backends/BackendRegistry.hpp> +#include <boost/cast.hpp> namespace armnn { -const std::string RefBackend::s_Id = "arm_reference"; +namespace +{ +const std::string s_Id = "CpuRef"; + +static BackendRegistry::Helper s_RegisterHelper{ + s_Id, + []() + { + return IBackendUniquePtr(new RefBackend, &RefBackend::Destroy); + } +}; + +} const std::string& RefBackend::GetId() const { @@ -22,8 +36,12 @@ const ILayerSupport& RefBackend::GetLayerSupport() const std::unique_ptr<IWorkloadFactory> RefBackend::CreateWorkloadFactory() const { - // TODO implement return nullptr; } +void RefBackend::Destroy(IBackend* backend) +{ + delete boost::polymorphic_downcast<RefBackend*>(backend); +} + } // namespace armnn
\ No newline at end of file diff --git a/src/backends/reference/RefBackend.hpp b/src/backends/reference/RefBackend.hpp index c3797158a6..e4a11f10c9 100644 --- a/src/backends/reference/RefBackend.hpp +++ b/src/backends/reference/RefBackend.hpp @@ -4,8 +4,7 @@ // #pragma once -#include "backends/IBackendInternal.hpp" - +#include <backends/IBackendInternal.hpp> #include "RefLayerSupport.hpp" namespace armnn @@ -23,10 +22,9 @@ public: std::unique_ptr<IWorkloadFactory> CreateWorkloadFactory() const override; -private: - static const std::string s_Id; + static void Destroy(IBackend* backend); - // TODO initialize +private: RefLayerSupport m_LayerSupport; }; |