diff options
Diffstat (limited to 'src/backends/neon')
-rw-r--r-- | src/backends/neon/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/backends/neon/NeonBackend.cpp | 29 | ||||
-rw-r--r-- | src/backends/neon/NeonBackend.hpp | 33 | ||||
-rw-r--r-- | src/backends/neon/NeonLayerSupport.hpp | 5 | ||||
-rw-r--r-- | src/backends/neon/backend.mk | 1 |
5 files changed, 70 insertions, 0 deletions
diff --git a/src/backends/neon/CMakeLists.txt b/src/backends/neon/CMakeLists.txt index c748825464..c6492bc076 100644 --- a/src/backends/neon/CMakeLists.txt +++ b/src/backends/neon/CMakeLists.txt @@ -5,6 +5,8 @@ if(ARMCOMPUTENEON) list(APPEND armnnNeonBackend_sources + NeonBackend.cpp + NeonBackend.hpp NeonLayerSupport.cpp NeonLayerSupport.hpp NeonWorkloadFactory.cpp diff --git a/src/backends/neon/NeonBackend.cpp b/src/backends/neon/NeonBackend.cpp new file mode 100644 index 0000000000..1137145aa2 --- /dev/null +++ b/src/backends/neon/NeonBackend.cpp @@ -0,0 +1,29 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#include "NeonBackend.hpp" + +namespace armnn +{ + +const std::string NeonBackend::s_Id = "arm_compute_neon"; + +const std::string& NeonBackend::GetId() const +{ + return s_Id; +} + +const ILayerSupport& NeonBackend::GetLayerSupport() const +{ + return m_LayerSupport; +} + +std::unique_ptr<IWorkloadFactory> NeonBackend::CreateWorkloadFactory() const +{ + // TODO implement + return nullptr; +} + +} // namespace armnn
\ No newline at end of file diff --git a/src/backends/neon/NeonBackend.hpp b/src/backends/neon/NeonBackend.hpp new file mode 100644 index 0000000000..86fccf0e51 --- /dev/null +++ b/src/backends/neon/NeonBackend.hpp @@ -0,0 +1,33 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// +#pragma once + +#include "backends/IBackendInternal.hpp" + +#include "NeonLayerSupport.hpp" + +namespace armnn +{ + +class NeonBackend : public IBackendInternal +{ +public: + NeonBackend() = default; + ~NeonBackend() = default; + + const std::string& GetId() const override; + + const ILayerSupport& GetLayerSupport() const override; + + std::unique_ptr<IWorkloadFactory> CreateWorkloadFactory() const override; + +private: + static const std::string s_Id; + + // TODO initialize + NeonLayerSupport m_LayerSupport; +}; + +} // namespace armnn
\ No newline at end of file diff --git a/src/backends/neon/NeonLayerSupport.hpp b/src/backends/neon/NeonLayerSupport.hpp index 419c226b3c..590f4d64c6 100644 --- a/src/backends/neon/NeonLayerSupport.hpp +++ b/src/backends/neon/NeonLayerSupport.hpp @@ -13,6 +13,11 @@ namespace armnn { +class NeonLayerSupport : public ILayerSupport +{ + // TODO implement +}; + bool IsNeonDirectConvolutionPreferred(const TensorInfo& weightInfo, const Convolution2dDescriptor& desc); bool IsNeonNormalizationDescParamsSupported(std::string* reasonIfUnsupported, diff --git a/src/backends/neon/backend.mk b/src/backends/neon/backend.mk index a59966fb39..b041bca6d7 100644 --- a/src/backends/neon/backend.mk +++ b/src/backends/neon/backend.mk @@ -8,6 +8,7 @@ # file in the root of ArmNN BACKEND_SOURCES := \ + NeonBackend.cpp \ NeonLayerSupport.cpp \ NeonWorkloadFactory.cpp \ workloads/NeonActivationFloatWorkload.cpp \ |