diff options
author | arovir01 <Aron.Virginas-Tar@arm.com> | 2018-10-04 10:46:04 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-10-10 16:16:58 +0100 |
commit | 4424b0a12b88bbefecd6b17b5baf174e7d8e1fe5 (patch) | |
tree | 7d606f9f8f02247e21b0407848ff7af8f77ae4a5 /src/backends/neon | |
parent | e97c6e0b88fd0a17991c1be5fc66e466e29e5b8d (diff) | |
download | armnn-4424b0a12b88bbefecd6b17b5baf174e7d8e1fe5.tar.gz |
IVGCVSW-1963: Add implementation classes for Cl, Neon and Ref backends
Change-Id: Ibb2efaf8b001a64a3f35eab2220990dc39889780
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 \ |