IVGCVSW-1897 : build infrastructure for the src/backends folder
Change-Id: I7ebafb675ccc77ad54d1deb01412a8379a5356bb
diff --git a/Android.mk b/Android.mk
index ad02db9..cc1076f 100644
--- a/Android.mk
+++ b/Android.mk
@@ -10,6 +10,7 @@
OPENCL_HEADER_PATH := $(LOCAL_PATH)/../clframework/include
NN_HEADER_PATH := $(LOCAL_PATH)/../../../../frameworks/ml/nn/runtime/include
ARMNN_HEADER_PATH := $(LOCAL_PATH)/include
+ARMNN_MAIN_HEADER_PATH := $(LOCAL_PATH)/src
ARMNN_SOURCE_HEADER_PATH := $(LOCAL_PATH)/src/armnn
ARMNN_SOURCE_UTILS_HEADER_PATH := $(LOCAL_PATH)/src/armnnUtils
@@ -27,6 +28,7 @@
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_EXPORT_C_INCLUDES := \
+ $(ARMNN_MAIN_HEADER_PATH) \
$(ARMNN_SOURCE_HEADER_PATH) \
$(ARMNN_SOURCE_UTILS_HEADER_PATH)
@@ -34,6 +36,7 @@
$(OPENCL_HEADER_PATH) \
$(NN_HEADER_PATH) \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_MAIN_HEADER_PATH) \
$(ARMNN_SOURCE_HEADER_PATH) \
$(ARMNN_SOURCE_UTILS_HEADER_PATH)
@@ -42,127 +45,127 @@
src/armnnUtils/FloatingPointConverter.cpp \
src/armnnUtils/Logging.cpp \
src/armnnUtils/Permute.cpp \
- src/armnn/backends/ArmComputeTensorUtils.cpp \
- src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp \
- src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp \
- src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp \
- src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp \
- src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp \
- src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp \
- src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp \
- src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp \
- src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp \
- src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp \
- src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp \
- src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp \
- src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp \
- src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp \
- src/armnn/backends/ClWorkloadFactory.cpp \
- src/armnn/backends/ClContextControl.cpp \
- src/armnn/backends/CpuTensorHandle.cpp \
- src/armnn/backends/RefWorkloadFactory.cpp \
- src/armnn/backends/RefWorkloads/RefMergerUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/FullyConnected.cpp \
- src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.cpp \
- src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/Broadcast.cpp \
- src/armnn/backends/RefWorkloads/ArithmeticFunction.cpp \
- src/armnn/backends/RefWorkloads/RefArithmeticWorkload.cpp \
- src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/ResizeBilinear.cpp \
- src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/ConvImpl.cpp \
- src/armnn/backends/RefWorkloads/Activation.cpp \
- src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefActivationUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/Softmax.cpp \
- src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/RefConstantUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/Pooling2d.cpp \
- src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp \
- src/armnn/backends/RefWorkloads/RefPermuteWorkload.cpp \
- src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp \
- src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp \
- src/armnn/backends/MemCopyWorkload.cpp \
- src/armnn/backends/WorkloadData.cpp \
- src/armnn/backends/WorkloadFactory.cpp \
+ src/backends/ArmComputeTensorUtils.cpp \
+ src/backends/ClWorkloads/ClActivationFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClActivationUint8Workload.cpp \
+ src/backends/ClWorkloads/ClAdditionWorkload.cpp \
+ src/backends/ClWorkloads/ClSubtractionWorkload.cpp \
+ src/backends/ClWorkloads/ClBaseConstantWorkload.cpp \
+ src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClConstantFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClConstantUint8Workload.cpp \
+ src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp \
+ src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp \
+ src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp \
+ src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp \
+ src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp \
+ src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp \
+ src/backends/ClWorkloads/ClDivisionFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClFloorFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp \
+ src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClLstmFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClMergerFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClMergerUint8Workload.cpp \
+ src/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClPermuteWorkload.cpp \
+ src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp \
+ src/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClPooling2dUint8Workload.cpp \
+ src/backends/ClWorkloads/ClReshapeFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClReshapeUint8Workload.cpp \
+ src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp \
+ src/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp \
+ src/backends/ClWorkloads/ClSplitterFloatWorkload.cpp \
+ src/backends/ClWorkloads/ClSplitterUint8Workload.cpp \
+ src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp \
+ src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonConstantUint8Workload.cpp \
+ src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp \
+ src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp \
+ src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp \
+ src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp \
+ src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp \
+ src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp \
+ src/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonMergerUint8Workload.cpp \
+ src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonPermuteWorkload.cpp \
+ src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp \
+ src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp \
+ src/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp \
+ src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp \
+ src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp \
+ src/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp \
+ src/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp \
+ src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp \
+ src/backends/ClWorkloadFactory.cpp \
+ src/backends/ClContextControl.cpp \
+ src/backends/CpuTensorHandle.cpp \
+ src/backends/RefWorkloadFactory.cpp \
+ src/backends/RefWorkloads/RefMergerUint8Workload.cpp \
+ src/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp \
+ src/backends/RefWorkloads/FullyConnected.cpp \
+ src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefActivationFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp \
+ src/backends/RefWorkloads/RefBaseConstantWorkload.cpp \
+ src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp \
+ src/backends/RefWorkloads/Broadcast.cpp \
+ src/backends/RefWorkloads/ArithmeticFunction.cpp \
+ src/backends/RefWorkloads/RefArithmeticWorkload.cpp \
+ src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp \
+ src/backends/RefWorkloads/ResizeBilinear.cpp \
+ src/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp \
+ src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefPooling2dUint8Workload.cpp \
+ src/backends/RefWorkloads/RefFloorFloat32Workload.cpp \
+ src/backends/RefWorkloads/ConvImpl.cpp \
+ src/backends/RefWorkloads/Activation.cpp \
+ src/backends/RefWorkloads/RefReshapeUint8Workload.cpp \
+ src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefLstmFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp \
+ src/backends/RefWorkloads/RefSplitterFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefActivationUint8Workload.cpp \
+ src/backends/RefWorkloads/RefSplitterUint8Workload.cpp \
+ src/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefReshapeFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp \
+ src/backends/RefWorkloads/Softmax.cpp \
+ src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp \
+ src/backends/RefWorkloads/RefConstantUint8Workload.cpp \
+ src/backends/RefWorkloads/RefConstantFloat32Workload.cpp \
+ src/backends/RefWorkloads/Pooling2d.cpp \
+ src/backends/RefWorkloads/RefMergerFloat32Workload.cpp \
+ src/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp \
+ src/backends/RefWorkloads/RefPermuteWorkload.cpp \
+ src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp \
+ src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp \
+ src/backends/MemCopyWorkload.cpp \
+ src/backends/WorkloadData.cpp \
+ src/backends/WorkloadFactory.cpp \
src/armnn/layers/ActivationLayer.cpp \
src/armnn/layers/AdditionLayer.cpp \
src/armnn/layers/ArithmeticBaseLayer.cpp \
@@ -204,7 +207,7 @@
src/armnn/NeonInterceptorScheduler.cpp \
src/armnn/NeonTimer.cpp \
src/armnn/Network.cpp \
- src/armnn/backends/OutputHandler.cpp \
+ src/backends/OutputHandler.cpp \
src/armnn/OpenClTimer.cpp \
src/armnn/WallClockTimer.cpp \
src/armnn/ProfilingEvent.cpp \
@@ -214,12 +217,12 @@
src/armnn/Utils.cpp \
src/armnn/LayerSupport.cpp \
src/armnn/Observable.cpp \
- src/armnn/backends/StringMapping.cpp \
- src/armnn/backends/RefLayerSupport.cpp \
- src/armnn/backends/ClLayerSupport.cpp \
- src/armnn/backends/NeonLayerSupport.cpp \
- src/armnn/backends/NeonWorkloadUtils.cpp \
- src/armnn/backends/NeonWorkloadFactory.cpp \
+ src/backends/StringMapping.cpp \
+ src/backends/RefLayerSupport.cpp \
+ src/backends/ClLayerSupport.cpp \
+ src/backends/NeonLayerSupport.cpp \
+ src/backends/NeonWorkloadUtils.cpp \
+ src/backends/NeonWorkloadFactory.cpp \
src/armnn/memory/BaseMemoryManager.cpp \
src/armnn/memory/BlobLifetimeManager.cpp \
src/armnn/memory/BlobMemoryPool.cpp \
@@ -263,6 +266,7 @@
$(OPENCL_HEADER_PATH) \
$(NN_HEADER_PATH) \
$(ARMNN_HEADER_PATH) \
+ $(ARMNN_MAIN_HEADER_PATH) \
$(ARMNN_SOURCE_HEADER_PATH) \
$(ARMNN_SOURCE_UTILS_HEADER_PATH)
@@ -287,17 +291,17 @@
src/armnn/test/OpenClTimerTest.cpp \
src/armnn/test/ProfilingEventTest.cpp \
src/armnn/test/ObservableTest.cpp \
- src/armnn/backends/test/IsLayerSupportedTest.cpp \
- src/armnn/backends/test/Reference.cpp \
- src/armnn/backends/test/WorkloadDataValidation.cpp \
- src/armnn/backends/test/TensorCopyUtils.cpp \
- src/armnn/backends/test/LayerTests.cpp \
- src/armnn/backends/test/CreateWorkloadRef.cpp \
- src/armnn/backends/test/ArmComputeCl.cpp \
- src/armnn/backends/test/ArmComputeNeon.cpp \
- src/armnn/backends/test/CreateWorkloadCl.cpp \
- src/armnn/backends/test/CreateWorkloadNeon.cpp \
- src/armnn/backends/test/MemCopyTests.cpp
+ src/backends/test/IsLayerSupportedTest.cpp \
+ src/backends/test/Reference.cpp \
+ src/backends/test/WorkloadDataValidation.cpp \
+ src/backends/test/TensorCopyUtils.cpp \
+ src/backends/test/LayerTests.cpp \
+ src/backends/test/CreateWorkloadRef.cpp \
+ src/backends/test/ArmComputeCl.cpp \
+ src/backends/test/ArmComputeNeon.cpp \
+ src/backends/test/CreateWorkloadCl.cpp \
+ src/backends/test/CreateWorkloadNeon.cpp \
+ src/backends/test/MemCopyTests.cpp
LOCAL_STATIC_LIBRARIES := \
libneuralnetworks_common \
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a65567d..8ddad99 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,7 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
cmake_minimum_required (VERSION 3.0.2) # 3.0.2 required for return() statement used in AddDllCopyCommands.cmake.
project(armnn)
@@ -138,9 +142,6 @@
target_link_libraries(armnnTfLiteParser armnn ${FLATBUFFERS_LIBRARY})
endif()
-# ArmNN source files required for all build options
-include_directories(SYSTEM third-party)
-
list(APPEND armnn_sources
include/armnn/ArmNN.hpp
include/armnn/Descriptors.hpp
@@ -154,125 +155,6 @@
include/armnn/Utils.hpp
include/armnn/LayerSupport.hpp
include/armnn/Version.hpp
- src/armnn/backends/ClWorkloadFactory.hpp
- src/armnn/backends/ClWorkloadFactory.cpp
- src/armnn/backends/ClContextControl.hpp
- src/armnn/backends/ClContextControl.cpp
- src/armnn/backends/ClLayerSupport.cpp
- src/armnn/backends/ClLayerSupport.hpp
- src/armnn/backends/CpuTensorHandleFwd.hpp
- src/armnn/backends/CpuTensorHandle.hpp
- src/armnn/backends/CpuTensorHandle.cpp
- src/armnn/backends/RefWorkloadFactory.cpp
- src/armnn/backends/RefWorkloadFactory.hpp
- src/armnn/backends/RefLayerSupport.cpp
- src/armnn/backends/RefLayerSupport.hpp
- src/armnn/backends/MakeWorkloadHelper.hpp
- src/armnn/backends/NeonWorkloadFactory.cpp
- src/armnn/backends/NeonWorkloadFactory.hpp
- src/armnn/backends/NeonLayerSupport.cpp
- src/armnn/backends/NeonLayerSupport.hpp
- src/armnn/backends/Workload.hpp
- src/armnn/backends/WorkloadDataFwd.hpp
- src/armnn/backends/WorkloadData.hpp
- src/armnn/backends/WorkloadData.cpp
- src/armnn/backends/WorkloadFactory.hpp
- src/armnn/backends/WorkloadFactory.cpp
- src/armnn/backends/WorkloadInfo.hpp
- src/armnn/backends/WorkloadUtils.hpp
- src/armnn/backends/MemCopyWorkload.cpp
- src/armnn/backends/MemCopyWorkload.hpp
- src/armnn/backends/StringMapping.cpp
- src/armnn/backends/StringMapping.hpp
- src/armnn/backends/RefWorkloads/Broadcast.hpp
- src/armnn/backends/RefWorkloads/Broadcast.cpp
- src/armnn/backends/RefWorkloads/RefMergerUint8Workload.cpp
- src/armnn/backends/RefWorkloads/RefConstantUint8Workload.hpp
- src/armnn/backends/RefWorkloads/ArithmeticFunction.cpp
- src/armnn/backends/RefWorkloads/ArithmeticFunction.hpp
- src/armnn/backends/RefWorkloads/RefArithmeticWorkload.cpp
- src/armnn/backends/RefWorkloads/RefArithmeticWorkload.hpp
- src/armnn/backends/RefWorkloads/ConvImpl.hpp
- src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp
- src/armnn/backends/RefWorkloads/FullyConnected.cpp
- src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.hpp
- src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp
- src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.hpp
- src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp
- src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp
- src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefActivationUint8Workload.hpp
- src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.cpp
- src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefWorkloadUtils.hpp
- src/armnn/backends/RefWorkloads/RefMergerUint8Workload.hpp
- src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/Softmax.hpp
- src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/TensorBufferArrayView.hpp
- src/armnn/backends/RefWorkloads/ResizeBilinear.cpp
- src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/Splitter.hpp
- src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp
- src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp
- src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp
- src/armnn/backends/RefWorkloads/FullyConnected.hpp
- src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.cpp
- src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/ConvImpl.cpp
- src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp
- src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.hpp
- src/armnn/backends/RefWorkloads/Activation.cpp
- src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.cpp
- src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp
- src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp
- src/armnn/backends/RefWorkloads/ResizeBilinear.hpp
- src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/RefActivationUint8Workload.cpp
- src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.hpp
- src/armnn/backends/RefWorkloads/BatchNormImpl.hpp
- src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.cpp
- src/armnn/backends/RefWorkloads/Activation.hpp
- src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/Merger.hpp
- src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/Softmax.cpp
- src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp
- src/armnn/backends/RefWorkloads/RefConstantUint8Workload.cpp
- src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/Pooling2d.cpp
- src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/Pooling2d.hpp
- src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp
- src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefPermuteWorkload.hpp
- src/armnn/backends/RefWorkloads/RefPermuteWorkload.cpp
- src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.cpp
- src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.hpp
- src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp
- src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp
- src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp
- src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp
src/armnn/layers/LayerCloneBase.hpp
src/armnn/layers/LayerWithParameters.hpp
src/armnn/layers/ActivationLayer.hpp
@@ -356,8 +238,6 @@
src/armnn/Network.hpp
src/armnn/Network.cpp
src/armnn/NetworkUtils.hpp
- src/armnn/backends/OutputHandler.hpp
- src/armnn/backends/OutputHandler.cpp
src/armnn/ProfilingEvent.cpp
src/armnn/ProfilingEvent.hpp
src/armnn/Profiling.cpp
@@ -389,80 +269,6 @@
if(ARMCOMPUTENEON)
# Additionally include source files for ARM Compute NEON backend
list(APPEND armnn_sources
- src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
- src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.hpp
- src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.cpp
- src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.hpp
- src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp
- src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp
- src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp
- src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp
- src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp
- src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp
- src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
- src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp
- src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.cpp
- src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.hpp
- src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp
- src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp
- src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp
- src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp
- src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp
- src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp
- src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp
- src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp
- src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp
- src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp
- src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp
- src/armnn/backends/NeonWorkloadUtils.cpp
- src/armnn/backends/NeonWorkloadUtils.hpp
- src/armnn/backends/NeonTensorHandle.hpp
src/armnn/NeonInterceptorScheduler.hpp
src/armnn/NeonInterceptorScheduler.cpp
src/armnn/NeonTimer.hpp
@@ -471,92 +277,12 @@
if(ARMCOMPUTECL)
# Additionally include source files for ARM Compute OpenCL backend
list(APPEND armnn_sources
- src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp
- src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp
- src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp
- src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp
- src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp
- src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp
- src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp
- src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp
- src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp
- src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp
- src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp
- src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp
- src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp
- src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp
- src/armnn/backends/ClWorkloads/ClConstantUint8Workload.hpp
- src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
- src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp
- src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
- src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp
- src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp
- src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp
- src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp
- src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp
- src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
- src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp
- src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp
- src/armnn/backends/ClWorkloads/ClMergerUint8Workload.hpp
- src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp
- src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp
- src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp
- src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp
- src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp
- src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp
- src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp
- src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp
- src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
- src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp
- src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp
- src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp
- src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp
- src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.hpp
- src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp
- src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.hpp
- src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp
- src/armnn/backends/ClTensorHandle.hpp
src/armnn/OpenClTimer.cpp
src/armnn/OpenClTimer.hpp)
endif()
# Files shared by all ARM Compute backends
if(ARMCOMPUTENEON OR ARMCOMPUTECL)
list(APPEND armnn_sources
- src/armnn/backends/ArmComputeTensorUtils.hpp
- src/armnn/backends/ArmComputeTensorUtils.cpp
- src/armnn/backends/ArmComputeUtils.hpp
src/armnn/memory/IMemoryPool.hpp
src/armnn/memory/BlobMemoryPool.cpp
src/armnn/memory/BlobMemoryPool.hpp
@@ -580,12 +306,21 @@
endif()
add_library_ex(armnn SHARED ${armnn_sources})
+
+# the backends under src/backends extend the list of
+# static libs armnn to link against
+list(APPEND armnnLibraries armnnUtils)
+include(src/backends/backends.cmake)
+
+target_include_directories(armnn PRIVATE src)
target_include_directories(armnn PRIVATE src/armnn)
target_include_directories(armnn PRIVATE src/armnnUtils)
-target_link_libraries(armnn armnnUtils)
+foreach(lib ${armnnLibraries})
+ target_link_libraries(armnn ${lib})
+ message("Adding library dependency to armnn: ${lib}")
+endforeach()
target_link_libraries(armnn ${CMAKE_DL_LIBS})
-
install(TARGETS armnn DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
if(BUILD_CAFFE_PARSER)
install(TARGETS armnnCaffeParser DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
@@ -636,42 +371,42 @@
src/armnn/test/GraphUtils.hpp
src/armnn/test/InstrumentTests.cpp
src/armnn/test/ObservableTest.cpp
- src/armnn/backends/test/IsLayerSupportedTest.cpp
- src/armnn/backends/test/IsLayerSupportedTestImpl.hpp
- src/armnn/backends/test/Reference.cpp
- src/armnn/backends/test/WorkloadDataValidation.cpp
- src/armnn/backends/test/TensorCopyUtils.hpp
- src/armnn/backends/test/TensorCopyUtils.cpp
- src/armnn/backends/test/LayerTests.hpp
- src/armnn/backends/test/LayerTests.cpp
- src/armnn/backends/test/LayerReleaseConstantDataTest.cpp
- src/armnn/backends/test/Conv2dTestImpl.hpp
- src/armnn/backends/test/ActivationTestImpl.hpp
- src/armnn/backends/test/ActivationFixture.hpp
- src/armnn/backends/test/Pooling2dTestImpl.hpp
- src/armnn/backends/test/ReshapeTestImpl.hpp
- src/armnn/backends/test/PermuteTestImpl.hpp
- src/armnn/backends/test/FullyConnectedTestImpl.hpp
- src/armnn/backends/test/SplitterTestImpl.hpp
- src/armnn/backends/test/NormTestImpl.hpp
- src/armnn/backends/test/BatchNormTestImpl.hpp
- src/armnn/backends/test/WorkloadTestUtils.hpp
- src/armnn/backends/test/CreateWorkloadRef.cpp
- src/armnn/backends/test/QuantizeHelper.hpp)
+ src/backends/test/IsLayerSupportedTest.cpp
+ src/backends/test/IsLayerSupportedTestImpl.hpp
+ src/backends/test/Reference.cpp
+ src/backends/test/WorkloadDataValidation.cpp
+ src/backends/test/TensorCopyUtils.hpp
+ src/backends/test/TensorCopyUtils.cpp
+ src/backends/test/LayerTests.hpp
+ src/backends/test/LayerTests.cpp
+ src/backends/test/LayerReleaseConstantDataTest.cpp
+ src/backends/test/Conv2dTestImpl.hpp
+ src/backends/test/ActivationTestImpl.hpp
+ src/backends/test/ActivationFixture.hpp
+ src/backends/test/Pooling2dTestImpl.hpp
+ src/backends/test/ReshapeTestImpl.hpp
+ src/backends/test/PermuteTestImpl.hpp
+ src/backends/test/FullyConnectedTestImpl.hpp
+ src/backends/test/SplitterTestImpl.hpp
+ src/backends/test/NormTestImpl.hpp
+ src/backends/test/BatchNormTestImpl.hpp
+ src/backends/test/WorkloadTestUtils.hpp
+ src/backends/test/CreateWorkloadRef.cpp
+ src/backends/test/QuantizeHelper.hpp)
if(ARMCOMPUTENEON)
list(APPEND unittest_sources
- src/armnn/backends/test/ArmComputeNeon.cpp
- src/armnn/backends/test/CreateWorkloadNeon.cpp
+ src/backends/test/ArmComputeNeon.cpp
+ src/backends/test/CreateWorkloadNeon.cpp
src/armnn/test/CreateWorkloadClNeon.hpp
src/armnn/test/NeonTimerTest.cpp)
endif()
if(ARMCOMPUTECL)
list(APPEND unittest_sources
- src/armnn/backends/test/ArmComputeCl.cpp
- src/armnn/backends/test/ClContextControlFixture.hpp
- src/armnn/backends/test/CreateWorkloadCl.cpp
+ src/backends/test/ArmComputeCl.cpp
+ src/backends/test/ClContextControlFixture.hpp
+ src/backends/test/CreateWorkloadCl.cpp
src/armnn/test/CreateWorkloadClNeon.hpp
src/armnn/test/OpenClTimerTest.cpp
src/armnn/test/FP16SupportTest.cpp)
@@ -679,7 +414,7 @@
if(ARMCOMPUTENEON OR ARMCOMPUTECL)
list(APPEND unittest_sources
- src/armnn/backends/test/MemCopyTests.cpp)
+ src/backends/test/MemCopyTests.cpp)
endif()
if(BUILD_TF_PARSER)
@@ -766,6 +501,7 @@
endif()
add_executable_ex(UnitTests ${unittest_sources})
+ target_include_directories(UnitTests PRIVATE src)
target_include_directories(UnitTests PRIVATE src/armnn)
target_include_directories(UnitTests PRIVATE src/armnnUtils)
diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
index 47bdd5c..61ce4cd 100644
--- a/cmake/GlobalConfig.cmake
+++ b/cmake/GlobalConfig.cmake
@@ -348,3 +348,6 @@
if(NOT BUILD_TF_LITE_PARSER)
message(STATUS "Tensorflow Lite parser support is disabled")
endif()
+
+# ArmNN source files required for all build options
+include_directories(SYSTEM third-party)
diff --git a/src/armnn/backends/ArmComputeTensorUtils.cpp b/src/backends/ArmComputeTensorUtils.cpp
similarity index 100%
rename from src/armnn/backends/ArmComputeTensorUtils.cpp
rename to src/backends/ArmComputeTensorUtils.cpp
diff --git a/src/armnn/backends/ArmComputeTensorUtils.hpp b/src/backends/ArmComputeTensorUtils.hpp
similarity index 100%
rename from src/armnn/backends/ArmComputeTensorUtils.hpp
rename to src/backends/ArmComputeTensorUtils.hpp
diff --git a/src/armnn/backends/ArmComputeUtils.hpp b/src/backends/ArmComputeUtils.hpp
similarity index 100%
rename from src/armnn/backends/ArmComputeUtils.hpp
rename to src/backends/ArmComputeUtils.hpp
diff --git a/src/backends/CMakeLists.txt b/src/backends/CMakeLists.txt
new file mode 100644
index 0000000..4a949c0
--- /dev/null
+++ b/src/backends/CMakeLists.txt
@@ -0,0 +1,74 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+list(APPEND armnnBackendsCommon_sources
+ ClContextControl.cpp
+ ClContextControl.hpp
+ ClLayerSupport.cpp
+ ClLayerSupport.hpp
+ ClWorkloadFactory.cpp
+ ClWorkloadFactory.hpp
+ ClWorkloads.hpp
+ CpuTensorHandle.cpp
+ CpuTensorHandleFwd.hpp
+ CpuTensorHandle.hpp
+ ITensorHandle.hpp
+ MakeWorkloadHelper.hpp
+ MemCopyWorkload.cpp
+ MemCopyWorkload.hpp
+ NeonLayerSupport.cpp
+ NeonLayerSupport.hpp
+ NeonWorkloadFactory.cpp
+ NeonWorkloadFactory.hpp
+ NeonWorkloads.hpp
+ OutputHandler.cpp
+ OutputHandler.hpp
+ RefLayerSupport.cpp
+ RefLayerSupport.hpp
+ RefWorkloadFactory.cpp
+ RefWorkloadFactory.hpp
+ RefWorkloads.hpp
+ StringMapping.cpp
+ StringMapping.hpp
+ WorkloadDataCollector.hpp
+ WorkloadData.cpp
+ WorkloadDataFwd.hpp
+ WorkloadData.hpp
+ WorkloadFactory.cpp
+ WorkloadFactory.hpp
+ Workload.hpp
+ WorkloadInfo.hpp
+ WorkloadUtils.hpp
+)
+
+if(ARMCOMPUTENEON OR ARMCOMPUTECL)
+ # Files shared by all ARM Compute backends
+ list(APPEND armnnBackendsCommon_sources
+ ArmComputeTensorUtils.hpp
+ ArmComputeTensorUtils.cpp
+ ArmComputeUtils.hpp
+ )
+endif()
+
+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
+ ClTensorHandle.hpp
+ )
+endif()
+
+add_library(armnnBackendsCommon STATIC ${armnnBackendsCommon_sources})
+target_include_directories(armnnBackendsCommon PRIVATE ${PROJECT_SOURCE_DIR}/src)
+target_include_directories(armnnBackendsCommon PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
+target_include_directories(armnnBackendsCommon PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
diff --git a/src/armnn/backends/ClContextControl.cpp b/src/backends/ClContextControl.cpp
similarity index 100%
rename from src/armnn/backends/ClContextControl.cpp
rename to src/backends/ClContextControl.cpp
diff --git a/src/armnn/backends/ClContextControl.hpp b/src/backends/ClContextControl.hpp
similarity index 100%
rename from src/armnn/backends/ClContextControl.hpp
rename to src/backends/ClContextControl.hpp
diff --git a/src/armnn/backends/ClLayerSupport.cpp b/src/backends/ClLayerSupport.cpp
similarity index 100%
rename from src/armnn/backends/ClLayerSupport.cpp
rename to src/backends/ClLayerSupport.cpp
diff --git a/src/armnn/backends/ClLayerSupport.hpp b/src/backends/ClLayerSupport.hpp
similarity index 100%
rename from src/armnn/backends/ClLayerSupport.hpp
rename to src/backends/ClLayerSupport.hpp
diff --git a/src/armnn/backends/ClTensorHandle.hpp b/src/backends/ClTensorHandle.hpp
similarity index 100%
rename from src/armnn/backends/ClTensorHandle.hpp
rename to src/backends/ClTensorHandle.hpp
diff --git a/src/armnn/backends/ClWorkloadFactory.cpp b/src/backends/ClWorkloadFactory.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloadFactory.cpp
rename to src/backends/ClWorkloadFactory.cpp
diff --git a/src/armnn/backends/ClWorkloadFactory.hpp b/src/backends/ClWorkloadFactory.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloadFactory.hpp
rename to src/backends/ClWorkloadFactory.hpp
diff --git a/src/armnn/backends/ClWorkloads.hpp b/src/backends/ClWorkloads.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads.hpp
rename to src/backends/ClWorkloads.hpp
diff --git a/src/backends/ClWorkloads/CMakeLists.txt b/src/backends/ClWorkloads/CMakeLists.txt
new file mode 100644
index 0000000..ac935b5
--- /dev/null
+++ b/src/backends/ClWorkloads/CMakeLists.txt
@@ -0,0 +1,89 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+list(APPEND armnnClBackend_sources
+ ClActivationFloatWorkload.cpp
+ ClActivationFloatWorkload.hpp
+ ClActivationUint8Workload.cpp
+ ClActivationUint8Workload.hpp
+ ClAdditionWorkload.cpp
+ ClAdditionWorkload.hpp
+ ClBaseConstantWorkload.cpp
+ ClBaseConstantWorkload.hpp
+ ClBaseMergerWorkload.hpp
+ ClBaseSplitterWorkload.hpp
+ ClBatchNormalizationFloatWorkload.cpp
+ ClBatchNormalizationFloatWorkload.hpp
+ ClConstantFloatWorkload.cpp
+ ClConstantFloatWorkload.hpp
+ ClConstantUint8Workload.cpp
+ ClConstantUint8Workload.hpp
+ ClConvertFp16ToFp32Workload.cpp
+ ClConvertFp16ToFp32Workload.hpp
+ ClConvertFp32ToFp16Workload.cpp
+ ClConvertFp32ToFp16Workload.hpp
+ ClConvolution2dBaseWorkload.cpp
+ ClConvolution2dBaseWorkload.hpp
+ ClConvolution2dFloatWorkload.cpp
+ ClConvolution2dFloatWorkload.hpp
+ ClConvolution2dUint8Workload.cpp
+ ClConvolution2dUint8Workload.hpp
+ ClDepthwiseConvolutionBaseWorkload.cpp
+ ClDepthwiseConvolutionBaseWorkload.hpp
+ ClDepthwiseConvolutionFloatWorkload.cpp
+ ClDepthwiseConvolutionFloatWorkload.hpp
+ ClDepthwiseConvolutionUint8Workload.cpp
+ ClDepthwiseConvolutionUint8Workload.hpp
+ ClDivisionFloatWorkload.cpp
+ ClDivisionFloatWorkload.hpp
+ ClFloorFloatWorkload.cpp
+ ClFloorFloatWorkload.hpp
+ ClFullyConnectedWorkload.cpp
+ ClFullyConnectedWorkload.hpp
+ ClL2NormalizationFloatWorkload.cpp
+ ClL2NormalizationFloatWorkload.hpp
+ ClLstmFloatWorkload.cpp
+ ClLstmFloatWorkload.hpp
+ ClMergerFloatWorkload.cpp
+ ClMergerFloatWorkload.hpp
+ ClMergerUint8Workload.cpp
+ ClMergerUint8Workload.hpp
+ ClMultiplicationFloatWorkload.cpp
+ ClMultiplicationFloatWorkload.hpp
+ ClNormalizationFloatWorkload.cpp
+ ClNormalizationFloatWorkload.hpp
+ ClPermuteWorkload.cpp
+ ClPermuteWorkload.hpp
+ ClPooling2dBaseWorkload.cpp
+ ClPooling2dBaseWorkload.hpp
+ ClPooling2dFloatWorkload.cpp
+ ClPooling2dFloatWorkload.hpp
+ ClPooling2dUint8Workload.cpp
+ ClPooling2dUint8Workload.hpp
+ ClReshapeFloatWorkload.cpp
+ ClReshapeFloatWorkload.hpp
+ ClReshapeUint8Workload.cpp
+ ClReshapeUint8Workload.hpp
+ ClResizeBilinearFloatWorkload.cpp
+ ClResizeBilinearFloatWorkload.hpp
+ ClSoftmaxBaseWorkload.cpp
+ ClSoftmaxBaseWorkload.hpp
+ ClSoftmaxFloatWorkload.cpp
+ ClSoftmaxFloatWorkload.hpp
+ ClSoftmaxUint8Workload.cpp
+ ClSoftmaxUint8Workload.hpp
+ ClSplitterFloatWorkload.cpp
+ ClSplitterFloatWorkload.hpp
+ ClSplitterUint8Workload.cpp
+ ClSplitterUint8Workload.hpp
+ ClSubtractionWorkload.cpp
+ ClSubtractionWorkload.hpp
+ ClWorkloadUtils.hpp
+)
+
+add_library(armnnClBackend STATIC ${armnnClBackend_sources})
+target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src)
+target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
+target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
diff --git a/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp b/src/backends/ClWorkloads/ClActivationFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClActivationFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp b/src/backends/ClWorkloads/ClActivationFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClActivationFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp b/src/backends/ClWorkloads/ClActivationUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp
rename to src/backends/ClWorkloads/ClActivationUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp b/src/backends/ClWorkloads/ClActivationUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp
rename to src/backends/ClWorkloads/ClActivationUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp b/src/backends/ClWorkloads/ClAdditionWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp
rename to src/backends/ClWorkloads/ClAdditionWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp b/src/backends/ClWorkloads/ClAdditionWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp
rename to src/backends/ClWorkloads/ClAdditionWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp b/src/backends/ClWorkloads/ClBaseConstantWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp
rename to src/backends/ClWorkloads/ClBaseConstantWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp b/src/backends/ClWorkloads/ClBaseConstantWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp
rename to src/backends/ClWorkloads/ClBaseConstantWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp b/src/backends/ClWorkloads/ClBaseMergerWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp
rename to src/backends/ClWorkloads/ClBaseMergerWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClBaseSplitterWorkload.hpp b/src/backends/ClWorkloads/ClBaseSplitterWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClBaseSplitterWorkload.hpp
rename to src/backends/ClWorkloads/ClBaseSplitterWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp b/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp b/src/backends/ClWorkloads/ClConstantFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClConstantFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp b/src/backends/ClWorkloads/ClConstantFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClConstantFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp b/src/backends/ClWorkloads/ClConstantUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp
rename to src/backends/ClWorkloads/ClConstantUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.hpp b/src/backends/ClWorkloads/ClConstantUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConstantUint8Workload.hpp
rename to src/backends/ClWorkloads/ClConstantUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp b/src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp
rename to src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp b/src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp
rename to src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp b/src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp
rename to src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp b/src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp
rename to src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
rename to src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp
rename to src/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
rename to src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp
rename to src/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp
rename to src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp
rename to src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp
rename to src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp
rename to src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp b/src/backends/ClWorkloads/ClDivisionFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClDivisionFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp b/src/backends/ClWorkloads/ClDivisionFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClDivisionFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp b/src/backends/ClWorkloads/ClFloorFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClFloorFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp b/src/backends/ClWorkloads/ClFloorFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClFloorFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp b/src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
rename to src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp b/src/backends/ClWorkloads/ClFullyConnectedWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp
rename to src/backends/ClWorkloads/ClFullyConnectedWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp b/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp b/src/backends/ClWorkloads/ClLstmFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClLstmFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp b/src/backends/ClWorkloads/ClLstmFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClLstmFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp b/src/backends/ClWorkloads/ClMergerFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClMergerFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.hpp b/src/backends/ClWorkloads/ClMergerFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClMergerFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp b/src/backends/ClWorkloads/ClMergerUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp
rename to src/backends/ClWorkloads/ClMergerUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.hpp b/src/backends/ClWorkloads/ClMergerUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClMergerUint8Workload.hpp
rename to src/backends/ClWorkloads/ClMergerUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp b/src/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp b/src/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp b/src/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp b/src/backends/ClWorkloads/ClPermuteWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp
rename to src/backends/ClWorkloads/ClPermuteWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp b/src/backends/ClWorkloads/ClPermuteWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp
rename to src/backends/ClWorkloads/ClPermuteWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp b/src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp
rename to src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp b/src/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp
rename to src/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp b/src/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp b/src/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp b/src/backends/ClWorkloads/ClPooling2dUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp
rename to src/backends/ClWorkloads/ClPooling2dUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp b/src/backends/ClWorkloads/ClPooling2dUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp
rename to src/backends/ClWorkloads/ClPooling2dUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp b/src/backends/ClWorkloads/ClReshapeFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClReshapeFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp b/src/backends/ClWorkloads/ClReshapeFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClReshapeFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp b/src/backends/ClWorkloads/ClReshapeUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp
rename to src/backends/ClWorkloads/ClReshapeUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp b/src/backends/ClWorkloads/ClReshapeUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp
rename to src/backends/ClWorkloads/ClReshapeUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp b/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp b/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp b/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
rename to src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp b/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp
rename to src/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp b/src/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp b/src/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp b/src/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp
rename to src/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp b/src/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp
rename to src/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp b/src/backends/ClWorkloads/ClSplitterFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp
rename to src/backends/ClWorkloads/ClSplitterFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.hpp b/src/backends/ClWorkloads/ClSplitterFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.hpp
rename to src/backends/ClWorkloads/ClSplitterFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp b/src/backends/ClWorkloads/ClSplitterUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp
rename to src/backends/ClWorkloads/ClSplitterUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.hpp b/src/backends/ClWorkloads/ClSplitterUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.hpp
rename to src/backends/ClWorkloads/ClSplitterUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp b/src/backends/ClWorkloads/ClSubtractionWorkload.cpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp
rename to src/backends/ClWorkloads/ClSubtractionWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp b/src/backends/ClWorkloads/ClSubtractionWorkload.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp
rename to src/backends/ClWorkloads/ClSubtractionWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp b/src/backends/ClWorkloads/ClWorkloadUtils.hpp
similarity index 100%
rename from src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp
rename to src/backends/ClWorkloads/ClWorkloadUtils.hpp
diff --git a/src/backends/ClWorkloads/backend.cmake b/src/backends/ClWorkloads/backend.cmake
new file mode 100644
index 0000000..6f8eda1
--- /dev/null
+++ b/src/backends/ClWorkloads/backend.cmake
@@ -0,0 +1,9 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+if(ARMCOMPUTECL)
+ add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends/ClWorkloads)
+ list(APPEND armnnLibraries armnnClBackend)
+endif()
diff --git a/src/armnn/backends/CpuTensorHandle.cpp b/src/backends/CpuTensorHandle.cpp
similarity index 100%
rename from src/armnn/backends/CpuTensorHandle.cpp
rename to src/backends/CpuTensorHandle.cpp
diff --git a/src/armnn/backends/CpuTensorHandle.hpp b/src/backends/CpuTensorHandle.hpp
similarity index 100%
rename from src/armnn/backends/CpuTensorHandle.hpp
rename to src/backends/CpuTensorHandle.hpp
diff --git a/src/armnn/backends/CpuTensorHandleFwd.hpp b/src/backends/CpuTensorHandleFwd.hpp
similarity index 100%
rename from src/armnn/backends/CpuTensorHandleFwd.hpp
rename to src/backends/CpuTensorHandleFwd.hpp
diff --git a/src/armnn/backends/ITensorHandle.hpp b/src/backends/ITensorHandle.hpp
similarity index 100%
rename from src/armnn/backends/ITensorHandle.hpp
rename to src/backends/ITensorHandle.hpp
diff --git a/src/armnn/backends/MakeWorkloadHelper.hpp b/src/backends/MakeWorkloadHelper.hpp
similarity index 100%
rename from src/armnn/backends/MakeWorkloadHelper.hpp
rename to src/backends/MakeWorkloadHelper.hpp
diff --git a/src/armnn/backends/MemCopyWorkload.cpp b/src/backends/MemCopyWorkload.cpp
similarity index 100%
rename from src/armnn/backends/MemCopyWorkload.cpp
rename to src/backends/MemCopyWorkload.cpp
diff --git a/src/armnn/backends/MemCopyWorkload.hpp b/src/backends/MemCopyWorkload.hpp
similarity index 100%
rename from src/armnn/backends/MemCopyWorkload.hpp
rename to src/backends/MemCopyWorkload.hpp
diff --git a/src/armnn/backends/NeonLayerSupport.cpp b/src/backends/NeonLayerSupport.cpp
similarity index 100%
rename from src/armnn/backends/NeonLayerSupport.cpp
rename to src/backends/NeonLayerSupport.cpp
diff --git a/src/armnn/backends/NeonLayerSupport.hpp b/src/backends/NeonLayerSupport.hpp
similarity index 100%
rename from src/armnn/backends/NeonLayerSupport.hpp
rename to src/backends/NeonLayerSupport.hpp
diff --git a/src/armnn/backends/NeonTensorHandle.hpp b/src/backends/NeonTensorHandle.hpp
similarity index 100%
rename from src/armnn/backends/NeonTensorHandle.hpp
rename to src/backends/NeonTensorHandle.hpp
diff --git a/src/armnn/backends/NeonWorkloadFactory.cpp b/src/backends/NeonWorkloadFactory.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloadFactory.cpp
rename to src/backends/NeonWorkloadFactory.cpp
diff --git a/src/armnn/backends/NeonWorkloadFactory.hpp b/src/backends/NeonWorkloadFactory.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloadFactory.hpp
rename to src/backends/NeonWorkloadFactory.hpp
diff --git a/src/armnn/backends/NeonWorkloadUtils.cpp b/src/backends/NeonWorkloadUtils.cpp
similarity index 97%
rename from src/armnn/backends/NeonWorkloadUtils.cpp
rename to src/backends/NeonWorkloadUtils.cpp
index 010299f..8782801 100644
--- a/src/armnn/backends/NeonWorkloadUtils.cpp
+++ b/src/backends/NeonWorkloadUtils.cpp
@@ -19,7 +19,7 @@
#include "Profiling.hpp"
#include "NeonLayerSupport.hpp"
-#include "../../../include/armnn/Types.hpp"
+#include "armnn/Types.hpp"
#include "Half.hpp"
using namespace armnn::armcomputetensorutils;
diff --git a/src/armnn/backends/NeonWorkloadUtils.hpp b/src/backends/NeonWorkloadUtils.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloadUtils.hpp
rename to src/backends/NeonWorkloadUtils.hpp
diff --git a/src/armnn/backends/NeonWorkloads.hpp b/src/backends/NeonWorkloads.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads.hpp
rename to src/backends/NeonWorkloads.hpp
diff --git a/src/backends/NeonWorkloads/CMakeLists.txt b/src/backends/NeonWorkloads/CMakeLists.txt
new file mode 100644
index 0000000..02cb53d
--- /dev/null
+++ b/src/backends/NeonWorkloads/CMakeLists.txt
@@ -0,0 +1,83 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+list(APPEND armnnNeonBackend_sources
+ NeonActivationFloatWorkload.cpp
+ NeonActivationFloatWorkload.hpp
+ NeonActivationUint8Workload.cpp
+ NeonActivationUint8Workload.hpp
+ NeonAdditionFloatWorkload.cpp
+ NeonAdditionFloatWorkload.hpp
+ NeonBaseConstantWorkload.hpp
+ NeonBaseMergerWorkload.hpp
+ NeonBaseSplitterWorkload.hpp
+ NeonBatchNormalizationFloatWorkload.cpp
+ NeonBatchNormalizationFloatWorkload.hpp
+ NeonConstantFloatWorkload.cpp
+ NeonConstantFloatWorkload.hpp
+ NeonConstantUint8Workload.cpp
+ NeonConstantUint8Workload.hpp
+ NeonConvertFp16ToFp32Workload.cpp
+ NeonConvertFp16ToFp32Workload.hpp
+ NeonConvertFp32ToFp16Workload.cpp
+ NeonConvertFp32ToFp16Workload.hpp
+ NeonConvolution2dBaseWorkload.cpp
+ NeonConvolution2dBaseWorkload.hpp
+ NeonConvolution2dFloatWorkload.cpp
+ NeonConvolution2dFloatWorkload.hpp
+ NeonConvolution2dUint8Workload.cpp
+ NeonConvolution2dUint8Workload.hpp
+ NeonDepthwiseConvolutionBaseWorkload.cpp
+ NeonDepthwiseConvolutionBaseWorkload.hpp
+ NeonDepthwiseConvolutionFloatWorkload.cpp
+ NeonDepthwiseConvolutionFloatWorkload.hpp
+ NeonDepthwiseConvolutionUint8Workload.cpp
+ NeonDepthwiseConvolutionUint8Workload.hpp
+ NeonFloorFloatWorkload.cpp
+ NeonFloorFloatWorkload.hpp
+ NeonFullyConnectedFloatWorkload.cpp
+ NeonFullyConnectedFloatWorkload.hpp
+ NeonL2NormalizationFloatWorkload.cpp
+ NeonL2NormalizationFloatWorkload.hpp
+ NeonLstmFloatWorkload.cpp
+ NeonLstmFloatWorkload.hpp
+ NeonMergerFloatWorkload.cpp
+ NeonMergerFloatWorkload.hpp
+ NeonMergerUint8Workload.cpp
+ NeonMergerUint8Workload.hpp
+ NeonMultiplicationFloatWorkload.cpp
+ NeonMultiplicationFloatWorkload.hpp
+ NeonNormalizationFloatWorkload.cpp
+ NeonNormalizationFloatWorkload.hpp
+ NeonPermuteWorkload.cpp
+ NeonPermuteWorkload.hpp
+ NeonPooling2dBaseWorkload.cpp
+ NeonPooling2dBaseWorkload.hpp
+ NeonPooling2dFloatWorkload.cpp
+ NeonPooling2dFloatWorkload.hpp
+ NeonPooling2dUint8Workload.cpp
+ NeonPooling2dUint8Workload.hpp
+ NeonReshapeFloatWorkload.cpp
+ NeonReshapeFloatWorkload.hpp
+ NeonReshapeUint8Workload.cpp
+ NeonReshapeUint8Workload.hpp
+ NeonSoftmaxBaseWorkload.cpp
+ NeonSoftmaxBaseWorkload.hpp
+ NeonSoftmaxFloatWorkload.cpp
+ NeonSoftmaxFloatWorkload.hpp
+ NeonSoftmaxUint8Workload.cpp
+ NeonSoftmaxUint8Workload.hpp
+ NeonSplitterFloatWorkload.cpp
+ NeonSplitterFloatWorkload.hpp
+ NeonSplitterUint8Workload.cpp
+ NeonSplitterUint8Workload.hpp
+ NeonSubtractionFloatWorkload.cpp
+ NeonSubtractionFloatWorkload.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)
diff --git a/src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.cpp b/src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
rename to src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.hpp b/src/backends/NeonWorkloads/NeonActivationUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.hpp
rename to src/backends/NeonWorkloads/NeonActivationUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp b/src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
rename to src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp b/src/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp
rename to src/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp b/src/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp
rename to src/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp
similarity index 98%
rename from src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp
index f47dc04..6f5c948 100644
--- a/src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp
@@ -6,7 +6,7 @@
#include "NeonBatchNormalizationFloatWorkload.hpp"
#include "backends/CpuTensorHandle.hpp"
#include "backends/ArmComputeTensorUtils.hpp"
-#include "../../../../include/armnn/ArmNN.hpp"
+#include "armnn/ArmNN.hpp"
namespace armnn
{
diff --git a/src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.cpp b/src/backends/NeonWorkloads/NeonConstantUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.cpp
rename to src/backends/NeonWorkloads/NeonConstantUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.hpp b/src/backends/NeonWorkloads/NeonConstantUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.hpp
rename to src/backends/NeonWorkloads/NeonConstantUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp b/src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp
rename to src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp b/src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp
rename to src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp b/src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp
rename to src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp b/src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp
rename to src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
rename to src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
rename to src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp b/src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp
rename to src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp b/src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp
rename to src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp
rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp
rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp
rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.cpp b/src/backends/NeonWorkloads/NeonMergerUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.cpp
rename to src/backends/NeonWorkloads/NeonMergerUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.hpp b/src/backends/NeonWorkloads/NeonMergerUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.hpp
rename to src/backends/NeonWorkloads/NeonMergerUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.cpp b/src/backends/NeonWorkloads/NeonPermuteWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.cpp
rename to src/backends/NeonWorkloads/NeonPermuteWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.hpp b/src/backends/NeonWorkloads/NeonPermuteWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.hpp
rename to src/backends/NeonWorkloads/NeonPermuteWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
rename to src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp
rename to src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp b/src/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp
rename to src/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp b/src/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp
rename to src/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp b/src/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp
rename to src/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp b/src/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp
rename to src/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp
rename to src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp
rename to src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp b/src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp
rename to src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp b/src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp
rename to src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp b/src/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp
rename to src/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp b/src/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp
rename to src/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp
rename to src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp
similarity index 100%
rename from src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp
rename to src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp
diff --git a/src/backends/NeonWorkloads/backend.cmake b/src/backends/NeonWorkloads/backend.cmake
new file mode 100644
index 0000000..f0908c5
--- /dev/null
+++ b/src/backends/NeonWorkloads/backend.cmake
@@ -0,0 +1,9 @@
+#
+# 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/armnn/backends/OutputHandler.cpp b/src/backends/OutputHandler.cpp
similarity index 100%
rename from src/armnn/backends/OutputHandler.cpp
rename to src/backends/OutputHandler.cpp
diff --git a/src/armnn/backends/OutputHandler.hpp b/src/backends/OutputHandler.hpp
similarity index 100%
rename from src/armnn/backends/OutputHandler.hpp
rename to src/backends/OutputHandler.hpp
diff --git a/src/armnn/backends/RefLayerSupport.cpp b/src/backends/RefLayerSupport.cpp
similarity index 100%
rename from src/armnn/backends/RefLayerSupport.cpp
rename to src/backends/RefLayerSupport.cpp
diff --git a/src/armnn/backends/RefLayerSupport.hpp b/src/backends/RefLayerSupport.hpp
similarity index 100%
rename from src/armnn/backends/RefLayerSupport.hpp
rename to src/backends/RefLayerSupport.hpp
diff --git a/src/armnn/backends/RefWorkloadFactory.cpp b/src/backends/RefWorkloadFactory.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloadFactory.cpp
rename to src/backends/RefWorkloadFactory.cpp
diff --git a/src/armnn/backends/RefWorkloadFactory.hpp b/src/backends/RefWorkloadFactory.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloadFactory.hpp
rename to src/backends/RefWorkloadFactory.hpp
diff --git a/src/armnn/backends/RefWorkloads.hpp b/src/backends/RefWorkloads.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads.hpp
rename to src/backends/RefWorkloads.hpp
diff --git a/src/armnn/backends/RefWorkloads/Activation.cpp b/src/backends/RefWorkloads/Activation.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/Activation.cpp
rename to src/backends/RefWorkloads/Activation.cpp
diff --git a/src/armnn/backends/RefWorkloads/Activation.hpp b/src/backends/RefWorkloads/Activation.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/Activation.hpp
rename to src/backends/RefWorkloads/Activation.hpp
diff --git a/src/armnn/backends/RefWorkloads/ArithmeticFunction.cpp b/src/backends/RefWorkloads/ArithmeticFunction.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/ArithmeticFunction.cpp
rename to src/backends/RefWorkloads/ArithmeticFunction.cpp
diff --git a/src/armnn/backends/RefWorkloads/ArithmeticFunction.hpp b/src/backends/RefWorkloads/ArithmeticFunction.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/ArithmeticFunction.hpp
rename to src/backends/RefWorkloads/ArithmeticFunction.hpp
diff --git a/src/armnn/backends/RefWorkloads/BatchNormImpl.hpp b/src/backends/RefWorkloads/BatchNormImpl.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/BatchNormImpl.hpp
rename to src/backends/RefWorkloads/BatchNormImpl.hpp
diff --git a/src/armnn/backends/RefWorkloads/Broadcast.cpp b/src/backends/RefWorkloads/Broadcast.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/Broadcast.cpp
rename to src/backends/RefWorkloads/Broadcast.cpp
diff --git a/src/armnn/backends/RefWorkloads/Broadcast.hpp b/src/backends/RefWorkloads/Broadcast.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/Broadcast.hpp
rename to src/backends/RefWorkloads/Broadcast.hpp
diff --git a/src/backends/RefWorkloads/CMakeLists.txt b/src/backends/RefWorkloads/CMakeLists.txt
new file mode 100644
index 0000000..0f4bfe1
--- /dev/null
+++ b/src/backends/RefWorkloads/CMakeLists.txt
@@ -0,0 +1,101 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+list(APPEND armnnRefBackend_sources
+ Activation.cpp
+ Activation.hpp
+ ArithmeticFunction.cpp
+ ArithmeticFunction.hpp
+ BatchNormImpl.hpp
+ Broadcast.cpp
+ Broadcast.hpp
+ ConvImpl.cpp
+ ConvImpl.hpp
+ FullyConnected.cpp
+ FullyConnected.hpp
+ Merger.hpp
+ Pooling2d.cpp
+ Pooling2d.hpp
+ RefActivationFloat32Workload.cpp
+ RefActivationFloat32Workload.hpp
+ RefActivationUint8Workload.cpp
+ RefActivationUint8Workload.hpp
+ RefArithmeticWorkload.cpp
+ RefArithmeticWorkload.hpp
+ RefBaseConstantWorkload.cpp
+ RefBaseConstantWorkload.hpp
+ RefBatchNormalizationFloat32Workload.cpp
+ RefBatchNormalizationFloat32Workload.hpp
+ RefBatchNormalizationUint8Workload.cpp
+ RefBatchNormalizationUint8Workload.hpp
+ RefConstantFloat32Workload.cpp
+ RefConstantFloat32Workload.hpp
+ RefConstantUint8Workload.cpp
+ RefConstantUint8Workload.hpp
+ RefConvertFp16ToFp32Workload.cpp
+ RefConvertFp16ToFp32Workload.hpp
+ RefConvertFp32ToFp16Workload.cpp
+ RefConvertFp32ToFp16Workload.hpp
+ RefConvolution2dFloat32Workload.cpp
+ RefConvolution2dFloat32Workload.hpp
+ RefConvolution2dUint8Workload.cpp
+ RefConvolution2dUint8Workload.hpp
+ RefDepthwiseConvolution2dFloat32Workload.cpp
+ RefDepthwiseConvolution2dFloat32Workload.hpp
+ RefDepthwiseConvolution2dUint8Workload.cpp
+ RefDepthwiseConvolution2dUint8Workload.hpp
+ RefFakeQuantizationFloat32Workload.cpp
+ RefFakeQuantizationFloat32Workload.hpp
+ RefFloorFloat32Workload.cpp
+ RefFloorFloat32Workload.hpp
+ RefFullyConnectedFloat32Workload.cpp
+ RefFullyConnectedFloat32Workload.hpp
+ RefFullyConnectedUint8Workload.cpp
+ RefFullyConnectedUint8Workload.hpp
+ RefL2NormalizationFloat32Workload.cpp
+ RefL2NormalizationFloat32Workload.hpp
+ RefLstmFloat32Workload.cpp
+ RefLstmFloat32Workload.hpp
+ RefMergerFloat32Workload.cpp
+ RefMergerFloat32Workload.hpp
+ RefMergerUint8Workload.cpp
+ RefMergerUint8Workload.hpp
+ RefNormalizationFloat32Workload.cpp
+ RefNormalizationFloat32Workload.hpp
+ RefPermuteWorkload.cpp
+ RefPermuteWorkload.hpp
+ RefPooling2dFloat32Workload.cpp
+ RefPooling2dFloat32Workload.hpp
+ RefPooling2dUint8Workload.cpp
+ RefPooling2dUint8Workload.hpp
+ RefReshapeFloat32Workload.cpp
+ RefReshapeFloat32Workload.hpp
+ RefReshapeUint8Workload.cpp
+ RefReshapeUint8Workload.hpp
+ RefResizeBilinearFloat32Workload.cpp
+ RefResizeBilinearFloat32Workload.hpp
+ RefResizeBilinearUint8Workload.cpp
+ RefResizeBilinearUint8Workload.hpp
+ RefSoftmaxFloat32Workload.cpp
+ RefSoftmaxFloat32Workload.hpp
+ RefSoftmaxUint8Workload.cpp
+ RefSoftmaxUint8Workload.hpp
+ RefSplitterFloat32Workload.cpp
+ RefSplitterFloat32Workload.hpp
+ RefSplitterUint8Workload.cpp
+ RefSplitterUint8Workload.hpp
+ RefWorkloadUtils.hpp
+ ResizeBilinear.cpp
+ ResizeBilinear.hpp
+ Softmax.cpp
+ Softmax.hpp
+ Splitter.hpp
+ TensorBufferArrayView.hpp
+)
+
+add_library(armnnRefBackend STATIC ${armnnRefBackend_sources})
+target_include_directories(armnnRefBackend PRIVATE ${PROJECT_SOURCE_DIR}/src)
+target_include_directories(armnnRefBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
+target_include_directories(armnnRefBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
diff --git a/src/armnn/backends/RefWorkloads/ConvImpl.cpp b/src/backends/RefWorkloads/ConvImpl.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/ConvImpl.cpp
rename to src/backends/RefWorkloads/ConvImpl.cpp
diff --git a/src/armnn/backends/RefWorkloads/ConvImpl.hpp b/src/backends/RefWorkloads/ConvImpl.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/ConvImpl.hpp
rename to src/backends/RefWorkloads/ConvImpl.hpp
diff --git a/src/armnn/backends/RefWorkloads/FullyConnected.cpp b/src/backends/RefWorkloads/FullyConnected.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/FullyConnected.cpp
rename to src/backends/RefWorkloads/FullyConnected.cpp
diff --git a/src/armnn/backends/RefWorkloads/FullyConnected.hpp b/src/backends/RefWorkloads/FullyConnected.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/FullyConnected.hpp
rename to src/backends/RefWorkloads/FullyConnected.hpp
diff --git a/src/armnn/backends/RefWorkloads/Merger.hpp b/src/backends/RefWorkloads/Merger.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/Merger.hpp
rename to src/backends/RefWorkloads/Merger.hpp
diff --git a/src/armnn/backends/RefWorkloads/Pooling2d.cpp b/src/backends/RefWorkloads/Pooling2d.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/Pooling2d.cpp
rename to src/backends/RefWorkloads/Pooling2d.cpp
diff --git a/src/armnn/backends/RefWorkloads/Pooling2d.hpp b/src/backends/RefWorkloads/Pooling2d.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/Pooling2d.hpp
rename to src/backends/RefWorkloads/Pooling2d.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.cpp b/src/backends/RefWorkloads/RefActivationFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefActivationFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.hpp b/src/backends/RefWorkloads/RefActivationFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefActivationFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefActivationUint8Workload.cpp b/src/backends/RefWorkloads/RefActivationUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefActivationUint8Workload.cpp
rename to src/backends/RefWorkloads/RefActivationUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefActivationUint8Workload.hpp b/src/backends/RefWorkloads/RefActivationUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefActivationUint8Workload.hpp
rename to src/backends/RefWorkloads/RefActivationUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefArithmeticWorkload.cpp b/src/backends/RefWorkloads/RefArithmeticWorkload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefArithmeticWorkload.cpp
rename to src/backends/RefWorkloads/RefArithmeticWorkload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefArithmeticWorkload.hpp b/src/backends/RefWorkloads/RefArithmeticWorkload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefArithmeticWorkload.hpp
rename to src/backends/RefWorkloads/RefArithmeticWorkload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.cpp b/src/backends/RefWorkloads/RefBaseConstantWorkload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.cpp
rename to src/backends/RefWorkloads/RefBaseConstantWorkload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.hpp b/src/backends/RefWorkloads/RefBaseConstantWorkload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.hpp
rename to src/backends/RefWorkloads/RefBaseConstantWorkload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp b/src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp
rename to src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp b/src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp
rename to src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.cpp b/src/backends/RefWorkloads/RefConstantFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefConstantFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.hpp b/src/backends/RefWorkloads/RefConstantFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefConstantFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConstantUint8Workload.cpp b/src/backends/RefWorkloads/RefConstantUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConstantUint8Workload.cpp
rename to src/backends/RefWorkloads/RefConstantUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConstantUint8Workload.hpp b/src/backends/RefWorkloads/RefConstantUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConstantUint8Workload.hpp
rename to src/backends/RefWorkloads/RefConstantUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp b/src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp
rename to src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp b/src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp
rename to src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp b/src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp
rename to src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp b/src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp
rename to src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp b/src/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp b/src/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp b/src/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp
rename to src/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp b/src/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp
rename to src/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp
rename to src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp
rename to src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.cpp b/src/backends/RefWorkloads/RefFloorFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefFloorFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.hpp b/src/backends/RefWorkloads/RefFloorFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefFloorFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp b/src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp b/src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp b/src/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp
rename to src/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp b/src/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp
rename to src/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.cpp b/src/backends/RefWorkloads/RefLstmFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefLstmFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.hpp b/src/backends/RefWorkloads/RefLstmFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefLstmFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.cpp b/src/backends/RefWorkloads/RefMergerFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefMergerFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.hpp b/src/backends/RefWorkloads/RefMergerFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefMergerFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefMergerUint8Workload.cpp b/src/backends/RefWorkloads/RefMergerUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefMergerUint8Workload.cpp
rename to src/backends/RefWorkloads/RefMergerUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefMergerUint8Workload.hpp b/src/backends/RefWorkloads/RefMergerUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefMergerUint8Workload.hpp
rename to src/backends/RefWorkloads/RefMergerUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefPermuteWorkload.cpp b/src/backends/RefWorkloads/RefPermuteWorkload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefPermuteWorkload.cpp
rename to src/backends/RefWorkloads/RefPermuteWorkload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefPermuteWorkload.hpp b/src/backends/RefWorkloads/RefPermuteWorkload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefPermuteWorkload.hpp
rename to src/backends/RefWorkloads/RefPermuteWorkload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp b/src/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp b/src/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.cpp b/src/backends/RefWorkloads/RefPooling2dUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.cpp
rename to src/backends/RefWorkloads/RefPooling2dUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.hpp b/src/backends/RefWorkloads/RefPooling2dUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.hpp
rename to src/backends/RefWorkloads/RefPooling2dUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.cpp b/src/backends/RefWorkloads/RefReshapeFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefReshapeFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.hpp b/src/backends/RefWorkloads/RefReshapeFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefReshapeFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.cpp b/src/backends/RefWorkloads/RefReshapeUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.cpp
rename to src/backends/RefWorkloads/RefReshapeUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.hpp b/src/backends/RefWorkloads/RefReshapeUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.hpp
rename to src/backends/RefWorkloads/RefReshapeUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp b/src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp b/src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp b/src/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp
rename to src/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp b/src/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp
rename to src/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp b/src/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp b/src/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp b/src/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp
rename to src/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp b/src/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp
rename to src/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.cpp b/src/backends/RefWorkloads/RefSplitterFloat32Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.cpp
rename to src/backends/RefWorkloads/RefSplitterFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.hpp b/src/backends/RefWorkloads/RefSplitterFloat32Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.hpp
rename to src/backends/RefWorkloads/RefSplitterFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.cpp b/src/backends/RefWorkloads/RefSplitterUint8Workload.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.cpp
rename to src/backends/RefWorkloads/RefSplitterUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.hpp b/src/backends/RefWorkloads/RefSplitterUint8Workload.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.hpp
rename to src/backends/RefWorkloads/RefSplitterUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefWorkloadUtils.hpp b/src/backends/RefWorkloads/RefWorkloadUtils.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/RefWorkloadUtils.hpp
rename to src/backends/RefWorkloads/RefWorkloadUtils.hpp
diff --git a/src/armnn/backends/RefWorkloads/ResizeBilinear.cpp b/src/backends/RefWorkloads/ResizeBilinear.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/ResizeBilinear.cpp
rename to src/backends/RefWorkloads/ResizeBilinear.cpp
diff --git a/src/armnn/backends/RefWorkloads/ResizeBilinear.hpp b/src/backends/RefWorkloads/ResizeBilinear.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/ResizeBilinear.hpp
rename to src/backends/RefWorkloads/ResizeBilinear.hpp
diff --git a/src/armnn/backends/RefWorkloads/Softmax.cpp b/src/backends/RefWorkloads/Softmax.cpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/Softmax.cpp
rename to src/backends/RefWorkloads/Softmax.cpp
diff --git a/src/armnn/backends/RefWorkloads/Softmax.hpp b/src/backends/RefWorkloads/Softmax.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/Softmax.hpp
rename to src/backends/RefWorkloads/Softmax.hpp
diff --git a/src/armnn/backends/RefWorkloads/Splitter.hpp b/src/backends/RefWorkloads/Splitter.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/Splitter.hpp
rename to src/backends/RefWorkloads/Splitter.hpp
diff --git a/src/armnn/backends/RefWorkloads/TensorBufferArrayView.hpp b/src/backends/RefWorkloads/TensorBufferArrayView.hpp
similarity index 100%
rename from src/armnn/backends/RefWorkloads/TensorBufferArrayView.hpp
rename to src/backends/RefWorkloads/TensorBufferArrayView.hpp
diff --git a/src/backends/RefWorkloads/backend.cmake b/src/backends/RefWorkloads/backend.cmake
new file mode 100644
index 0000000..6fd09eb
--- /dev/null
+++ b/src/backends/RefWorkloads/backend.cmake
@@ -0,0 +1,7 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends/RefWorkloads)
+list(APPEND armnnLibraries armnnRefBackend)
diff --git a/src/armnn/backends/StringMapping.cpp b/src/backends/StringMapping.cpp
similarity index 100%
rename from src/armnn/backends/StringMapping.cpp
rename to src/backends/StringMapping.cpp
diff --git a/src/armnn/backends/StringMapping.hpp b/src/backends/StringMapping.hpp
similarity index 100%
rename from src/armnn/backends/StringMapping.hpp
rename to src/backends/StringMapping.hpp
diff --git a/src/armnn/backends/Workload.hpp b/src/backends/Workload.hpp
similarity index 100%
rename from src/armnn/backends/Workload.hpp
rename to src/backends/Workload.hpp
diff --git a/src/armnn/backends/WorkloadData.cpp b/src/backends/WorkloadData.cpp
similarity index 100%
rename from src/armnn/backends/WorkloadData.cpp
rename to src/backends/WorkloadData.cpp
diff --git a/src/armnn/backends/WorkloadData.hpp b/src/backends/WorkloadData.hpp
similarity index 100%
rename from src/armnn/backends/WorkloadData.hpp
rename to src/backends/WorkloadData.hpp
diff --git a/src/armnn/backends/WorkloadDataCollector.hpp b/src/backends/WorkloadDataCollector.hpp
similarity index 100%
rename from src/armnn/backends/WorkloadDataCollector.hpp
rename to src/backends/WorkloadDataCollector.hpp
diff --git a/src/armnn/backends/WorkloadDataFwd.hpp b/src/backends/WorkloadDataFwd.hpp
similarity index 100%
rename from src/armnn/backends/WorkloadDataFwd.hpp
rename to src/backends/WorkloadDataFwd.hpp
diff --git a/src/armnn/backends/WorkloadFactory.cpp b/src/backends/WorkloadFactory.cpp
similarity index 100%
rename from src/armnn/backends/WorkloadFactory.cpp
rename to src/backends/WorkloadFactory.cpp
diff --git a/src/armnn/backends/WorkloadFactory.hpp b/src/backends/WorkloadFactory.hpp
similarity index 100%
rename from src/armnn/backends/WorkloadFactory.hpp
rename to src/backends/WorkloadFactory.hpp
diff --git a/src/armnn/backends/WorkloadInfo.hpp b/src/backends/WorkloadInfo.hpp
similarity index 100%
rename from src/armnn/backends/WorkloadInfo.hpp
rename to src/backends/WorkloadInfo.hpp
diff --git a/src/armnn/backends/WorkloadUtils.hpp b/src/backends/WorkloadUtils.hpp
similarity index 100%
rename from src/armnn/backends/WorkloadUtils.hpp
rename to src/backends/WorkloadUtils.hpp
diff --git a/src/backends/backends.cmake b/src/backends/backends.cmake
new file mode 100644
index 0000000..462365c
--- /dev/null
+++ b/src/backends/backends.cmake
@@ -0,0 +1,15 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends)
+list(APPEND armnnLibraries armnnBackendsCommon)
+
+# single place to use wildcards, so we can include
+# yet unknown backend modules
+FILE(GLOB backendIncludes ${PROJECT_SOURCE_DIR}/src/backends/*/backend.cmake)
+
+foreach(backendInclude ${backendIncludes})
+ include(${backendInclude})
+endforeach()
diff --git a/src/armnn/backends/test/ActivationFixture.hpp b/src/backends/test/ActivationFixture.hpp
similarity index 100%
rename from src/armnn/backends/test/ActivationFixture.hpp
rename to src/backends/test/ActivationFixture.hpp
diff --git a/src/armnn/backends/test/ActivationTestImpl.hpp b/src/backends/test/ActivationTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/ActivationTestImpl.hpp
rename to src/backends/test/ActivationTestImpl.hpp
diff --git a/src/armnn/backends/test/ArmComputeCl.cpp b/src/backends/test/ArmComputeCl.cpp
similarity index 100%
rename from src/armnn/backends/test/ArmComputeCl.cpp
rename to src/backends/test/ArmComputeCl.cpp
diff --git a/src/armnn/backends/test/ArmComputeNeon.cpp b/src/backends/test/ArmComputeNeon.cpp
similarity index 100%
rename from src/armnn/backends/test/ArmComputeNeon.cpp
rename to src/backends/test/ArmComputeNeon.cpp
diff --git a/src/armnn/backends/test/BatchNormTestImpl.hpp b/src/backends/test/BatchNormTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/BatchNormTestImpl.hpp
rename to src/backends/test/BatchNormTestImpl.hpp
diff --git a/src/armnn/backends/test/ClContextControlFixture.hpp b/src/backends/test/ClContextControlFixture.hpp
similarity index 100%
rename from src/armnn/backends/test/ClContextControlFixture.hpp
rename to src/backends/test/ClContextControlFixture.hpp
diff --git a/src/armnn/backends/test/Conv2dTestImpl.hpp b/src/backends/test/Conv2dTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/Conv2dTestImpl.hpp
rename to src/backends/test/Conv2dTestImpl.hpp
diff --git a/src/armnn/backends/test/ConvertFp16ToFp32TestImpl.hpp b/src/backends/test/ConvertFp16ToFp32TestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/ConvertFp16ToFp32TestImpl.hpp
rename to src/backends/test/ConvertFp16ToFp32TestImpl.hpp
diff --git a/src/armnn/backends/test/ConvertFp32ToFp16TestImpl.hpp b/src/backends/test/ConvertFp32ToFp16TestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/ConvertFp32ToFp16TestImpl.hpp
rename to src/backends/test/ConvertFp32ToFp16TestImpl.hpp
diff --git a/src/armnn/backends/test/CreateWorkloadCl.cpp b/src/backends/test/CreateWorkloadCl.cpp
similarity index 100%
rename from src/armnn/backends/test/CreateWorkloadCl.cpp
rename to src/backends/test/CreateWorkloadCl.cpp
diff --git a/src/armnn/backends/test/CreateWorkloadNeon.cpp b/src/backends/test/CreateWorkloadNeon.cpp
similarity index 100%
rename from src/armnn/backends/test/CreateWorkloadNeon.cpp
rename to src/backends/test/CreateWorkloadNeon.cpp
diff --git a/src/armnn/backends/test/CreateWorkloadRef.cpp b/src/backends/test/CreateWorkloadRef.cpp
similarity index 100%
rename from src/armnn/backends/test/CreateWorkloadRef.cpp
rename to src/backends/test/CreateWorkloadRef.cpp
diff --git a/src/armnn/backends/test/FullyConnectedTestImpl.hpp b/src/backends/test/FullyConnectedTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/FullyConnectedTestImpl.hpp
rename to src/backends/test/FullyConnectedTestImpl.hpp
diff --git a/src/armnn/backends/test/IsLayerSupportedTest.cpp b/src/backends/test/IsLayerSupportedTest.cpp
similarity index 100%
rename from src/armnn/backends/test/IsLayerSupportedTest.cpp
rename to src/backends/test/IsLayerSupportedTest.cpp
diff --git a/src/armnn/backends/test/IsLayerSupportedTestImpl.hpp b/src/backends/test/IsLayerSupportedTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/IsLayerSupportedTestImpl.hpp
rename to src/backends/test/IsLayerSupportedTestImpl.hpp
diff --git a/src/armnn/backends/test/LayerReleaseConstantDataTest.cpp b/src/backends/test/LayerReleaseConstantDataTest.cpp
similarity index 100%
rename from src/armnn/backends/test/LayerReleaseConstantDataTest.cpp
rename to src/backends/test/LayerReleaseConstantDataTest.cpp
diff --git a/src/armnn/backends/test/LayerTests.cpp b/src/backends/test/LayerTests.cpp
similarity index 100%
rename from src/armnn/backends/test/LayerTests.cpp
rename to src/backends/test/LayerTests.cpp
diff --git a/src/armnn/backends/test/LayerTests.hpp b/src/backends/test/LayerTests.hpp
similarity index 100%
rename from src/armnn/backends/test/LayerTests.hpp
rename to src/backends/test/LayerTests.hpp
diff --git a/src/armnn/backends/test/LstmTestImpl.hpp b/src/backends/test/LstmTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/LstmTestImpl.hpp
rename to src/backends/test/LstmTestImpl.hpp
diff --git a/src/armnn/backends/test/MemCopyTests.cpp b/src/backends/test/MemCopyTests.cpp
similarity index 100%
rename from src/armnn/backends/test/MemCopyTests.cpp
rename to src/backends/test/MemCopyTests.cpp
diff --git a/src/armnn/backends/test/NormTestImpl.hpp b/src/backends/test/NormTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/NormTestImpl.hpp
rename to src/backends/test/NormTestImpl.hpp
diff --git a/src/armnn/backends/test/PermuteTestImpl.hpp b/src/backends/test/PermuteTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/PermuteTestImpl.hpp
rename to src/backends/test/PermuteTestImpl.hpp
diff --git a/src/armnn/backends/test/Pooling2dTestImpl.hpp b/src/backends/test/Pooling2dTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/Pooling2dTestImpl.hpp
rename to src/backends/test/Pooling2dTestImpl.hpp
diff --git a/src/armnn/backends/test/QuantizeHelper.hpp b/src/backends/test/QuantizeHelper.hpp
similarity index 100%
rename from src/armnn/backends/test/QuantizeHelper.hpp
rename to src/backends/test/QuantizeHelper.hpp
diff --git a/src/armnn/backends/test/Reference.cpp b/src/backends/test/Reference.cpp
similarity index 100%
rename from src/armnn/backends/test/Reference.cpp
rename to src/backends/test/Reference.cpp
diff --git a/src/armnn/backends/test/ReshapeTestImpl.hpp b/src/backends/test/ReshapeTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/ReshapeTestImpl.hpp
rename to src/backends/test/ReshapeTestImpl.hpp
diff --git a/src/armnn/backends/test/SoftmaxTestImpl.hpp b/src/backends/test/SoftmaxTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/SoftmaxTestImpl.hpp
rename to src/backends/test/SoftmaxTestImpl.hpp
diff --git a/src/armnn/backends/test/SplitterTestImpl.hpp b/src/backends/test/SplitterTestImpl.hpp
similarity index 100%
rename from src/armnn/backends/test/SplitterTestImpl.hpp
rename to src/backends/test/SplitterTestImpl.hpp
diff --git a/src/armnn/backends/test/TensorCopyUtils.cpp b/src/backends/test/TensorCopyUtils.cpp
similarity index 100%
rename from src/armnn/backends/test/TensorCopyUtils.cpp
rename to src/backends/test/TensorCopyUtils.cpp
diff --git a/src/armnn/backends/test/TensorCopyUtils.hpp b/src/backends/test/TensorCopyUtils.hpp
similarity index 100%
rename from src/armnn/backends/test/TensorCopyUtils.hpp
rename to src/backends/test/TensorCopyUtils.hpp
diff --git a/src/armnn/backends/test/WorkloadDataValidation.cpp b/src/backends/test/WorkloadDataValidation.cpp
similarity index 100%
rename from src/armnn/backends/test/WorkloadDataValidation.cpp
rename to src/backends/test/WorkloadDataValidation.cpp
diff --git a/src/armnn/backends/test/WorkloadTestUtils.hpp b/src/backends/test/WorkloadTestUtils.hpp
similarity index 100%
rename from src/armnn/backends/test/WorkloadTestUtils.hpp
rename to src/backends/test/WorkloadTestUtils.hpp