IVGCVSW-1899 : Neon backend folder structure
armnn:149855
Change-Id: I26e8cf83422a65049386a5ebdb6d0001627aefaa
diff --git a/src/backends/CMakeLists.txt b/src/backends/CMakeLists.txt
index 39d6e8d..f806caa 100644
--- a/src/backends/CMakeLists.txt
+++ b/src/backends/CMakeLists.txt
@@ -18,11 +18,6 @@
MakeWorkloadHelper.hpp
MemCopyWorkload.cpp
MemCopyWorkload.hpp
- NeonLayerSupport.cpp
- NeonLayerSupport.hpp
- NeonWorkloadFactory.cpp
- NeonWorkloadFactory.hpp
- NeonWorkloads.hpp
OutputHandler.cpp
OutputHandler.hpp
StringMapping.cpp
@@ -38,15 +33,6 @@
WorkloadUtils.hpp
)
-if(ARMCOMPUTENEON)
- # Additionally include source files for ARM Compute NEON backend
- list(APPEND armnnBackendsCommon_sources
- NeonWorkloadUtils.cpp
- NeonWorkloadUtils.hpp
- NeonTensorHandle.hpp
- )
-endif()
-
if(ARMCOMPUTECL)
# Additionally include source files for ARM Compute OpenCL backend
list(APPEND armnnBackendsCommon_sources
diff --git a/src/backends/ClTensorHandle.hpp b/src/backends/ClTensorHandle.hpp
index a4e72c1..556e447 100644
--- a/src/backends/ClTensorHandle.hpp
+++ b/src/backends/ClTensorHandle.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include "OutputHandler.hpp"
+#include <backends/OutputHandler.hpp>
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <arm_compute/runtime/CL/CLTensor.h>
diff --git a/src/backends/ClWorkloadFactory.cpp b/src/backends/ClWorkloadFactory.cpp
index 328c221..6aee233 100644
--- a/src/backends/ClWorkloadFactory.cpp
+++ b/src/backends/ClWorkloadFactory.cpp
@@ -4,12 +4,12 @@
//
#include "ClWorkloadFactory.hpp"
-#include "armnn/Exceptions.hpp"
-#include "armnn/Utils.hpp"
+#include <armnn/Exceptions.hpp>
+#include <armnn/Utils.hpp>
#include <string>
-#include "CpuTensorHandle.hpp"
-#include "Layer.hpp"
+#include <backends/CpuTensorHandle.hpp>
+#include <Layer.hpp>
#ifdef ARMCOMPUTECL_ENABLED
#include <arm_compute/core/CL/CLKernelLibrary.h>
@@ -18,10 +18,10 @@
#include "ClWorkloads.hpp"
-#include "backends/MemCopyWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
+#include <backends/MemCopyWorkload.hpp>
+#include <backends/ClTensorHandle.hpp>
-#include "memory/IPoolManager.hpp"
+#include <memory/IPoolManager.hpp>
#endif
#include "MakeWorkloadHelper.hpp"
diff --git a/src/backends/ClWorkloadFactory.hpp b/src/backends/ClWorkloadFactory.hpp
index d0bf416..59ae3b3 100644
--- a/src/backends/ClWorkloadFactory.hpp
+++ b/src/backends/ClWorkloadFactory.hpp
@@ -4,9 +4,9 @@
//
#pragma once
-#include "OutputHandler.hpp"
+#include <backends/OutputHandler.hpp>
-#include "armnn/IRuntime.hpp"
+#include <armnn/IRuntime.hpp>
#include <boost/optional.hpp>
#include "memory/BaseMemoryManager.hpp"
diff --git a/src/backends/ClWorkloads/backend.cmake b/src/backends/ClWorkloads/backend.cmake
index 6f8eda1..e6b4673 100644
--- a/src/backends/ClWorkloads/backend.cmake
+++ b/src/backends/ClWorkloads/backend.cmake
@@ -6,4 +6,6 @@
if(ARMCOMPUTECL)
add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends/ClWorkloads)
list(APPEND armnnLibraries armnnClBackend)
+else()
+ message("CL backend is disabled")
endif()
diff --git a/src/backends/CpuTensorHandle.cpp b/src/backends/CpuTensorHandle.cpp
index 1a26453..4059a1d 100644
--- a/src/backends/CpuTensorHandle.cpp
+++ b/src/backends/CpuTensorHandle.cpp
@@ -2,8 +2,8 @@
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
-#include "armnn/Exceptions.hpp"
-#include "CpuTensorHandle.hpp"
+#include <armnn/Exceptions.hpp>
+#include <backends/CpuTensorHandle.hpp>
#include <cstring>
diff --git a/src/backends/CpuTensorHandle.hpp b/src/backends/CpuTensorHandle.hpp
index 541beef..2a686fe 100644
--- a/src/backends/CpuTensorHandle.hpp
+++ b/src/backends/CpuTensorHandle.hpp
@@ -3,11 +3,10 @@
// SPDX-License-Identifier: MIT
//
#pragma once
+
#include "CpuTensorHandleFwd.hpp"
-
-#include "armnn/TypesUtils.hpp"
-
-#include "OutputHandler.hpp"
+#include <armnn/TypesUtils.hpp>
+#include <backends/OutputHandler.hpp>
#include <algorithm>
diff --git a/src/backends/NeonWorkloads.hpp b/src/backends/NeonWorkloads.hpp
deleted file mode 100644
index e471bbc..0000000
--- a/src/backends/NeonWorkloads.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#pragma once
-#include "backends/NeonWorkloads/NeonActivationFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonActivationUint8Workload.hpp"
-#include "backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonBaseConstantWorkload.hpp"
-#include "backends/NeonWorkloads/NeonBaseMergerWorkload.hpp"
-#include "backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp"
-#include "backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonConstantFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonConstantUint8Workload.hpp"
-#include "backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp"
-#include "backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp"
-#include "backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp"
-#include "backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp"
-#include "backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp"
-#include "backends/NeonWorkloads/NeonFloorFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonFullyConnectedWorkload.hpp"
-#include "backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonLstmFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonMergerFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonMergerUint8Workload.hpp"
-#include "backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonPermuteWorkload.hpp"
-#include "backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp"
-#include "backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp"
-#include "backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonReshapeUint8Workload.hpp"
-#include "backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp"
-#include "backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp"
-#include "backends/NeonWorkloads/NeonSplitterUint8Workload.hpp"
-#include "backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp"
diff --git a/src/backends/NeonWorkloads/backend.cmake b/src/backends/NeonWorkloads/backend.cmake
deleted file mode 100644
index f0908c5..0000000
--- a/src/backends/NeonWorkloads/backend.cmake
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# Copyright © 2017 Arm Ltd. All rights reserved.
-# SPDX-License-Identifier: MIT
-#
-
-if(ARMCOMPUTENEON)
- add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends/NeonWorkloads)
- list(APPEND armnnLibraries armnnNeonBackend)
-endif()
diff --git a/src/backends/NeonWorkloads/backend.mk b/src/backends/NeonWorkloads/backend.mk
deleted file mode 100644
index 7b7f87b..0000000
--- a/src/backends/NeonWorkloads/backend.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# Copyright © 2017 ARM Ltd. All rights reserved.
-# SPDX-License-Identifier: MIT
-#
-
-# BACKEND_SOURCES contains the list of files to be included
-# in the Android build and it is picked up by the Android.mk
-# file in the root of ArmNN
-
-BACKEND_SOURCES := \
- NeonActivationFloatWorkload.cpp \
- NeonActivationUint8Workload.cpp \
- NeonAdditionFloatWorkload.cpp \
- NeonBatchNormalizationFloatWorkload.cpp \
- NeonConstantFloatWorkload.cpp \
- NeonConstantUint8Workload.cpp \
- NeonConvertFp16ToFp32Workload.cpp \
- NeonConvertFp32ToFp16Workload.cpp \
- NeonConvolution2dBaseWorkload.cpp \
- NeonConvolution2dFloatWorkload.cpp \
- NeonConvolution2dUint8Workload.cpp \
- NeonDepthwiseConvolutionBaseWorkload.cpp \
- NeonDepthwiseConvolutionFloatWorkload.cpp \
- NeonDepthwiseConvolutionUint8Workload.cpp \
- NeonFloorFloatWorkload.cpp \
- NeonFullyConnectedWorkload.cpp \
- NeonL2NormalizationFloatWorkload.cpp \
- NeonLstmFloatWorkload.cpp \
- NeonMergerFloatWorkload.cpp \
- NeonMergerUint8Workload.cpp \
- NeonMultiplicationFloatWorkload.cpp \
- NeonNormalizationFloatWorkload.cpp \
- NeonPermuteWorkload.cpp \
- NeonPooling2dBaseWorkload.cpp \
- NeonPooling2dFloatWorkload.cpp \
- NeonPooling2dUint8Workload.cpp \
- NeonReshapeFloatWorkload.cpp \
- NeonReshapeUint8Workload.cpp \
- NeonSoftmaxBaseWorkload.cpp \
- NeonSoftmaxFloatWorkload.cpp \
- NeonSoftmaxUint8Workload.cpp \
- NeonSplitterFloatWorkload.cpp \
- NeonSplitterUint8Workload.cpp \
- NeonSubtractionFloatWorkload.cpp
-
diff --git a/src/backends/WorkloadData.hpp b/src/backends/WorkloadData.hpp
index 8c1cbd4..ff5916e 100644
--- a/src/backends/WorkloadData.hpp
+++ b/src/backends/WorkloadData.hpp
@@ -6,12 +6,14 @@
#include "WorkloadDataFwd.hpp"
-#include "armnn/Types.hpp"
-#include "armnn/Tensor.hpp"
-#include "armnn/Descriptors.hpp"
-#include "armnn/Exceptions.hpp"
-#include "InternalTypes.hpp"
-#include "OutputHandler.hpp"
+#include <armnn/Types.hpp>
+#include <armnn/Tensor.hpp>
+#include <armnn/Descriptors.hpp>
+#include <armnn/Exceptions.hpp>
+
+#include <InternalTypes.hpp>
+#include <backends/OutputHandler.hpp>
+
#include "CpuTensorHandleFwd.hpp"
namespace armnn
diff --git a/src/backends/WorkloadFactory.cpp b/src/backends/WorkloadFactory.cpp
index 8b3ab83..d23ac83 100644
--- a/src/backends/WorkloadFactory.cpp
+++ b/src/backends/WorkloadFactory.cpp
@@ -4,7 +4,7 @@
//
#include "WorkloadFactory.hpp"
#include <backends/reference/RefWorkloadFactory.hpp>
-#include "NeonWorkloadFactory.hpp"
+#include <backends/neon/NeonWorkloadFactory.hpp>
#include "ClWorkloadFactory.hpp"
#include <armnn/Types.hpp>
diff --git a/src/backends/backends.cmake b/src/backends/backends.cmake
index 6f76106..f6f69bd 100644
--- a/src/backends/backends.cmake
+++ b/src/backends/backends.cmake
@@ -12,6 +12,7 @@
FILE(GLOB backendIncludes ${PROJECT_SOURCE_DIR}/src/backends/*/backend.cmake)
# prefer to include common code first so backends can depend on them
-foreach(backendInclude ${commonIncludes} ${backendIncludes})
- include(${backendInclude})
+foreach(includeFile ${commonIncludes} ${backendIncludes})
+ message("Including backend into the build: ${includeFile}")
+ include(${includeFile})
endforeach()
diff --git a/src/backends/neon/CMakeLists.txt b/src/backends/neon/CMakeLists.txt
new file mode 100644
index 0000000..c748825
--- /dev/null
+++ b/src/backends/neon/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+if(ARMCOMPUTENEON)
+ list(APPEND armnnNeonBackend_sources
+ NeonLayerSupport.cpp
+ NeonLayerSupport.hpp
+ NeonWorkloadFactory.cpp
+ NeonWorkloadFactory.hpp
+ NeonTensorHandle.hpp
+ )
+
+ add_subdirectory(workloads test)
+else()
+ list(APPEND armnnNeonBackend_sources
+ NeonLayerSupport.cpp
+ NeonLayerSupport.hpp
+ NeonWorkloadFactory.cpp
+ NeonWorkloadFactory.hpp
+ )
+endif()
+
+add_library(armnnNeonBackend STATIC ${armnnNeonBackend_sources})
+target_include_directories(armnnNeonBackend PRIVATE ${PROJECT_SOURCE_DIR}/src)
+target_include_directories(armnnNeonBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
+target_include_directories(armnnNeonBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
diff --git a/src/backends/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp
similarity index 95%
rename from src/backends/NeonLayerSupport.cpp
rename to src/backends/neon/NeonLayerSupport.cpp
index f06db17..dfaea5c 100644
--- a/src/backends/NeonLayerSupport.cpp
+++ b/src/backends/neon/NeonLayerSupport.cpp
@@ -5,8 +5,8 @@
#include "NeonLayerSupport.hpp"
-#include "LayerSupportCommon.hpp"
-#include "InternalTypes.hpp"
+#include <LayerSupportCommon.hpp>
+#include <InternalTypes.hpp>
#include <armnn/Descriptors.hpp>
#include <armnn/Types.hpp>
@@ -15,19 +15,19 @@
#include <boost/core/ignore_unused.hpp>
#ifdef ARMCOMPUTENEON_ENABLED
-#include "NeonWorkloads/NeonAdditionFloatWorkload.hpp"
-#include "NeonWorkloads/NeonActivationFloatWorkload.hpp"
-#include "NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp"
-#include "NeonWorkloads/NeonConvolution2dBaseWorkload.hpp"
-#include "NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp"
-#include "NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp"
-#include "NeonWorkloads/NeonMultiplicationFloatWorkload.hpp"
-#include "NeonWorkloads/NeonNormalizationFloatWorkload.hpp"
-#include "NeonWorkloads/NeonFullyConnectedWorkload.hpp"
-#include "NeonWorkloads/NeonPermuteWorkload.hpp"
-#include "NeonWorkloads/NeonPooling2dBaseWorkload.hpp"
-#include "NeonWorkloads/NeonSoftmaxBaseWorkload.hpp"
-#include "NeonWorkloads/NeonSubtractionFloatWorkload.hpp"
+#include "workloads/NeonAdditionFloatWorkload.hpp"
+#include "workloads/NeonActivationFloatWorkload.hpp"
+#include "workloads/NeonBatchNormalizationFloatWorkload.hpp"
+#include "workloads/NeonConvolution2dBaseWorkload.hpp"
+#include "workloads/NeonDepthwiseConvolutionBaseWorkload.hpp"
+#include "workloads/NeonL2NormalizationFloatWorkload.hpp"
+#include "workloads/NeonMultiplicationFloatWorkload.hpp"
+#include "workloads/NeonNormalizationFloatWorkload.hpp"
+#include "workloads/NeonFullyConnectedWorkload.hpp"
+#include "workloads/NeonPermuteWorkload.hpp"
+#include "workloads/NeonPooling2dBaseWorkload.hpp"
+#include "workloads/NeonSoftmaxBaseWorkload.hpp"
+#include "workloads/NeonSubtractionFloatWorkload.hpp"
#endif
using namespace boost;
diff --git a/src/backends/NeonLayerSupport.hpp b/src/backends/neon/NeonLayerSupport.hpp
similarity index 100%
rename from src/backends/NeonLayerSupport.hpp
rename to src/backends/neon/NeonLayerSupport.hpp
diff --git a/src/backends/NeonTensorHandle.hpp b/src/backends/neon/NeonTensorHandle.hpp
similarity index 98%
rename from src/backends/NeonTensorHandle.hpp
rename to src/backends/neon/NeonTensorHandle.hpp
index 9045b8f..6554278 100644
--- a/src/backends/NeonTensorHandle.hpp
+++ b/src/backends/neon/NeonTensorHandle.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include "OutputHandler.hpp"
+#include <backends/OutputHandler.hpp>
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <arm_compute/runtime/MemoryGroup.h>
diff --git a/src/backends/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp
similarity index 97%
rename from src/backends/NeonWorkloadFactory.cpp
rename to src/backends/neon/NeonWorkloadFactory.cpp
index 3b994bf..dd91b15 100644
--- a/src/backends/NeonWorkloadFactory.cpp
+++ b/src/backends/neon/NeonWorkloadFactory.cpp
@@ -3,22 +3,22 @@
// SPDX-License-Identifier: MIT
//
#include "NeonWorkloadFactory.hpp"
-#include "armnn/Utils.hpp"
-#include "CpuTensorHandle.hpp"
-#include "Layer.hpp"
+#include <armnn/Utils.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <Layer.hpp>
#ifdef ARMCOMPUTENEON_ENABLED
-#include "arm_compute/runtime/Allocator.h"
+#include <arm_compute/runtime/Allocator.h>
-#include "MemCopyWorkload.hpp"
+#include <backends/MemCopyWorkload.hpp>
#include "NeonTensorHandle.hpp"
-#include "NeonWorkloadUtils.hpp"
-#include "NeonWorkloads.hpp"
+#include "workloads/NeonWorkloadUtils.hpp"
+#include "workloads/NeonWorkloads.hpp"
-#include "memory/IPoolManager.hpp"
+#include <memory/IPoolManager.hpp>
#endif
-#include "MakeWorkloadHelper.hpp"
+#include <backends/MakeWorkloadHelper.hpp>
#include <boost/polymorphic_cast.hpp>
diff --git a/src/backends/NeonWorkloadFactory.hpp b/src/backends/neon/NeonWorkloadFactory.hpp
similarity index 98%
rename from src/backends/NeonWorkloadFactory.hpp
rename to src/backends/neon/NeonWorkloadFactory.hpp
index 45d1c2c..440bba6 100644
--- a/src/backends/NeonWorkloadFactory.hpp
+++ b/src/backends/neon/NeonWorkloadFactory.hpp
@@ -4,9 +4,9 @@
//
#pragma once
-#include "OutputHandler.hpp"
+#include <backends/OutputHandler.hpp>
-#include "memory/BaseMemoryManager.hpp"
+#include <memory/BaseMemoryManager.hpp>
#include <boost/core/ignore_unused.hpp>
#include <boost/optional.hpp>
diff --git a/src/backends/neon/backend.cmake b/src/backends/neon/backend.cmake
new file mode 100644
index 0000000..5f02c84
--- /dev/null
+++ b/src/backends/neon/backend.cmake
@@ -0,0 +1,13 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+if(ARMCOMPUTENEON)
+ add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends/neon)
+ list(APPEND armnnLibraries armnnNeonBackend armnnNeonBackendWorkloads)
+else()
+ message("NEON backend is disabled")
+ add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends/neon)
+ list(APPEND armnnLibraries armnnNeonBackend)
+endif()
diff --git a/src/backends/neon/backend.mk b/src/backends/neon/backend.mk
new file mode 100644
index 0000000..a59966f
--- /dev/null
+++ b/src/backends/neon/backend.mk
@@ -0,0 +1,47 @@
+#
+# Copyright © 2017 ARM Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+# BACKEND_SOURCES contains the list of files to be included
+# in the Android build and it is picked up by the Android.mk
+# file in the root of ArmNN
+
+BACKEND_SOURCES := \
+ NeonLayerSupport.cpp \
+ NeonWorkloadFactory.cpp \
+ workloads/NeonActivationFloatWorkload.cpp \
+ workloads/NeonActivationUint8Workload.cpp \
+ workloads/NeonAdditionFloatWorkload.cpp \
+ workloads/NeonBatchNormalizationFloatWorkload.cpp \
+ workloads/NeonConstantFloatWorkload.cpp \
+ workloads/NeonConstantUint8Workload.cpp \
+ workloads/NeonConvertFp16ToFp32Workload.cpp \
+ workloads/NeonConvertFp32ToFp16Workload.cpp \
+ workloads/NeonConvolution2dBaseWorkload.cpp \
+ workloads/NeonConvolution2dFloatWorkload.cpp \
+ workloads/NeonConvolution2dUint8Workload.cpp \
+ workloads/NeonDepthwiseConvolutionBaseWorkload.cpp \
+ workloads/NeonDepthwiseConvolutionFloatWorkload.cpp \
+ workloads/NeonDepthwiseConvolutionUint8Workload.cpp \
+ workloads/NeonFloorFloatWorkload.cpp \
+ workloads/NeonFullyConnectedWorkload.cpp \
+ workloads/NeonL2NormalizationFloatWorkload.cpp \
+ workloads/NeonLstmFloatWorkload.cpp \
+ workloads/NeonMergerFloatWorkload.cpp \
+ workloads/NeonMergerUint8Workload.cpp \
+ workloads/NeonMultiplicationFloatWorkload.cpp \
+ workloads/NeonNormalizationFloatWorkload.cpp \
+ workloads/NeonPermuteWorkload.cpp \
+ workloads/NeonPooling2dBaseWorkload.cpp \
+ workloads/NeonPooling2dFloatWorkload.cpp \
+ workloads/NeonPooling2dUint8Workload.cpp \
+ workloads/NeonReshapeFloatWorkload.cpp \
+ workloads/NeonReshapeUint8Workload.cpp \
+ workloads/NeonSoftmaxBaseWorkload.cpp \
+ workloads/NeonSoftmaxFloatWorkload.cpp \
+ workloads/NeonSoftmaxUint8Workload.cpp \
+ workloads/NeonSplitterFloatWorkload.cpp \
+ workloads/NeonSplitterUint8Workload.cpp \
+ workloads/NeonSubtractionFloatWorkload.cpp \
+ workloads/NeonWorkloadUtils.cpp
diff --git a/src/backends/neon/test/CMakeLists.txt b/src/backends/neon/test/CMakeLists.txt
new file mode 100644
index 0000000..f41a074
--- /dev/null
+++ b/src/backends/neon/test/CMakeLists.txt
@@ -0,0 +1,4 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
diff --git a/src/backends/NeonWorkloads/CMakeLists.txt b/src/backends/neon/workloads/CMakeLists.txt
similarity index 84%
rename from src/backends/NeonWorkloads/CMakeLists.txt
rename to src/backends/neon/workloads/CMakeLists.txt
index ca44bcc..850c65c 100644
--- a/src/backends/NeonWorkloads/CMakeLists.txt
+++ b/src/backends/neon/workloads/CMakeLists.txt
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: MIT
#
-list(APPEND armnnNeonBackend_sources
+list(APPEND armnnNeonBackendWorkloads_sources
NeonActivationFloatWorkload.cpp
NeonActivationFloatWorkload.hpp
NeonActivationUint8Workload.cpp
@@ -75,9 +75,12 @@
NeonSplitterUint8Workload.hpp
NeonSubtractionFloatWorkload.cpp
NeonSubtractionFloatWorkload.hpp
+ NeonWorkloads.hpp
+ NeonWorkloadUtils.cpp
+ NeonWorkloadUtils.hpp
)
-add_library(armnnNeonBackend STATIC ${armnnNeonBackend_sources})
-target_include_directories(armnnNeonBackend PRIVATE ${PROJECT_SOURCE_DIR}/src)
-target_include_directories(armnnNeonBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
-target_include_directories(armnnNeonBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
+add_library(armnnNeonBackendWorkloads STATIC ${armnnNeonBackendWorkloads_sources})
+target_include_directories(armnnNeonBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src)
+target_include_directories(armnnNeonBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
+target_include_directories(armnnNeonBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
diff --git a/src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp b/src/backends/neon/workloads/NeonActivationFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonActivationFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp b/src/backends/neon/workloads/NeonActivationFloatWorkload.hpp
similarity index 92%
rename from src/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonActivationFloatWorkload.hpp
index f8d25ca..4d2f51f 100644
--- a/src/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonActivationFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp b/src/backends/neon/workloads/NeonActivationUint8Workload.cpp
similarity index 96%
rename from src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
rename to src/backends/neon/workloads/NeonActivationUint8Workload.cpp
index a5bba48..4aed6b5 100644
--- a/src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
+++ b/src/backends/neon/workloads/NeonActivationUint8Workload.cpp
@@ -5,7 +5,7 @@
#include "NeonActivationUint8Workload.hpp"
#include <backends/aclCommon/ArmComputeUtils.hpp>
-#include <backends/NeonLayerSupport.hpp>
+#include <backends/neon/NeonLayerSupport.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonActivationUint8Workload.hpp b/src/backends/neon/workloads/NeonActivationUint8Workload.hpp
similarity index 88%
rename from src/backends/NeonWorkloads/NeonActivationUint8Workload.hpp
rename to src/backends/neon/workloads/NeonActivationUint8Workload.hpp
index 405e600..56e3544 100644
--- a/src/backends/NeonWorkloads/NeonActivationUint8Workload.hpp
+++ b/src/backends/neon/workloads/NeonActivationUint8Workload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp b/src/backends/neon/workloads/NeonAdditionFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonAdditionFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp b/src/backends/neon/workloads/NeonAdditionFloatWorkload.hpp
similarity index 92%
rename from src/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonAdditionFloatWorkload.hpp
index 154e4f3..769492e 100644
--- a/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonAdditionFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp b/src/backends/neon/workloads/NeonBaseConstantWorkload.hpp
similarity index 96%
rename from src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
rename to src/backends/neon/workloads/NeonBaseConstantWorkload.hpp
index 59afc70..6bb275a 100644
--- a/src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
+++ b/src/backends/neon/workloads/NeonBaseConstantWorkload.hpp
@@ -7,9 +7,9 @@
#include <arm_compute/core/Types.h>
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/neon/NeonTensorHandle.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
#include <backends/CpuTensorHandle.hpp>
-#include <backends/NeonTensorHandle.hpp>
-#include <backends/NeonWorkloadUtils.hpp>
#include <backends/Workload.hpp>
#include <Half.hpp>
diff --git a/src/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp b/src/backends/neon/workloads/NeonBaseMergerWorkload.hpp
similarity index 91%
rename from src/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp
rename to src/backends/neon/workloads/NeonBaseMergerWorkload.hpp
index 603e7f3..9ff09f6 100644
--- a/src/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp
+++ b/src/backends/neon/workloads/NeonBaseMergerWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
#include <backends/Workload.hpp>
namespace armnn
diff --git a/src/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp b/src/backends/neon/workloads/NeonBaseSplitterWorkload.hpp
similarity index 91%
rename from src/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp
rename to src/backends/neon/workloads/NeonBaseSplitterWorkload.hpp
index 9288d44..dcee933 100644
--- a/src/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp
+++ b/src/backends/neon/workloads/NeonBaseSplitterWorkload.hpp
@@ -6,7 +6,7 @@
#pragma once
#include <backends/Workload.hpp>
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp b/src/backends/neon/workloads/NeonBatchNormalizationFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonBatchNormalizationFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp b/src/backends/neon/workloads/NeonBatchNormalizationFloatWorkload.hpp
similarity index 95%
rename from src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonBatchNormalizationFloatWorkload.hpp
index 7982541..59c7404 100644
--- a/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonBatchNormalizationFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp b/src/backends/neon/workloads/NeonConstantFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonConstantFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp b/src/backends/neon/workloads/NeonConstantFloatWorkload.hpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonConstantFloatWorkload.hpp
diff --git a/src/backends/NeonWorkloads/NeonConstantUint8Workload.cpp b/src/backends/neon/workloads/NeonConstantUint8Workload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonConstantUint8Workload.cpp
rename to src/backends/neon/workloads/NeonConstantUint8Workload.cpp
diff --git a/src/backends/NeonWorkloads/NeonConstantUint8Workload.hpp b/src/backends/neon/workloads/NeonConstantUint8Workload.hpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonConstantUint8Workload.hpp
rename to src/backends/neon/workloads/NeonConstantUint8Workload.hpp
diff --git a/src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp b/src/backends/neon/workloads/NeonConvertFp16ToFp32Workload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp
rename to src/backends/neon/workloads/NeonConvertFp16ToFp32Workload.cpp
diff --git a/src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp b/src/backends/neon/workloads/NeonConvertFp16ToFp32Workload.hpp
similarity index 81%
rename from src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp
rename to src/backends/neon/workloads/NeonConvertFp16ToFp32Workload.hpp
index d70401b..dcf6998 100644
--- a/src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp
+++ b/src/backends/neon/workloads/NeonConvertFp16ToFp32Workload.hpp
@@ -5,9 +5,9 @@
#pragma once
-#include "backends/Workload.hpp"
-#include "backends/WorkloadData.hpp"
-#include "backends/NeonWorkloadUtils.hpp"
+#include <backends/Workload.hpp>
+#include <backends/WorkloadData.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp b/src/backends/neon/workloads/NeonConvertFp32ToFp16Workload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp
rename to src/backends/neon/workloads/NeonConvertFp32ToFp16Workload.cpp
diff --git a/src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp b/src/backends/neon/workloads/NeonConvertFp32ToFp16Workload.hpp
similarity index 81%
rename from src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp
rename to src/backends/neon/workloads/NeonConvertFp32ToFp16Workload.hpp
index eb839fd..b819a8c 100644
--- a/src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp
+++ b/src/backends/neon/workloads/NeonConvertFp32ToFp16Workload.hpp
@@ -5,9 +5,9 @@
#pragma once
-#include "backends/Workload.hpp"
-#include "backends/WorkloadData.hpp"
-#include "backends/NeonWorkloadUtils.hpp"
+#include <backends/Workload.hpp>
+#include <backends/WorkloadData.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp b/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.cpp
similarity index 98%
rename from src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
rename to src/backends/neon/workloads/NeonConvolution2dBaseWorkload.cpp
index ee69088..547f563 100644
--- a/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
+++ b/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.cpp
@@ -5,7 +5,7 @@
#include <backends/CpuTensorHandle.hpp>
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
-#include <backends/NeonLayerSupport.hpp>
+#include <backends/neon/NeonLayerSupport.hpp>
#include "NeonConvolution2dBaseWorkload.hpp"
diff --git a/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp b/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.hpp
similarity index 92%
rename from src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
rename to src/backends/neon/workloads/NeonConvolution2dBaseWorkload.hpp
index 93f71c3..6af89c1 100644
--- a/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
+++ b/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.hpp
@@ -7,8 +7,8 @@
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <backends/CpuTensorHandle.hpp>
-#include <backends/NeonLayerSupport.hpp>
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/NeonLayerSupport.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
#include <backends/Workload.hpp>
#include <arm_compute/runtime/MemoryManagerOnDemand.h>
diff --git a/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp b/src/backends/neon/workloads/NeonConvolution2dFloatWorkload.cpp
similarity index 95%
rename from src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonConvolution2dFloatWorkload.cpp
index ea7a843..cd26f8d 100644
--- a/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
+++ b/src/backends/neon/workloads/NeonConvolution2dFloatWorkload.cpp
@@ -6,7 +6,7 @@
#include "NeonConvolution2dFloatWorkload.hpp"
#include <backends/CpuTensorHandle.hpp>
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
-#include <backends/NeonLayerSupport.hpp>
+#include <backends/neon/NeonLayerSupport.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp b/src/backends/neon/workloads/NeonConvolution2dFloatWorkload.hpp
similarity index 92%
rename from src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonConvolution2dFloatWorkload.hpp
index dd8ef55..14c77c8 100644
--- a/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonConvolution2dFloatWorkload.hpp
@@ -6,7 +6,7 @@
#pragma once
#include "NeonConvolution2dBaseWorkload.hpp"
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
#include "arm_compute/runtime/MemoryManagerOnDemand.h"
diff --git a/src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp b/src/backends/neon/workloads/NeonConvolution2dUint8Workload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp
rename to src/backends/neon/workloads/NeonConvolution2dUint8Workload.cpp
diff --git a/src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp b/src/backends/neon/workloads/NeonConvolution2dUint8Workload.hpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp
rename to src/backends/neon/workloads/NeonConvolution2dUint8Workload.hpp
diff --git a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp b/src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp
rename to src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp b/src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.hpp
similarity index 91%
rename from src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp
rename to src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.hpp
index eec432b..982992a 100644
--- a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp
+++ b/src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include "backends/NeonWorkloadUtils.hpp"
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
#include <boost/optional.hpp>
diff --git a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp b/src/backends/neon/workloads/NeonDepthwiseConvolutionFloatWorkload.cpp
similarity index 98%
rename from src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonDepthwiseConvolutionFloatWorkload.cpp
index db8e27a..742a768 100644
--- a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
+++ b/src/backends/neon/workloads/NeonDepthwiseConvolutionFloatWorkload.cpp
@@ -4,7 +4,7 @@
//
#include "NeonDepthwiseConvolutionFloatWorkload.hpp"
-#include <backends/NeonLayerSupport.hpp>
+#include <backends/neon/NeonLayerSupport.hpp>
#include <backends/CpuTensorHandle.hpp>
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
diff --git a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp b/src/backends/neon/workloads/NeonDepthwiseConvolutionFloatWorkload.hpp
similarity index 92%
rename from src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonDepthwiseConvolutionFloatWorkload.hpp
index 4ec8c1d..0109ea1 100644
--- a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonDepthwiseConvolutionFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp b/src/backends/neon/workloads/NeonDepthwiseConvolutionUint8Workload.cpp
similarity index 98%
rename from src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
rename to src/backends/neon/workloads/NeonDepthwiseConvolutionUint8Workload.cpp
index 3efc5b0..722b778 100644
--- a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
+++ b/src/backends/neon/workloads/NeonDepthwiseConvolutionUint8Workload.cpp
@@ -4,7 +4,7 @@
//
#include "NeonDepthwiseConvolutionUint8Workload.hpp"
-#include <backends/NeonLayerSupport.hpp>
+#include <backends/neon/NeonLayerSupport.hpp>
#include <backends/CpuTensorHandle.hpp>
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
diff --git a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp b/src/backends/neon/workloads/NeonDepthwiseConvolutionUint8Workload.hpp
similarity index 92%
rename from src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp
rename to src/backends/neon/workloads/NeonDepthwiseConvolutionUint8Workload.hpp
index a0be512..90cf8b0 100644
--- a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp
+++ b/src/backends/neon/workloads/NeonDepthwiseConvolutionUint8Workload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp b/src/backends/neon/workloads/NeonFloorFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonFloorFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp b/src/backends/neon/workloads/NeonFloorFloatWorkload.hpp
similarity index 87%
rename from src/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonFloorFloatWorkload.hpp
index ad9f44b..478aa94 100644
--- a/src/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonFloorFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonFullyConnectedWorkload.cpp b/src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonFullyConnectedWorkload.cpp
rename to src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonFullyConnectedWorkload.hpp b/src/backends/neon/workloads/NeonFullyConnectedWorkload.hpp
similarity index 91%
rename from src/backends/NeonWorkloads/NeonFullyConnectedWorkload.hpp
rename to src/backends/neon/workloads/NeonFullyConnectedWorkload.hpp
index 11991f8..9ffac96 100644
--- a/src/backends/NeonWorkloads/NeonFullyConnectedWorkload.hpp
+++ b/src/backends/neon/workloads/NeonFullyConnectedWorkload.hpp
@@ -5,9 +5,9 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
-#include "arm_compute/runtime/MemoryManagerOnDemand.h"
+#include <arm_compute/runtime/MemoryManagerOnDemand.h>
#include <memory>
diff --git a/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp b/src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp b/src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.hpp
similarity index 87%
rename from src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.hpp
index 078c4d1..c1221fb 100644
--- a/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.hpp
@@ -5,9 +5,8 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
-
-#include "arm_compute/runtime/MemoryManagerOnDemand.h"
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
+#include <arm_compute/runtime/MemoryManagerOnDemand.h>
#include <memory>
diff --git a/src/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp b/src/backends/neon/workloads/NeonLstmFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonLstmFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp b/src/backends/neon/workloads/NeonLstmFloatWorkload.hpp
similarity index 86%
rename from src/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonLstmFloatWorkload.hpp
index 6064a01..4a5394f 100644
--- a/src/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonLstmFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp b/src/backends/neon/workloads/NeonMergerFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonMergerFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp b/src/backends/neon/workloads/NeonMergerFloatWorkload.hpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonMergerFloatWorkload.hpp
diff --git a/src/backends/NeonWorkloads/NeonMergerUint8Workload.cpp b/src/backends/neon/workloads/NeonMergerUint8Workload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonMergerUint8Workload.cpp
rename to src/backends/neon/workloads/NeonMergerUint8Workload.cpp
diff --git a/src/backends/NeonWorkloads/NeonMergerUint8Workload.hpp b/src/backends/neon/workloads/NeonMergerUint8Workload.hpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonMergerUint8Workload.hpp
rename to src/backends/neon/workloads/NeonMergerUint8Workload.hpp
diff --git a/src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp b/src/backends/neon/workloads/NeonMultiplicationFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonMultiplicationFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp b/src/backends/neon/workloads/NeonMultiplicationFloatWorkload.hpp
similarity index 92%
rename from src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonMultiplicationFloatWorkload.hpp
index 4b187b2..0a99c8c 100644
--- a/src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonMultiplicationFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp b/src/backends/neon/workloads/NeonNormalizationFloatWorkload.cpp
similarity index 98%
rename from src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonNormalizationFloatWorkload.cpp
index ee97856..472c75f 100644
--- a/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
+++ b/src/backends/neon/workloads/NeonNormalizationFloatWorkload.cpp
@@ -4,7 +4,7 @@
//
#include "NeonNormalizationFloatWorkload.hpp"
-#include <backends/NeonLayerSupport.hpp>
+#include <backends/neon/NeonLayerSupport.hpp>
#include <backends/aclCommon/ArmComputeUtils.hpp>
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
diff --git a/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp b/src/backends/neon/workloads/NeonNormalizationFloatWorkload.hpp
similarity index 88%
rename from src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonNormalizationFloatWorkload.hpp
index 633944d..c6f64c6 100644
--- a/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonNormalizationFloatWorkload.hpp
@@ -5,9 +5,8 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
-
-#include "arm_compute/runtime/MemoryManagerOnDemand.h"
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
+#include <arm_compute/runtime/MemoryManagerOnDemand.h>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonPermuteWorkload.cpp b/src/backends/neon/workloads/NeonPermuteWorkload.cpp
similarity index 97%
rename from src/backends/NeonWorkloads/NeonPermuteWorkload.cpp
rename to src/backends/neon/workloads/NeonPermuteWorkload.cpp
index 7a20c70..0bf4aa1 100644
--- a/src/backends/NeonWorkloads/NeonPermuteWorkload.cpp
+++ b/src/backends/neon/workloads/NeonPermuteWorkload.cpp
@@ -4,7 +4,7 @@
//
#include "NeonPermuteWorkload.hpp"
-#include <backends/NeonTensorHandle.hpp>
+#include <backends/neon/NeonTensorHandle.hpp>
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <arm_compute/core/Error.h>
diff --git a/src/backends/NeonWorkloads/NeonPermuteWorkload.hpp b/src/backends/neon/workloads/NeonPermuteWorkload.hpp
similarity index 89%
rename from src/backends/NeonWorkloads/NeonPermuteWorkload.hpp
rename to src/backends/neon/workloads/NeonPermuteWorkload.hpp
index 1fe05b1..a85816b 100644
--- a/src/backends/NeonWorkloads/NeonPermuteWorkload.hpp
+++ b/src/backends/neon/workloads/NeonPermuteWorkload.hpp
@@ -5,9 +5,9 @@
#pragma once
-#include "backends/Workload.hpp"
-#include "backends/WorkloadData.hpp"
-#include "backends/NeonWorkloadUtils.hpp"
+#include <backends/Workload.hpp>
+#include <backends/WorkloadData.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
#include <armnn/TypesUtils.hpp>
#include <arm_compute/runtime/NEON/functions/NEPermute.h>
diff --git a/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp b/src/backends/neon/workloads/NeonPooling2dBaseWorkload.cpp
similarity index 94%
rename from src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
rename to src/backends/neon/workloads/NeonPooling2dBaseWorkload.cpp
index 95286f4..109e856 100644
--- a/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
+++ b/src/backends/neon/workloads/NeonPooling2dBaseWorkload.cpp
@@ -4,8 +4,8 @@
//
#include "NeonPooling2dBaseWorkload.hpp"
-#include <backends/NeonLayerSupport.hpp>
-#include <backends/NeonTensorHandle.hpp>
+#include <backends/neon/NeonLayerSupport.hpp>
+#include <backends/neon/NeonTensorHandle.hpp>
#include <backends/aclCommon/ArmComputeUtils.hpp>
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
diff --git a/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp b/src/backends/neon/workloads/NeonPooling2dBaseWorkload.hpp
similarity index 93%
rename from src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp
rename to src/backends/neon/workloads/NeonPooling2dBaseWorkload.hpp
index 77d6bf2..8ea41fe 100644
--- a/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp
+++ b/src/backends/neon/workloads/NeonPooling2dBaseWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp b/src/backends/neon/workloads/NeonPooling2dFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonPooling2dFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp b/src/backends/neon/workloads/NeonPooling2dFloatWorkload.hpp
similarity index 90%
rename from src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonPooling2dFloatWorkload.hpp
index 78a3574..9b0eebd 100644
--- a/src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonPooling2dFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
#include "NeonPooling2dBaseWorkload.hpp"
namespace armnn
diff --git a/src/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp b/src/backends/neon/workloads/NeonPooling2dUint8Workload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp
rename to src/backends/neon/workloads/NeonPooling2dUint8Workload.cpp
diff --git a/src/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp b/src/backends/neon/workloads/NeonPooling2dUint8Workload.hpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp
rename to src/backends/neon/workloads/NeonPooling2dUint8Workload.hpp
diff --git a/src/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp b/src/backends/neon/workloads/NeonReshapeFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonReshapeFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp b/src/backends/neon/workloads/NeonReshapeFloatWorkload.hpp
similarity index 88%
rename from src/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonReshapeFloatWorkload.hpp
index 066765a..bdef862 100644
--- a/src/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonReshapeFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp b/src/backends/neon/workloads/NeonReshapeUint8Workload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp
rename to src/backends/neon/workloads/NeonReshapeUint8Workload.cpp
diff --git a/src/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp b/src/backends/neon/workloads/NeonReshapeUint8Workload.hpp
similarity index 88%
rename from src/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp
rename to src/backends/neon/workloads/NeonReshapeUint8Workload.hpp
index 3f7c470..4951873 100644
--- a/src/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp
+++ b/src/backends/neon/workloads/NeonReshapeUint8Workload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp b/src/backends/neon/workloads/NeonSoftmaxBaseWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp
rename to src/backends/neon/workloads/NeonSoftmaxBaseWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp b/src/backends/neon/workloads/NeonSoftmaxBaseWorkload.hpp
similarity index 86%
rename from src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp
rename to src/backends/neon/workloads/NeonSoftmaxBaseWorkload.hpp
index 24910df..446392c 100644
--- a/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp
+++ b/src/backends/neon/workloads/NeonSoftmaxBaseWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include "backends/NeonWorkloadUtils.hpp"
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp b/src/backends/neon/workloads/NeonSoftmaxFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonSoftmaxFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp b/src/backends/neon/workloads/NeonSoftmaxFloatWorkload.hpp
similarity index 83%
rename from src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonSoftmaxFloatWorkload.hpp
index 47745c6..83f2922 100644
--- a/src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonSoftmaxFloatWorkload.hpp
@@ -5,9 +5,8 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
-
-#include "arm_compute/runtime/MemoryManagerOnDemand.h"
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
+#include <arm_compute/runtime/MemoryManagerOnDemand.h>
#include <memory>
diff --git a/src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp b/src/backends/neon/workloads/NeonSoftmaxUint8Workload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp
rename to src/backends/neon/workloads/NeonSoftmaxUint8Workload.cpp
diff --git a/src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp b/src/backends/neon/workloads/NeonSoftmaxUint8Workload.hpp
similarity index 82%
rename from src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp
rename to src/backends/neon/workloads/NeonSoftmaxUint8Workload.hpp
index f894c5a..0d72514 100644
--- a/src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp
+++ b/src/backends/neon/workloads/NeonSoftmaxUint8Workload.hpp
@@ -5,9 +5,8 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
-
-#include "arm_compute/runtime/MemoryManagerOnDemand.h"
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
+#include <arm_compute/runtime/MemoryManagerOnDemand.h>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp b/src/backends/neon/workloads/NeonSplitterFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonSplitterFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp b/src/backends/neon/workloads/NeonSplitterFloatWorkload.hpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonSplitterFloatWorkload.hpp
diff --git a/src/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp b/src/backends/neon/workloads/NeonSplitterUint8Workload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp
rename to src/backends/neon/workloads/NeonSplitterUint8Workload.cpp
diff --git a/src/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp b/src/backends/neon/workloads/NeonSplitterUint8Workload.hpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp
rename to src/backends/neon/workloads/NeonSplitterUint8Workload.hpp
diff --git a/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp b/src/backends/neon/workloads/NeonSubtractionFloatWorkload.cpp
similarity index 100%
rename from src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonSubtractionFloatWorkload.cpp
diff --git a/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp b/src/backends/neon/workloads/NeonSubtractionFloatWorkload.hpp
similarity index 92%
rename from src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonSubtractionFloatWorkload.hpp
index 18988a3..98aeb4c 100644
--- a/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonSubtractionFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloadUtils.cpp b/src/backends/neon/workloads/NeonWorkloadUtils.cpp
similarity index 94%
rename from src/backends/NeonWorkloadUtils.cpp
rename to src/backends/neon/workloads/NeonWorkloadUtils.cpp
index e388949..195f090 100644
--- a/src/backends/NeonWorkloadUtils.cpp
+++ b/src/backends/neon/workloads/NeonWorkloadUtils.cpp
@@ -5,8 +5,9 @@
#include "NeonWorkloadUtils.hpp"
#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/neon/NeonTensorHandle.hpp>
+#include <backends/neon/NeonLayerSupport.hpp>
#include <backends/CpuTensorHandle.hpp>
-#include <backends/NeonTensorHandle.hpp>
#include <armnn/Utils.hpp>
#include <armnn/Exceptions.hpp>
@@ -18,7 +19,6 @@
#include "Profiling.hpp"
-#include "NeonLayerSupport.hpp"
#include <armnn/Types.hpp>
#include <Half.hpp>
diff --git a/src/backends/NeonWorkloadUtils.hpp b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
similarity index 79%
rename from src/backends/NeonWorkloadUtils.hpp
rename to src/backends/neon/workloads/NeonWorkloadUtils.hpp
index f3c8866..22668f6 100644
--- a/src/backends/NeonWorkloadUtils.hpp
+++ b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
@@ -4,14 +4,14 @@
//
#pragma once
-#include "Workload.hpp"
+#include <backends/Workload.hpp>
+#include <backends/neon/NeonTensorHandle.hpp>
-#include "backends/NeonTensorHandle.hpp"
#include "NeonTimer.hpp"
-#include "arm_compute/core/Types.h"
-#include "arm_compute/core/Helpers.h"
-#include "arm_compute/runtime/NEON/NEFunctions.h"
+#include <arm_compute/core/Types.h>
+#include <arm_compute/core/Helpers.h>
+#include <arm_compute/runtime/NEON/NEFunctions.h>
#include <arm_compute/runtime/SubTensor.h>
#include <boost/cast.hpp>
diff --git a/src/backends/neon/workloads/NeonWorkloads.hpp b/src/backends/neon/workloads/NeonWorkloads.hpp
new file mode 100644
index 0000000..a4ab6b2
--- /dev/null
+++ b/src/backends/neon/workloads/NeonWorkloads.hpp
@@ -0,0 +1,41 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+#include "NeonActivationFloatWorkload.hpp"
+#include "NeonActivationUint8Workload.hpp"
+#include "NeonAdditionFloatWorkload.hpp"
+#include "NeonBaseConstantWorkload.hpp"
+#include "NeonBaseMergerWorkload.hpp"
+#include "NeonBaseSplitterWorkload.hpp"
+#include "NeonBatchNormalizationFloatWorkload.hpp"
+#include "NeonConstantFloatWorkload.hpp"
+#include "NeonConstantUint8Workload.hpp"
+#include "NeonConvertFp16ToFp32Workload.hpp"
+#include "NeonConvertFp32ToFp16Workload.hpp"
+#include "NeonConvolution2dBaseWorkload.hpp"
+#include "NeonConvolution2dFloatWorkload.hpp"
+#include "NeonConvolution2dUint8Workload.hpp"
+#include "NeonDepthwiseConvolutionFloatWorkload.hpp"
+#include "NeonDepthwiseConvolutionUint8Workload.hpp"
+#include "NeonFloorFloatWorkload.hpp"
+#include "NeonFullyConnectedWorkload.hpp"
+#include "NeonL2NormalizationFloatWorkload.hpp"
+#include "NeonLstmFloatWorkload.hpp"
+#include "NeonMergerFloatWorkload.hpp"
+#include "NeonMergerUint8Workload.hpp"
+#include "NeonMultiplicationFloatWorkload.hpp"
+#include "NeonNormalizationFloatWorkload.hpp"
+#include "NeonPermuteWorkload.hpp"
+#include "NeonPooling2dBaseWorkload.hpp"
+#include "NeonPooling2dFloatWorkload.hpp"
+#include "NeonPooling2dUint8Workload.hpp"
+#include "NeonReshapeFloatWorkload.hpp"
+#include "NeonReshapeUint8Workload.hpp"
+#include "NeonSoftmaxFloatWorkload.hpp"
+#include "NeonSoftmaxUint8Workload.hpp"
+#include "NeonSplitterFloatWorkload.hpp"
+#include "NeonSplitterUint8Workload.hpp"
+#include "NeonSubtractionFloatWorkload.hpp"
diff --git a/src/backends/test/ArmComputeNeon.cpp b/src/backends/test/ArmComputeNeon.cpp
index e8af6b3..4844cc2 100644
--- a/src/backends/test/ArmComputeNeon.cpp
+++ b/src/backends/test/ArmComputeNeon.cpp
@@ -8,8 +8,8 @@
#include "LayerTests.hpp"
#include <backends/CpuTensorHandle.hpp>
-#include <backends/NeonLayerSupport.hpp>
-#include <backends/NeonWorkloadFactory.hpp>
+#include <backends/neon/NeonLayerSupport.hpp>
+#include <backends/neon/NeonWorkloadFactory.hpp>
#include <backends/reference/RefWorkloadFactory.hpp>
#include <backends/test/TensorCopyUtils.hpp>
#include "ActivationFixture.hpp"
diff --git a/src/backends/test/CreateWorkloadNeon.cpp b/src/backends/test/CreateWorkloadNeon.cpp
index ce62a02..36ad9a4 100644
--- a/src/backends/test/CreateWorkloadNeon.cpp
+++ b/src/backends/test/CreateWorkloadNeon.cpp
@@ -2,11 +2,11 @@
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
-#include "backends/NeonWorkloadFactory.hpp"
-#include "backends/NeonWorkloadUtils.hpp"
-#include "backends/NeonWorkloads.hpp"
-#include "backends/MemCopyWorkload.hpp"
-#include "backends/NeonTensorHandle.hpp"
+#include <backends/neon/NeonWorkloadFactory.hpp>
+#include <backends/neon/NeonTensorHandle.hpp>
+#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
+#include <backends/neon/workloads/NeonWorkloads.hpp>
+#include <backends/MemCopyWorkload.hpp>
#include "test/CreateWorkloadClNeon.hpp"
diff --git a/src/backends/test/IsLayerSupportedTest.cpp b/src/backends/test/IsLayerSupportedTest.cpp
index 51bf11e..7117e20 100644
--- a/src/backends/test/IsLayerSupportedTest.cpp
+++ b/src/backends/test/IsLayerSupportedTest.cpp
@@ -9,11 +9,11 @@
#include <backends/CpuTensorHandle.hpp>
#include <backends/reference/RefWorkloadFactory.hpp>
+#include <backends/neon/NeonWorkloadFactory.hpp>
#include <string>
#include <iostream>
#include <backends/ClWorkloadFactory.hpp>
-#include <backends/NeonWorkloadFactory.hpp>
#include "IsLayerSupportedTestImpl.hpp"
#include "ClContextControlFixture.hpp"
diff --git a/src/backends/test/MemCopyTests.cpp b/src/backends/test/MemCopyTests.cpp
index 4fbe9e7..a1dc34a 100644
--- a/src/backends/test/MemCopyTests.cpp
+++ b/src/backends/test/MemCopyTests.cpp
@@ -11,7 +11,7 @@
#include <backends/ClWorkloadFactory.hpp>
#endif
#if ARMCOMPUTENEON_ENABLED
-#include <backends/NeonWorkloadFactory.hpp>
+#include <backends/neon/NeonWorkloadFactory.hpp>
#endif
#include <backends/CpuTensorHandle.hpp>
#include "test/TensorHelpers.hpp"
diff --git a/src/backends/test/TensorCopyUtils.cpp b/src/backends/test/TensorCopyUtils.cpp
index 530dc79..b2a9efc 100644
--- a/src/backends/test/TensorCopyUtils.cpp
+++ b/src/backends/test/TensorCopyUtils.cpp
@@ -11,11 +11,11 @@
#include "TensorCopyUtils.hpp"
#ifdef ARMCOMPUTECL_ENABLED
-#include "backends/ClTensorHandle.hpp"
+#include <backends/ClTensorHandle.hpp>
#endif
#if ARMCOMPUTENEON_ENABLED
-#include "backends/NeonTensorHandle.hpp"
+#include <backends/neon/NeonTensorHandle.hpp>
#endif
#if ARMCOMPUTECLENABLED || ARMCOMPUTENEON_ENABLED