aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/neon')
-rw-r--r--src/backends/neon/CMakeLists.txt2
-rw-r--r--src/backends/neon/NeonBackend.cpp29
-rw-r--r--src/backends/neon/NeonBackend.hpp33
-rw-r--r--src/backends/neon/NeonLayerSupport.hpp5
-rw-r--r--src/backends/neon/backend.mk1
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 \