aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Beck <david.beck@arm.com>2018-09-19 12:03:20 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-10 16:16:56 +0100
commit10b4dfd8e9ccd7a03df7bb053ee1c644cb37f8ab (patch)
tree1ac5b4f415531e2ef759439ab8e113f177bea7c5
parenta3f165624b2cdfbced674af5a6e11856b1e746d9 (diff)
downloadarmnn-10b4dfd8e9ccd7a03df7bb053ee1c644cb37f8ab.tar.gz
IVGCVSW-1897 : build infrastructure for the src/backends folder
Change-Id: I7ebafb675ccc77ad54d1deb01412a8379a5356bb
-rw-r--r--Android.mk282
-rw-r--r--CMakeLists.txt352
-rw-r--r--cmake/GlobalConfig.cmake3
-rw-r--r--src/backends/ArmComputeTensorUtils.cpp (renamed from src/armnn/backends/ArmComputeTensorUtils.cpp)0
-rw-r--r--src/backends/ArmComputeTensorUtils.hpp (renamed from src/armnn/backends/ArmComputeTensorUtils.hpp)0
-rw-r--r--src/backends/ArmComputeUtils.hpp (renamed from src/armnn/backends/ArmComputeUtils.hpp)0
-rw-r--r--src/backends/CMakeLists.txt74
-rw-r--r--src/backends/ClContextControl.cpp (renamed from src/armnn/backends/ClContextControl.cpp)0
-rw-r--r--src/backends/ClContextControl.hpp (renamed from src/armnn/backends/ClContextControl.hpp)0
-rw-r--r--src/backends/ClLayerSupport.cpp (renamed from src/armnn/backends/ClLayerSupport.cpp)0
-rw-r--r--src/backends/ClLayerSupport.hpp (renamed from src/armnn/backends/ClLayerSupport.hpp)0
-rw-r--r--src/backends/ClTensorHandle.hpp (renamed from src/armnn/backends/ClTensorHandle.hpp)0
-rw-r--r--src/backends/ClWorkloadFactory.cpp (renamed from src/armnn/backends/ClWorkloadFactory.cpp)0
-rw-r--r--src/backends/ClWorkloadFactory.hpp (renamed from src/armnn/backends/ClWorkloadFactory.hpp)0
-rw-r--r--src/backends/ClWorkloads.hpp (renamed from src/armnn/backends/ClWorkloads.hpp)0
-rw-r--r--src/backends/ClWorkloads/CMakeLists.txt89
-rw-r--r--src/backends/ClWorkloads/ClActivationFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClActivationFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClActivationUint8Workload.cpp (renamed from src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClActivationUint8Workload.hpp (renamed from src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClAdditionWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClAdditionWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClBaseConstantWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClBaseConstantWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClBaseMergerWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClBaseSplitterWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClBaseSplitterWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClConstantFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClConstantFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClConstantUint8Workload.cpp (renamed from src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClConstantUint8Workload.hpp (renamed from src/armnn/backends/ClWorkloads/ClConstantUint8Workload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp (renamed from src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp (renamed from src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp (renamed from src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp (renamed from src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp (renamed from src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp (renamed from src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp (renamed from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp (renamed from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClDivisionFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClDivisionFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClFloorFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClFloorFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClFullyConnectedWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClLstmFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClLstmFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClMergerFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClMergerFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClMergerUint8Workload.cpp (renamed from src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClMergerUint8Workload.hpp (renamed from src/armnn/backends/ClWorkloads/ClMergerUint8Workload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClPermuteWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClPermuteWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClPooling2dUint8Workload.cpp (renamed from src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClPooling2dUint8Workload.hpp (renamed from src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClReshapeFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClReshapeFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClReshapeUint8Workload.cpp (renamed from src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClReshapeUint8Workload.hpp (renamed from src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp (renamed from src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp (renamed from src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClSplitterFloatWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClSplitterFloatWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClSplitterUint8Workload.cpp (renamed from src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClSplitterUint8Workload.hpp (renamed from src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClSubtractionWorkload.cpp (renamed from src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp)0
-rw-r--r--src/backends/ClWorkloads/ClSubtractionWorkload.hpp (renamed from src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp)0
-rw-r--r--src/backends/ClWorkloads/ClWorkloadUtils.hpp (renamed from src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp)0
-rw-r--r--src/backends/ClWorkloads/backend.cmake9
-rw-r--r--src/backends/CpuTensorHandle.cpp (renamed from src/armnn/backends/CpuTensorHandle.cpp)0
-rw-r--r--src/backends/CpuTensorHandle.hpp (renamed from src/armnn/backends/CpuTensorHandle.hpp)0
-rw-r--r--src/backends/CpuTensorHandleFwd.hpp (renamed from src/armnn/backends/CpuTensorHandleFwd.hpp)0
-rw-r--r--src/backends/ITensorHandle.hpp (renamed from src/armnn/backends/ITensorHandle.hpp)0
-rw-r--r--src/backends/MakeWorkloadHelper.hpp (renamed from src/armnn/backends/MakeWorkloadHelper.hpp)0
-rw-r--r--src/backends/MemCopyWorkload.cpp (renamed from src/armnn/backends/MemCopyWorkload.cpp)0
-rw-r--r--src/backends/MemCopyWorkload.hpp (renamed from src/armnn/backends/MemCopyWorkload.hpp)0
-rw-r--r--src/backends/NeonLayerSupport.cpp (renamed from src/armnn/backends/NeonLayerSupport.cpp)0
-rw-r--r--src/backends/NeonLayerSupport.hpp (renamed from src/armnn/backends/NeonLayerSupport.hpp)0
-rw-r--r--src/backends/NeonTensorHandle.hpp (renamed from src/armnn/backends/NeonTensorHandle.hpp)0
-rw-r--r--src/backends/NeonWorkloadFactory.cpp (renamed from src/armnn/backends/NeonWorkloadFactory.cpp)0
-rw-r--r--src/backends/NeonWorkloadFactory.hpp (renamed from src/armnn/backends/NeonWorkloadFactory.hpp)0
-rw-r--r--src/backends/NeonWorkloadUtils.cpp (renamed from src/armnn/backends/NeonWorkloadUtils.cpp)2
-rw-r--r--src/backends/NeonWorkloadUtils.hpp (renamed from src/armnn/backends/NeonWorkloadUtils.hpp)0
-rw-r--r--src/backends/NeonWorkloads.hpp (renamed from src/armnn/backends/NeonWorkloads.hpp)0
-rw-r--r--src/backends/NeonWorkloads/CMakeLists.txt83
-rw-r--r--src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonActivationUint8Workload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp)2
-rw-r--r--src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConstantUint8Workload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConstantUint8Workload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonMergerUint8Workload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonMergerUint8Workload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonPermuteWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonPermuteWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp (renamed from src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp)0
-rw-r--r--src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp (renamed from src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp)0
-rw-r--r--src/backends/NeonWorkloads/backend.cmake9
-rw-r--r--src/backends/OutputHandler.cpp (renamed from src/armnn/backends/OutputHandler.cpp)0
-rw-r--r--src/backends/OutputHandler.hpp (renamed from src/armnn/backends/OutputHandler.hpp)0
-rw-r--r--src/backends/RefLayerSupport.cpp (renamed from src/armnn/backends/RefLayerSupport.cpp)0
-rw-r--r--src/backends/RefLayerSupport.hpp (renamed from src/armnn/backends/RefLayerSupport.hpp)0
-rw-r--r--src/backends/RefWorkloadFactory.cpp (renamed from src/armnn/backends/RefWorkloadFactory.cpp)0
-rw-r--r--src/backends/RefWorkloadFactory.hpp (renamed from src/armnn/backends/RefWorkloadFactory.hpp)0
-rw-r--r--src/backends/RefWorkloads.hpp (renamed from src/armnn/backends/RefWorkloads.hpp)0
-rw-r--r--src/backends/RefWorkloads/Activation.cpp (renamed from src/armnn/backends/RefWorkloads/Activation.cpp)0
-rw-r--r--src/backends/RefWorkloads/Activation.hpp (renamed from src/armnn/backends/RefWorkloads/Activation.hpp)0
-rw-r--r--src/backends/RefWorkloads/ArithmeticFunction.cpp (renamed from src/armnn/backends/RefWorkloads/ArithmeticFunction.cpp)0
-rw-r--r--src/backends/RefWorkloads/ArithmeticFunction.hpp (renamed from src/armnn/backends/RefWorkloads/ArithmeticFunction.hpp)0
-rw-r--r--src/backends/RefWorkloads/BatchNormImpl.hpp (renamed from src/armnn/backends/RefWorkloads/BatchNormImpl.hpp)0
-rw-r--r--src/backends/RefWorkloads/Broadcast.cpp (renamed from src/armnn/backends/RefWorkloads/Broadcast.cpp)0
-rw-r--r--src/backends/RefWorkloads/Broadcast.hpp (renamed from src/armnn/backends/RefWorkloads/Broadcast.hpp)0
-rw-r--r--src/backends/RefWorkloads/CMakeLists.txt101
-rw-r--r--src/backends/RefWorkloads/ConvImpl.cpp (renamed from src/armnn/backends/RefWorkloads/ConvImpl.cpp)0
-rw-r--r--src/backends/RefWorkloads/ConvImpl.hpp (renamed from src/armnn/backends/RefWorkloads/ConvImpl.hpp)0
-rw-r--r--src/backends/RefWorkloads/FullyConnected.cpp (renamed from src/armnn/backends/RefWorkloads/FullyConnected.cpp)0
-rw-r--r--src/backends/RefWorkloads/FullyConnected.hpp (renamed from src/armnn/backends/RefWorkloads/FullyConnected.hpp)0
-rw-r--r--src/backends/RefWorkloads/Merger.hpp (renamed from src/armnn/backends/RefWorkloads/Merger.hpp)0
-rw-r--r--src/backends/RefWorkloads/Pooling2d.cpp (renamed from src/armnn/backends/RefWorkloads/Pooling2d.cpp)0
-rw-r--r--src/backends/RefWorkloads/Pooling2d.hpp (renamed from src/armnn/backends/RefWorkloads/Pooling2d.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefActivationFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefActivationFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefActivationUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefActivationUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefActivationUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefActivationUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefArithmeticWorkload.cpp (renamed from src/armnn/backends/RefWorkloads/RefArithmeticWorkload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefArithmeticWorkload.hpp (renamed from src/armnn/backends/RefWorkloads/RefArithmeticWorkload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefBaseConstantWorkload.cpp (renamed from src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefBaseConstantWorkload.hpp (renamed from src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefConstantFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefConstantFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefConstantUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefConstantUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefConstantUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefConstantUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefFloorFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefFloorFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefLstmFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefLstmFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefMergerFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefMergerFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefMergerUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefMergerUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefMergerUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefMergerUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefPermuteWorkload.cpp (renamed from src/armnn/backends/RefWorkloads/RefPermuteWorkload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefPermuteWorkload.hpp (renamed from src/armnn/backends/RefWorkloads/RefPermuteWorkload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefPooling2dUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefPooling2dUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefReshapeFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefReshapeFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefReshapeUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefReshapeUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefSplitterFloat32Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefSplitterFloat32Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefSplitterUint8Workload.cpp (renamed from src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.cpp)0
-rw-r--r--src/backends/RefWorkloads/RefSplitterUint8Workload.hpp (renamed from src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.hpp)0
-rw-r--r--src/backends/RefWorkloads/RefWorkloadUtils.hpp (renamed from src/armnn/backends/RefWorkloads/RefWorkloadUtils.hpp)0
-rw-r--r--src/backends/RefWorkloads/ResizeBilinear.cpp (renamed from src/armnn/backends/RefWorkloads/ResizeBilinear.cpp)0
-rw-r--r--src/backends/RefWorkloads/ResizeBilinear.hpp (renamed from src/armnn/backends/RefWorkloads/ResizeBilinear.hpp)0
-rw-r--r--src/backends/RefWorkloads/Softmax.cpp (renamed from src/armnn/backends/RefWorkloads/Softmax.cpp)0
-rw-r--r--src/backends/RefWorkloads/Softmax.hpp (renamed from src/armnn/backends/RefWorkloads/Softmax.hpp)0
-rw-r--r--src/backends/RefWorkloads/Splitter.hpp (renamed from src/armnn/backends/RefWorkloads/Splitter.hpp)0
-rw-r--r--src/backends/RefWorkloads/TensorBufferArrayView.hpp (renamed from src/armnn/backends/RefWorkloads/TensorBufferArrayView.hpp)0
-rw-r--r--src/backends/RefWorkloads/backend.cmake7
-rw-r--r--src/backends/StringMapping.cpp (renamed from src/armnn/backends/StringMapping.cpp)0
-rw-r--r--src/backends/StringMapping.hpp (renamed from src/armnn/backends/StringMapping.hpp)0
-rw-r--r--src/backends/Workload.hpp (renamed from src/armnn/backends/Workload.hpp)0
-rw-r--r--src/backends/WorkloadData.cpp (renamed from src/armnn/backends/WorkloadData.cpp)0
-rw-r--r--src/backends/WorkloadData.hpp (renamed from src/armnn/backends/WorkloadData.hpp)0
-rw-r--r--src/backends/WorkloadDataCollector.hpp (renamed from src/armnn/backends/WorkloadDataCollector.hpp)0
-rw-r--r--src/backends/WorkloadDataFwd.hpp (renamed from src/armnn/backends/WorkloadDataFwd.hpp)0
-rw-r--r--src/backends/WorkloadFactory.cpp (renamed from src/armnn/backends/WorkloadFactory.cpp)0
-rw-r--r--src/backends/WorkloadFactory.hpp (renamed from src/armnn/backends/WorkloadFactory.hpp)0
-rw-r--r--src/backends/WorkloadInfo.hpp (renamed from src/armnn/backends/WorkloadInfo.hpp)0
-rw-r--r--src/backends/WorkloadUtils.hpp (renamed from src/armnn/backends/WorkloadUtils.hpp)0
-rw-r--r--src/backends/backends.cmake15
-rw-r--r--src/backends/test/ActivationFixture.hpp (renamed from src/armnn/backends/test/ActivationFixture.hpp)0
-rw-r--r--src/backends/test/ActivationTestImpl.hpp (renamed from src/armnn/backends/test/ActivationTestImpl.hpp)0
-rw-r--r--src/backends/test/ArmComputeCl.cpp (renamed from src/armnn/backends/test/ArmComputeCl.cpp)0
-rw-r--r--src/backends/test/ArmComputeNeon.cpp (renamed from src/armnn/backends/test/ArmComputeNeon.cpp)0
-rw-r--r--src/backends/test/BatchNormTestImpl.hpp (renamed from src/armnn/backends/test/BatchNormTestImpl.hpp)0
-rw-r--r--src/backends/test/ClContextControlFixture.hpp (renamed from src/armnn/backends/test/ClContextControlFixture.hpp)0
-rw-r--r--src/backends/test/Conv2dTestImpl.hpp (renamed from src/armnn/backends/test/Conv2dTestImpl.hpp)0
-rw-r--r--src/backends/test/ConvertFp16ToFp32TestImpl.hpp (renamed from src/armnn/backends/test/ConvertFp16ToFp32TestImpl.hpp)0
-rw-r--r--src/backends/test/ConvertFp32ToFp16TestImpl.hpp (renamed from src/armnn/backends/test/ConvertFp32ToFp16TestImpl.hpp)0
-rw-r--r--src/backends/test/CreateWorkloadCl.cpp (renamed from src/armnn/backends/test/CreateWorkloadCl.cpp)0
-rw-r--r--src/backends/test/CreateWorkloadNeon.cpp (renamed from src/armnn/backends/test/CreateWorkloadNeon.cpp)0
-rw-r--r--src/backends/test/CreateWorkloadRef.cpp (renamed from src/armnn/backends/test/CreateWorkloadRef.cpp)0
-rw-r--r--src/backends/test/FullyConnectedTestImpl.hpp (renamed from src/armnn/backends/test/FullyConnectedTestImpl.hpp)0
-rw-r--r--src/backends/test/IsLayerSupportedTest.cpp (renamed from src/armnn/backends/test/IsLayerSupportedTest.cpp)0
-rw-r--r--src/backends/test/IsLayerSupportedTestImpl.hpp (renamed from src/armnn/backends/test/IsLayerSupportedTestImpl.hpp)0
-rw-r--r--src/backends/test/LayerReleaseConstantDataTest.cpp (renamed from src/armnn/backends/test/LayerReleaseConstantDataTest.cpp)0
-rw-r--r--src/backends/test/LayerTests.cpp (renamed from src/armnn/backends/test/LayerTests.cpp)0
-rw-r--r--src/backends/test/LayerTests.hpp (renamed from src/armnn/backends/test/LayerTests.hpp)0
-rw-r--r--src/backends/test/LstmTestImpl.hpp (renamed from src/armnn/backends/test/LstmTestImpl.hpp)0
-rw-r--r--src/backends/test/MemCopyTests.cpp (renamed from src/armnn/backends/test/MemCopyTests.cpp)0
-rw-r--r--src/backends/test/NormTestImpl.hpp (renamed from src/armnn/backends/test/NormTestImpl.hpp)0
-rw-r--r--src/backends/test/PermuteTestImpl.hpp (renamed from src/armnn/backends/test/PermuteTestImpl.hpp)0
-rw-r--r--src/backends/test/Pooling2dTestImpl.hpp (renamed from src/armnn/backends/test/Pooling2dTestImpl.hpp)0
-rw-r--r--src/backends/test/QuantizeHelper.hpp (renamed from src/armnn/backends/test/QuantizeHelper.hpp)0
-rw-r--r--src/backends/test/Reference.cpp (renamed from src/armnn/backends/test/Reference.cpp)0
-rw-r--r--src/backends/test/ReshapeTestImpl.hpp (renamed from src/armnn/backends/test/ReshapeTestImpl.hpp)0
-rw-r--r--src/backends/test/SoftmaxTestImpl.hpp (renamed from src/armnn/backends/test/SoftmaxTestImpl.hpp)0
-rw-r--r--src/backends/test/SplitterTestImpl.hpp (renamed from src/armnn/backends/test/SplitterTestImpl.hpp)0
-rw-r--r--src/backends/test/TensorCopyUtils.cpp (renamed from src/armnn/backends/test/TensorCopyUtils.cpp)0
-rw-r--r--src/backends/test/TensorCopyUtils.hpp (renamed from src/armnn/backends/test/TensorCopyUtils.hpp)0
-rw-r--r--src/backends/test/WorkloadDataValidation.cpp (renamed from src/armnn/backends/test/WorkloadDataValidation.cpp)0
-rw-r--r--src/backends/test/WorkloadTestUtils.hpp (renamed from src/armnn/backends/test/WorkloadTestUtils.hpp)0
324 files changed, 579 insertions, 449 deletions
diff --git a/Android.mk b/Android.mk
index ad02db9c51..cc1076f01b 100644
--- a/Android.mk
+++ b/Android.mk
@@ -10,6 +10,7 @@ LOCAL_PATH := $(call my-dir)
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_PROPRIETARY_MODULE := true
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 @@ LOCAL_C_INCLUDES := \
$(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 @@ LOCAL_SRC_FILES := \
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 @@ LOCAL_SRC_FILES := \
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 @@ LOCAL_SRC_FILES := \
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 @@ LOCAL_C_INCLUDES := \
$(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 @@ LOCAL_SRC_FILES := \
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 a65567dd0b..8ddad9982b 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 @@ if(BUILD_TF_LITE_PARSER)
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 @@ list(APPEND armnn_sources
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 @@ list(APPEND armnn_sources
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 @@ list(APPEND armnn_sources
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 @@ endif()
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 @@ if(PROFILING_BACKEND_STREAMLINE)
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 @@ if(BUILD_UNIT_TESTS)
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(BUILD_UNIT_TESTS)
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 @@ if(BUILD_UNIT_TESTS)
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 47bdd5ca32..61ce4cdf35 100644
--- a/cmake/GlobalConfig.cmake
+++ b/cmake/GlobalConfig.cmake
@@ -348,3 +348,6 @@ endif()
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
index ba9fb40cfc..ba9fb40cfc 100644
--- a/src/armnn/backends/ArmComputeTensorUtils.cpp
+++ b/src/backends/ArmComputeTensorUtils.cpp
diff --git a/src/armnn/backends/ArmComputeTensorUtils.hpp b/src/backends/ArmComputeTensorUtils.hpp
index 572e310ecf..572e310ecf 100644
--- a/src/armnn/backends/ArmComputeTensorUtils.hpp
+++ b/src/backends/ArmComputeTensorUtils.hpp
diff --git a/src/armnn/backends/ArmComputeUtils.hpp b/src/backends/ArmComputeUtils.hpp
index db472964ea..db472964ea 100644
--- a/src/armnn/backends/ArmComputeUtils.hpp
+++ b/src/backends/ArmComputeUtils.hpp
diff --git a/src/backends/CMakeLists.txt b/src/backends/CMakeLists.txt
new file mode 100644
index 0000000000..4a949c04f7
--- /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
index e8b21c942d..e8b21c942d 100644
--- a/src/armnn/backends/ClContextControl.cpp
+++ b/src/backends/ClContextControl.cpp
diff --git a/src/armnn/backends/ClContextControl.hpp b/src/backends/ClContextControl.hpp
index 5ac56423bd..5ac56423bd 100644
--- a/src/armnn/backends/ClContextControl.hpp
+++ b/src/backends/ClContextControl.hpp
diff --git a/src/armnn/backends/ClLayerSupport.cpp b/src/backends/ClLayerSupport.cpp
index 30a1330706..30a1330706 100644
--- a/src/armnn/backends/ClLayerSupport.cpp
+++ b/src/backends/ClLayerSupport.cpp
diff --git a/src/armnn/backends/ClLayerSupport.hpp b/src/backends/ClLayerSupport.hpp
index f5c1226e56..f5c1226e56 100644
--- a/src/armnn/backends/ClLayerSupport.hpp
+++ b/src/backends/ClLayerSupport.hpp
diff --git a/src/armnn/backends/ClTensorHandle.hpp b/src/backends/ClTensorHandle.hpp
index 9c78192284..9c78192284 100644
--- a/src/armnn/backends/ClTensorHandle.hpp
+++ b/src/backends/ClTensorHandle.hpp
diff --git a/src/armnn/backends/ClWorkloadFactory.cpp b/src/backends/ClWorkloadFactory.cpp
index 591fb85dbb..591fb85dbb 100644
--- a/src/armnn/backends/ClWorkloadFactory.cpp
+++ b/src/backends/ClWorkloadFactory.cpp
diff --git a/src/armnn/backends/ClWorkloadFactory.hpp b/src/backends/ClWorkloadFactory.hpp
index 892d564fbb..892d564fbb 100644
--- a/src/armnn/backends/ClWorkloadFactory.hpp
+++ b/src/backends/ClWorkloadFactory.hpp
diff --git a/src/armnn/backends/ClWorkloads.hpp b/src/backends/ClWorkloads.hpp
index 2bbda8a62b..2bbda8a62b 100644
--- a/src/armnn/backends/ClWorkloads.hpp
+++ b/src/backends/ClWorkloads.hpp
diff --git a/src/backends/ClWorkloads/CMakeLists.txt b/src/backends/ClWorkloads/CMakeLists.txt
new file mode 100644
index 0000000000..ac935b5cf7
--- /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
index 97078bddd8..97078bddd8 100644
--- a/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClActivationFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp b/src/backends/ClWorkloads/ClActivationFloatWorkload.hpp
index e1b6fe13d8..e1b6fe13d8 100644
--- a/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClActivationFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp b/src/backends/ClWorkloads/ClActivationUint8Workload.cpp
index f39c856aa9..f39c856aa9 100644
--- a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp
+++ b/src/backends/ClWorkloads/ClActivationUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp b/src/backends/ClWorkloads/ClActivationUint8Workload.hpp
index bb2ff58853..bb2ff58853 100644
--- a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp
+++ b/src/backends/ClWorkloads/ClActivationUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp b/src/backends/ClWorkloads/ClAdditionWorkload.cpp
index dd439d59a9..dd439d59a9 100644
--- a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp
+++ b/src/backends/ClWorkloads/ClAdditionWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp b/src/backends/ClWorkloads/ClAdditionWorkload.hpp
index b4706890d1..b4706890d1 100644
--- a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp
+++ b/src/backends/ClWorkloads/ClAdditionWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp b/src/backends/ClWorkloads/ClBaseConstantWorkload.cpp
index 021d17512f..021d17512f 100644
--- a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp
+++ b/src/backends/ClWorkloads/ClBaseConstantWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp b/src/backends/ClWorkloads/ClBaseConstantWorkload.hpp
index ca1db389dc..ca1db389dc 100644
--- a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp
+++ b/src/backends/ClWorkloads/ClBaseConstantWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp b/src/backends/ClWorkloads/ClBaseMergerWorkload.hpp
index 420e074217..420e074217 100644
--- a/src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp
+++ b/src/backends/ClWorkloads/ClBaseMergerWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClBaseSplitterWorkload.hpp b/src/backends/ClWorkloads/ClBaseSplitterWorkload.hpp
index 41f382cac8..41f382cac8 100644
--- a/src/armnn/backends/ClWorkloads/ClBaseSplitterWorkload.hpp
+++ b/src/backends/ClWorkloads/ClBaseSplitterWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
index 021734aaa6..021734aaa6 100644
--- a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp b/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp
index 22c71b1073..22c71b1073 100644
--- a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp b/src/backends/ClWorkloads/ClConstantFloatWorkload.cpp
index 1565047c22..1565047c22 100644
--- a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClConstantFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp b/src/backends/ClWorkloads/ClConstantFloatWorkload.hpp
index 0cbeaad9ea..0cbeaad9ea 100644
--- a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClConstantFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp b/src/backends/ClWorkloads/ClConstantUint8Workload.cpp
index a5ef0321cd..a5ef0321cd 100644
--- a/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp
+++ b/src/backends/ClWorkloads/ClConstantUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.hpp b/src/backends/ClWorkloads/ClConstantUint8Workload.hpp
index 30556dc0d6..30556dc0d6 100644
--- a/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.hpp
+++ b/src/backends/ClWorkloads/ClConstantUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp b/src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp
index 534249aeac..534249aeac 100644
--- a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp
+++ b/src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp b/src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp
index c72d2262b3..c72d2262b3 100644
--- a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp
+++ b/src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp b/src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp
index 73b3cbc542..73b3cbc542 100644
--- a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp
+++ b/src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp b/src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp
index fb6af02070..fb6af02070 100644
--- a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp
+++ b/src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
index 228f17d54e..228f17d54e 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
+++ b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp
index a983dba79a..a983dba79a 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp
+++ b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
index 029f41d5dc..029f41d5dc 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp
index 28ba53f38a..28ba53f38a 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
index e6783b698a..e6783b698a 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
+++ b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp
index f1f008b1b9..f1f008b1b9 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp
+++ b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp
index 0e89a68118..0e89a68118 100644
--- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp
+++ b/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp
index 49a8b5d357..49a8b5d357 100644
--- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp
+++ b/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp
index 635ae1f327..635ae1f327 100644
--- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp
index 4f9d5f332e..4f9d5f332e 100644
--- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp
index af5836e908..af5836e908 100644
--- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp
+++ b/src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp
index b9f676de94..b9f676de94 100644
--- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp
+++ b/src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp b/src/backends/ClWorkloads/ClDivisionFloatWorkload.cpp
index 2371789035..2371789035 100644
--- a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClDivisionFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp b/src/backends/ClWorkloads/ClDivisionFloatWorkload.hpp
index d34e11dab8..d34e11dab8 100644
--- a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClDivisionFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp b/src/backends/ClWorkloads/ClFloorFloatWorkload.cpp
index d090a7da81..d090a7da81 100644
--- a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClFloorFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp b/src/backends/ClWorkloads/ClFloorFloatWorkload.hpp
index f269bcf30c..f269bcf30c 100644
--- a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClFloorFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp b/src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
index 8d2fd0e909..8d2fd0e909 100644
--- a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
+++ b/src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp b/src/backends/ClWorkloads/ClFullyConnectedWorkload.hpp
index a61610992e..a61610992e 100644
--- a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp
+++ b/src/backends/ClWorkloads/ClFullyConnectedWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
index 4ccaae3430..4ccaae3430 100644
--- a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp b/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp
index f3f7de110a..f3f7de110a 100644
--- a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp b/src/backends/ClWorkloads/ClLstmFloatWorkload.cpp
index 09a34c2d02..09a34c2d02 100644
--- a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClLstmFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp b/src/backends/ClWorkloads/ClLstmFloatWorkload.hpp
index 61d8fc3e6c..61d8fc3e6c 100644
--- a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClLstmFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp b/src/backends/ClWorkloads/ClMergerFloatWorkload.cpp
index 151f1e0ee7..151f1e0ee7 100644
--- a/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClMergerFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.hpp b/src/backends/ClWorkloads/ClMergerFloatWorkload.hpp
index 9782f7a8f3..9782f7a8f3 100644
--- a/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClMergerFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp b/src/backends/ClWorkloads/ClMergerUint8Workload.cpp
index 9d1060d857..9d1060d857 100644
--- a/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp
+++ b/src/backends/ClWorkloads/ClMergerUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.hpp b/src/backends/ClWorkloads/ClMergerUint8Workload.hpp
index cbfc19a0f2..cbfc19a0f2 100644
--- a/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.hpp
+++ b/src/backends/ClWorkloads/ClMergerUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp b/src/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp
index c3330a98e8..c3330a98e8 100644
--- a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp b/src/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp
index c2d6b7697a..c2d6b7697a 100644
--- a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
index d2625354ef..d2625354ef 100644
--- a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp b/src/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp
index f02d0adb70..f02d0adb70 100644
--- a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp b/src/backends/ClWorkloads/ClPermuteWorkload.cpp
index 29d98bf0eb..29d98bf0eb 100644
--- a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp
+++ b/src/backends/ClWorkloads/ClPermuteWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp b/src/backends/ClWorkloads/ClPermuteWorkload.hpp
index a1f3161921..a1f3161921 100644
--- a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp
+++ b/src/backends/ClWorkloads/ClPermuteWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp b/src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp
index a1ee50b39f..a1ee50b39f 100644
--- a/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp
+++ b/src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp b/src/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp
index ea7ddfb41b..ea7ddfb41b 100644
--- a/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp
+++ b/src/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp b/src/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp
index dc9d17f0ae..dc9d17f0ae 100644
--- a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp b/src/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp
index 71648d40f4..71648d40f4 100644
--- a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp b/src/backends/ClWorkloads/ClPooling2dUint8Workload.cpp
index 0b4b15f806..0b4b15f806 100644
--- a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp
+++ b/src/backends/ClWorkloads/ClPooling2dUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp b/src/backends/ClWorkloads/ClPooling2dUint8Workload.hpp
index 2baf2aa708..2baf2aa708 100644
--- a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp
+++ b/src/backends/ClWorkloads/ClPooling2dUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp b/src/backends/ClWorkloads/ClReshapeFloatWorkload.cpp
index ea50436a66..ea50436a66 100644
--- a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClReshapeFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp b/src/backends/ClWorkloads/ClReshapeFloatWorkload.hpp
index 48265143e5..48265143e5 100644
--- a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClReshapeFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp b/src/backends/ClWorkloads/ClReshapeUint8Workload.cpp
index 82bd93ef9c..82bd93ef9c 100644
--- a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp
+++ b/src/backends/ClWorkloads/ClReshapeUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp b/src/backends/ClWorkloads/ClReshapeUint8Workload.hpp
index c9801a3ae1..c9801a3ae1 100644
--- a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp
+++ b/src/backends/ClWorkloads/ClReshapeUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp b/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
index 8348afb76a..8348afb76a 100644
--- a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp b/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp
index f2ee67f5dd..f2ee67f5dd 100644
--- a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp b/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
index b4ea236d49..b4ea236d49 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
+++ b/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp b/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp
index b800056cdf..b800056cdf 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp
+++ b/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp b/src/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp
index c34b5a2a74..c34b5a2a74 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp b/src/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp
index 965b845cf8..965b845cf8 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp b/src/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp
index 1bb9628d74..1bb9628d74 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp
+++ b/src/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp b/src/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp
index 29427a5976..29427a5976 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp
+++ b/src/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp b/src/backends/ClWorkloads/ClSplitterFloatWorkload.cpp
index 5fd634bdb6..5fd634bdb6 100644
--- a/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClSplitterFloatWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.hpp b/src/backends/ClWorkloads/ClSplitterFloatWorkload.hpp
index a0b5846f8e..a0b5846f8e 100644
--- a/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.hpp
+++ b/src/backends/ClWorkloads/ClSplitterFloatWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp b/src/backends/ClWorkloads/ClSplitterUint8Workload.cpp
index 50a251ada7..50a251ada7 100644
--- a/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp
+++ b/src/backends/ClWorkloads/ClSplitterUint8Workload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.hpp b/src/backends/ClWorkloads/ClSplitterUint8Workload.hpp
index 19e8be5034..19e8be5034 100644
--- a/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.hpp
+++ b/src/backends/ClWorkloads/ClSplitterUint8Workload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp b/src/backends/ClWorkloads/ClSubtractionWorkload.cpp
index 1c70130fa4..1c70130fa4 100644
--- a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp
+++ b/src/backends/ClWorkloads/ClSubtractionWorkload.cpp
diff --git a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp b/src/backends/ClWorkloads/ClSubtractionWorkload.hpp
index 59a5f01e73..59a5f01e73 100644
--- a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp
+++ b/src/backends/ClWorkloads/ClSubtractionWorkload.hpp
diff --git a/src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp b/src/backends/ClWorkloads/ClWorkloadUtils.hpp
index 6f1b155745..6f1b155745 100644
--- a/src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp
+++ b/src/backends/ClWorkloads/ClWorkloadUtils.hpp
diff --git a/src/backends/ClWorkloads/backend.cmake b/src/backends/ClWorkloads/backend.cmake
new file mode 100644
index 0000000000..6f8eda1628
--- /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
index 1a264531e5..1a264531e5 100644
--- a/src/armnn/backends/CpuTensorHandle.cpp
+++ b/src/backends/CpuTensorHandle.cpp
diff --git a/src/armnn/backends/CpuTensorHandle.hpp b/src/backends/CpuTensorHandle.hpp
index 541beefde6..541beefde6 100644
--- a/src/armnn/backends/CpuTensorHandle.hpp
+++ b/src/backends/CpuTensorHandle.hpp
diff --git a/src/armnn/backends/CpuTensorHandleFwd.hpp b/src/backends/CpuTensorHandleFwd.hpp
index d439d0bbe6..d439d0bbe6 100644
--- a/src/armnn/backends/CpuTensorHandleFwd.hpp
+++ b/src/backends/CpuTensorHandleFwd.hpp
diff --git a/src/armnn/backends/ITensorHandle.hpp b/src/backends/ITensorHandle.hpp
index 02f4ed6e5a..02f4ed6e5a 100644
--- a/src/armnn/backends/ITensorHandle.hpp
+++ b/src/backends/ITensorHandle.hpp
diff --git a/src/armnn/backends/MakeWorkloadHelper.hpp b/src/backends/MakeWorkloadHelper.hpp
index 281a65a21e..281a65a21e 100644
--- a/src/armnn/backends/MakeWorkloadHelper.hpp
+++ b/src/backends/MakeWorkloadHelper.hpp
diff --git a/src/armnn/backends/MemCopyWorkload.cpp b/src/backends/MemCopyWorkload.cpp
index 75271a09de..75271a09de 100644
--- a/src/armnn/backends/MemCopyWorkload.cpp
+++ b/src/backends/MemCopyWorkload.cpp
diff --git a/src/armnn/backends/MemCopyWorkload.hpp b/src/backends/MemCopyWorkload.hpp
index 5227f32c9f..5227f32c9f 100644
--- a/src/armnn/backends/MemCopyWorkload.hpp
+++ b/src/backends/MemCopyWorkload.hpp
diff --git a/src/armnn/backends/NeonLayerSupport.cpp b/src/backends/NeonLayerSupport.cpp
index 30956dfba0..30956dfba0 100644
--- a/src/armnn/backends/NeonLayerSupport.cpp
+++ b/src/backends/NeonLayerSupport.cpp
diff --git a/src/armnn/backends/NeonLayerSupport.hpp b/src/backends/NeonLayerSupport.hpp
index 95b14b3ba6..95b14b3ba6 100644
--- a/src/armnn/backends/NeonLayerSupport.hpp
+++ b/src/backends/NeonLayerSupport.hpp
diff --git a/src/armnn/backends/NeonTensorHandle.hpp b/src/backends/NeonTensorHandle.hpp
index e385c83967..e385c83967 100644
--- a/src/armnn/backends/NeonTensorHandle.hpp
+++ b/src/backends/NeonTensorHandle.hpp
diff --git a/src/armnn/backends/NeonWorkloadFactory.cpp b/src/backends/NeonWorkloadFactory.cpp
index 80ce0b918e..80ce0b918e 100644
--- a/src/armnn/backends/NeonWorkloadFactory.cpp
+++ b/src/backends/NeonWorkloadFactory.cpp
diff --git a/src/armnn/backends/NeonWorkloadFactory.hpp b/src/backends/NeonWorkloadFactory.hpp
index a981855314..a981855314 100644
--- a/src/armnn/backends/NeonWorkloadFactory.hpp
+++ b/src/backends/NeonWorkloadFactory.hpp
diff --git a/src/armnn/backends/NeonWorkloadUtils.cpp b/src/backends/NeonWorkloadUtils.cpp
index 010299f3b3..878280161a 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
index 15f9e3badf..15f9e3badf 100644
--- a/src/armnn/backends/NeonWorkloadUtils.hpp
+++ b/src/backends/NeonWorkloadUtils.hpp
diff --git a/src/armnn/backends/NeonWorkloads.hpp b/src/backends/NeonWorkloads.hpp
index 676c23cc4d..676c23cc4d 100644
--- a/src/armnn/backends/NeonWorkloads.hpp
+++ b/src/backends/NeonWorkloads.hpp
diff --git a/src/backends/NeonWorkloads/CMakeLists.txt b/src/backends/NeonWorkloads/CMakeLists.txt
new file mode 100644
index 0000000000..02cb53dff1
--- /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
index bedf3dcb02..bedf3dcb02 100644
--- a/src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp
index f8d25ca47d..f8d25ca47d 100644
--- a/src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.cpp b/src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
index a9b94d2916..a9b94d2916 100644
--- a/src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.hpp b/src/backends/NeonWorkloads/NeonActivationUint8Workload.hpp
index 405e600691..405e600691 100644
--- a/src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.hpp
+++ b/src/backends/NeonWorkloads/NeonActivationUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp
index adc34e91c4..adc34e91c4 100644
--- a/src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp
index 154e4f33d1..154e4f33d1 100644
--- a/src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp b/src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
index f4a09d4aed..f4a09d4aed 100644
--- a/src/armnn/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp b/src/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp
index 603e7f3544..603e7f3544 100644
--- a/src/armnn/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp b/src/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp
index 9288d4427e..9288d4427e 100644
--- a/src/armnn/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp
index f47dc0498a..6f5c948084 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
index 7982541748..7982541748 100644
--- a/src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp
index dbdd057101..dbdd057101 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp
index c35b5fda3e..c35b5fda3e 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.cpp b/src/backends/NeonWorkloads/NeonConstantUint8Workload.cpp
index c607d86844..c607d86844 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonConstantUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.hpp b/src/backends/NeonWorkloads/NeonConstantUint8Workload.hpp
index 2cb9516afe..2cb9516afe 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.hpp
+++ b/src/backends/NeonWorkloads/NeonConstantUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp b/src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp
index 86ec31c71d..86ec31c71d 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp b/src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp
index d70401b5f2..d70401b5f2 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp
+++ b/src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp b/src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp
index 0f4fbe4e93..0f4fbe4e93 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp b/src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp
index eb839fdd9d..eb839fdd9d 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp
+++ b/src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
index 0e9894ce78..0e9894ce78 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
index 77d90cd84b..77d90cd84b 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
index ca7a0c575a..ca7a0c575a 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp
index dd8ef55f43..dd8ef55f43 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp b/src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp
index 5affe682b4..5affe682b4 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp b/src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp
index ef60fc3e84..ef60fc3e84 100644
--- a/src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp
+++ b/src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp
index e79e14f2ed..e79e14f2ed 100644
--- a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp
index eec432be86..eec432be86 100644
--- a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
index 1ec1417a58..1ec1417a58 100644
--- a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp
index 4ec8c1dc37..4ec8c1dc37 100644
--- a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
index b7813a59c5..b7813a59c5 100644
--- a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp
index a0be512f9b..a0be512f9b 100644
--- a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp
+++ b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp
index a08ba8a6ec..a08ba8a6ec 100644
--- a/src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp
index ad9f44bbf9..ad9f44bbf9 100644
--- a/src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp
index 2036ecb203..2036ecb203 100644
--- a/src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp
index 27e5717b04..27e5717b04 100644
--- a/src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp
index 7296e67179..7296e67179 100644
--- a/src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp
index 078c4d140f..078c4d140f 100644
--- a/src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp
index 8b2b58d9b1..8b2b58d9b1 100644
--- a/src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp
index 6064a017f9..6064a017f9 100644
--- a/src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp
index 79039aa51a..79039aa51a 100644
--- a/src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp
index e7088b8c2f..e7088b8c2f 100644
--- a/src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.cpp b/src/backends/NeonWorkloads/NeonMergerUint8Workload.cpp
index 3989702bd3..3989702bd3 100644
--- a/src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonMergerUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.hpp b/src/backends/NeonWorkloads/NeonMergerUint8Workload.hpp
index 73c0fd55ad..73c0fd55ad 100644
--- a/src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.hpp
+++ b/src/backends/NeonWorkloads/NeonMergerUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp
index c4241ece19..c4241ece19 100644
--- a/src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp
index 4b187b2d42..4b187b2d42 100644
--- a/src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
index 4534c376d8..4534c376d8 100644
--- a/src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp
index 633944ddc9..633944ddc9 100644
--- a/src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.cpp b/src/backends/NeonWorkloads/NeonPermuteWorkload.cpp
index 9bc76ba853..9bc76ba853 100644
--- a/src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonPermuteWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.hpp b/src/backends/NeonWorkloads/NeonPermuteWorkload.hpp
index 1fe05b1645..1fe05b1645 100644
--- a/src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonPermuteWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
index 208d08c4c5..208d08c4c5 100644
--- a/src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp
index 77d6bf2f06..77d6bf2f06 100644
--- a/src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp
index 46996b088c..46996b088c 100644
--- a/src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp
index 78a35748bb..78a35748bb 100644
--- a/src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp b/src/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp
index 8f99a2be86..8f99a2be86 100644
--- a/src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp b/src/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp
index d475c5f721..d475c5f721 100644
--- a/src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp
+++ b/src/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp
index 2dae9466bb..2dae9466bb 100644
--- a/src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp
index 066765adeb..066765adeb 100644
--- a/src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp b/src/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp
index 41aa07fe49..41aa07fe49 100644
--- a/src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp b/src/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp
index 3f7c470323..3f7c470323 100644
--- a/src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp
+++ b/src/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp
index ca9e4f058d..ca9e4f058d 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp
index 24910df7c7..24910df7c7 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp
index 92e5139c1a..92e5139c1a 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp
index 47745c658f..47745c658f 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp b/src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp
index cff869c9b7..cff869c9b7 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp b/src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp
index f894c5a958..f894c5a958 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp
+++ b/src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp
index 39ed5b7cbc..39ed5b7cbc 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp
index 744a4fe216..744a4fe216 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp b/src/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp
index 4b2cf8fc91..4b2cf8fc91 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp b/src/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp
index f219cfaa7d..f219cfaa7d 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp
+++ b/src/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp
index 3f37d82d22..3f37d82d22 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp
diff --git a/src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp
index 18988a35ca..18988a35ca 100644
--- a/src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp
diff --git a/src/backends/NeonWorkloads/backend.cmake b/src/backends/NeonWorkloads/backend.cmake
new file mode 100644
index 0000000000..f0908c5496
--- /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
index c1be5b7dc4..c1be5b7dc4 100644
--- a/src/armnn/backends/OutputHandler.cpp
+++ b/src/backends/OutputHandler.cpp
diff --git a/src/armnn/backends/OutputHandler.hpp b/src/backends/OutputHandler.hpp
index dfc01844c9..dfc01844c9 100644
--- a/src/armnn/backends/OutputHandler.hpp
+++ b/src/backends/OutputHandler.hpp
diff --git a/src/armnn/backends/RefLayerSupport.cpp b/src/backends/RefLayerSupport.cpp
index d56cdebeda..d56cdebeda 100644
--- a/src/armnn/backends/RefLayerSupport.cpp
+++ b/src/backends/RefLayerSupport.cpp
diff --git a/src/armnn/backends/RefLayerSupport.hpp b/src/backends/RefLayerSupport.hpp
index ff2e7e387f..ff2e7e387f 100644
--- a/src/armnn/backends/RefLayerSupport.hpp
+++ b/src/backends/RefLayerSupport.hpp
diff --git a/src/armnn/backends/RefWorkloadFactory.cpp b/src/backends/RefWorkloadFactory.cpp
index 93b4d946c4..93b4d946c4 100644
--- a/src/armnn/backends/RefWorkloadFactory.cpp
+++ b/src/backends/RefWorkloadFactory.cpp
diff --git a/src/armnn/backends/RefWorkloadFactory.hpp b/src/backends/RefWorkloadFactory.hpp
index 6b13377167..6b13377167 100644
--- a/src/armnn/backends/RefWorkloadFactory.hpp
+++ b/src/backends/RefWorkloadFactory.hpp
diff --git a/src/armnn/backends/RefWorkloads.hpp b/src/backends/RefWorkloads.hpp
index 746a59e71f..746a59e71f 100644
--- a/src/armnn/backends/RefWorkloads.hpp
+++ b/src/backends/RefWorkloads.hpp
diff --git a/src/armnn/backends/RefWorkloads/Activation.cpp b/src/backends/RefWorkloads/Activation.cpp
index ef4903074b..ef4903074b 100644
--- a/src/armnn/backends/RefWorkloads/Activation.cpp
+++ b/src/backends/RefWorkloads/Activation.cpp
diff --git a/src/armnn/backends/RefWorkloads/Activation.hpp b/src/backends/RefWorkloads/Activation.hpp
index c8a23114f0..c8a23114f0 100644
--- a/src/armnn/backends/RefWorkloads/Activation.hpp
+++ b/src/backends/RefWorkloads/Activation.hpp
diff --git a/src/armnn/backends/RefWorkloads/ArithmeticFunction.cpp b/src/backends/RefWorkloads/ArithmeticFunction.cpp
index fede138253..fede138253 100644
--- a/src/armnn/backends/RefWorkloads/ArithmeticFunction.cpp
+++ b/src/backends/RefWorkloads/ArithmeticFunction.cpp
diff --git a/src/armnn/backends/RefWorkloads/ArithmeticFunction.hpp b/src/backends/RefWorkloads/ArithmeticFunction.hpp
index eafb6444f6..eafb6444f6 100644
--- a/src/armnn/backends/RefWorkloads/ArithmeticFunction.hpp
+++ b/src/backends/RefWorkloads/ArithmeticFunction.hpp
diff --git a/src/armnn/backends/RefWorkloads/BatchNormImpl.hpp b/src/backends/RefWorkloads/BatchNormImpl.hpp
index a7579c8373..a7579c8373 100644
--- a/src/armnn/backends/RefWorkloads/BatchNormImpl.hpp
+++ b/src/backends/RefWorkloads/BatchNormImpl.hpp
diff --git a/src/armnn/backends/RefWorkloads/Broadcast.cpp b/src/backends/RefWorkloads/Broadcast.cpp
index 8421a0a7ed..8421a0a7ed 100644
--- a/src/armnn/backends/RefWorkloads/Broadcast.cpp
+++ b/src/backends/RefWorkloads/Broadcast.cpp
diff --git a/src/armnn/backends/RefWorkloads/Broadcast.hpp b/src/backends/RefWorkloads/Broadcast.hpp
index e92ed0598d..e92ed0598d 100644
--- a/src/armnn/backends/RefWorkloads/Broadcast.hpp
+++ b/src/backends/RefWorkloads/Broadcast.hpp
diff --git a/src/backends/RefWorkloads/CMakeLists.txt b/src/backends/RefWorkloads/CMakeLists.txt
new file mode 100644
index 0000000000..0f4bfe129f
--- /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
index 8743a2bd0d..8743a2bd0d 100644
--- a/src/armnn/backends/RefWorkloads/ConvImpl.cpp
+++ b/src/backends/RefWorkloads/ConvImpl.cpp
diff --git a/src/armnn/backends/RefWorkloads/ConvImpl.hpp b/src/backends/RefWorkloads/ConvImpl.hpp
index 4c9ab2a644..4c9ab2a644 100644
--- a/src/armnn/backends/RefWorkloads/ConvImpl.hpp
+++ b/src/backends/RefWorkloads/ConvImpl.hpp
diff --git a/src/armnn/backends/RefWorkloads/FullyConnected.cpp b/src/backends/RefWorkloads/FullyConnected.cpp
index bf5814d2ad..bf5814d2ad 100644
--- a/src/armnn/backends/RefWorkloads/FullyConnected.cpp
+++ b/src/backends/RefWorkloads/FullyConnected.cpp
diff --git a/src/armnn/backends/RefWorkloads/FullyConnected.hpp b/src/backends/RefWorkloads/FullyConnected.hpp
index 623259f8f8..623259f8f8 100644
--- a/src/armnn/backends/RefWorkloads/FullyConnected.hpp
+++ b/src/backends/RefWorkloads/FullyConnected.hpp
diff --git a/src/armnn/backends/RefWorkloads/Merger.hpp b/src/backends/RefWorkloads/Merger.hpp
index 867925faa2..867925faa2 100644
--- a/src/armnn/backends/RefWorkloads/Merger.hpp
+++ b/src/backends/RefWorkloads/Merger.hpp
diff --git a/src/armnn/backends/RefWorkloads/Pooling2d.cpp b/src/backends/RefWorkloads/Pooling2d.cpp
index 5812a290e7..5812a290e7 100644
--- a/src/armnn/backends/RefWorkloads/Pooling2d.cpp
+++ b/src/backends/RefWorkloads/Pooling2d.cpp
diff --git a/src/armnn/backends/RefWorkloads/Pooling2d.hpp b/src/backends/RefWorkloads/Pooling2d.hpp
index da56b25c4e..da56b25c4e 100644
--- a/src/armnn/backends/RefWorkloads/Pooling2d.hpp
+++ b/src/backends/RefWorkloads/Pooling2d.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.cpp b/src/backends/RefWorkloads/RefActivationFloat32Workload.cpp
index 3cc59be7a4..3cc59be7a4 100644
--- a/src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefActivationFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.hpp b/src/backends/RefWorkloads/RefActivationFloat32Workload.hpp
index 0de33f02ff..0de33f02ff 100644
--- a/src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefActivationFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefActivationUint8Workload.cpp b/src/backends/RefWorkloads/RefActivationUint8Workload.cpp
index b95c2e22a8..b95c2e22a8 100644
--- a/src/armnn/backends/RefWorkloads/RefActivationUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefActivationUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefActivationUint8Workload.hpp b/src/backends/RefWorkloads/RefActivationUint8Workload.hpp
index f38888a9f7..f38888a9f7 100644
--- a/src/armnn/backends/RefWorkloads/RefActivationUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefActivationUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefArithmeticWorkload.cpp b/src/backends/RefWorkloads/RefArithmeticWorkload.cpp
index 6c39fa1186..6c39fa1186 100644
--- a/src/armnn/backends/RefWorkloads/RefArithmeticWorkload.cpp
+++ b/src/backends/RefWorkloads/RefArithmeticWorkload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefArithmeticWorkload.hpp b/src/backends/RefWorkloads/RefArithmeticWorkload.hpp
index 7197b7a883..7197b7a883 100644
--- a/src/armnn/backends/RefWorkloads/RefArithmeticWorkload.hpp
+++ b/src/backends/RefWorkloads/RefArithmeticWorkload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.cpp b/src/backends/RefWorkloads/RefBaseConstantWorkload.cpp
index 647677b4fb..647677b4fb 100644
--- a/src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.cpp
+++ b/src/backends/RefWorkloads/RefBaseConstantWorkload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.hpp b/src/backends/RefWorkloads/RefBaseConstantWorkload.hpp
index 8dc9fd6104..8dc9fd6104 100644
--- a/src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.hpp
+++ b/src/backends/RefWorkloads/RefBaseConstantWorkload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp
index 313af9c438..313af9c438 100644
--- a/src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp
index 15c843c2ca..15c843c2ca 100644
--- a/src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp b/src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp
index e248ad4b9d..e248ad4b9d 100644
--- a/src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp b/src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp
index d3e8e0a120..d3e8e0a120 100644
--- a/src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.cpp b/src/backends/RefWorkloads/RefConstantFloat32Workload.cpp
index 074e8ccaae..074e8ccaae 100644
--- a/src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefConstantFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.hpp b/src/backends/RefWorkloads/RefConstantFloat32Workload.hpp
index 76e3a42026..76e3a42026 100644
--- a/src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefConstantFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConstantUint8Workload.cpp b/src/backends/RefWorkloads/RefConstantUint8Workload.cpp
index 07e4719d54..07e4719d54 100644
--- a/src/armnn/backends/RefWorkloads/RefConstantUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefConstantUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConstantUint8Workload.hpp b/src/backends/RefWorkloads/RefConstantUint8Workload.hpp
index 02552ac80b..02552ac80b 100644
--- a/src/armnn/backends/RefWorkloads/RefConstantUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefConstantUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp b/src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp
index e148bf6a9d..e148bf6a9d 100644
--- a/src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp
+++ b/src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp b/src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp
index 5e841ba34f..5e841ba34f 100644
--- a/src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp
+++ b/src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp b/src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp
index efaaf8e1ad..efaaf8e1ad 100644
--- a/src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp
+++ b/src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp b/src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp
index 0754fd5c79..0754fd5c79 100644
--- a/src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp
+++ b/src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp b/src/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp
index 20905646d7..20905646d7 100644
--- a/src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp b/src/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp
index 34489e807c..34489e807c 100644
--- a/src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp b/src/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp
index 881e9bf6b0..881e9bf6b0 100644
--- a/src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp b/src/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp
index 0e2dd6aada..0e2dd6aada 100644
--- a/src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp
index e89013b9bd..e89013b9bd 100644
--- a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp
index 8f1227e2de..8f1227e2de 100644
--- a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp
index e8e501d6ae..e8e501d6ae 100644
--- a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp
index c615cf7880..c615cf7880 100644
--- a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp
index 3e16f60b11..3e16f60b11 100644
--- a/src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp
index 523fdcff50..523fdcff50 100644
--- a/src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.cpp b/src/backends/RefWorkloads/RefFloorFloat32Workload.cpp
index cc1f8800dc..cc1f8800dc 100644
--- a/src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefFloorFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.hpp b/src/backends/RefWorkloads/RefFloorFloat32Workload.hpp
index d7cfa50365..d7cfa50365 100644
--- a/src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefFloorFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp b/src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp
index ccaf4cd87b..ccaf4cd87b 100644
--- a/src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp b/src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp
index ce058690ac..ce058690ac 100644
--- a/src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp b/src/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp
index cd785d786c..cd785d786c 100644
--- a/src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp b/src/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp
index e489cc7d81..e489cc7d81 100644
--- a/src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp
index 973c87b009..973c87b009 100644
--- a/src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp
index a3f03f3060..a3f03f3060 100644
--- a/src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.cpp b/src/backends/RefWorkloads/RefLstmFloat32Workload.cpp
index 50ff605701..50ff605701 100644
--- a/src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefLstmFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.hpp b/src/backends/RefWorkloads/RefLstmFloat32Workload.hpp
index fc4f7776c6..fc4f7776c6 100644
--- a/src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefLstmFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.cpp b/src/backends/RefWorkloads/RefMergerFloat32Workload.cpp
index b1f8a32ee7..b1f8a32ee7 100644
--- a/src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefMergerFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.hpp b/src/backends/RefWorkloads/RefMergerFloat32Workload.hpp
index 23a523c852..23a523c852 100644
--- a/src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefMergerFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefMergerUint8Workload.cpp b/src/backends/RefWorkloads/RefMergerUint8Workload.cpp
index 47ce1cf731..47ce1cf731 100644
--- a/src/armnn/backends/RefWorkloads/RefMergerUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefMergerUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefMergerUint8Workload.hpp b/src/backends/RefWorkloads/RefMergerUint8Workload.hpp
index 65dc42120a..65dc42120a 100644
--- a/src/armnn/backends/RefWorkloads/RefMergerUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefMergerUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp
index 5c24416624..5c24416624 100644
--- a/src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp
index e30356c422..e30356c422 100644
--- a/src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefPermuteWorkload.cpp b/src/backends/RefWorkloads/RefPermuteWorkload.cpp
index 4093ff38f4..4093ff38f4 100644
--- a/src/armnn/backends/RefWorkloads/RefPermuteWorkload.cpp
+++ b/src/backends/RefWorkloads/RefPermuteWorkload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefPermuteWorkload.hpp b/src/backends/RefWorkloads/RefPermuteWorkload.hpp
index d72cf77e74..d72cf77e74 100644
--- a/src/armnn/backends/RefWorkloads/RefPermuteWorkload.hpp
+++ b/src/backends/RefWorkloads/RefPermuteWorkload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp b/src/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp
index 2542756c26..2542756c26 100644
--- a/src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp b/src/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp
index 501fb71aff..501fb71aff 100644
--- a/src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.cpp b/src/backends/RefWorkloads/RefPooling2dUint8Workload.cpp
index 91fdf291ee..91fdf291ee 100644
--- a/src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefPooling2dUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.hpp b/src/backends/RefWorkloads/RefPooling2dUint8Workload.hpp
index 6544f9a785..6544f9a785 100644
--- a/src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefPooling2dUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.cpp b/src/backends/RefWorkloads/RefReshapeFloat32Workload.cpp
index 99c94a49a1..99c94a49a1 100644
--- a/src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefReshapeFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.hpp b/src/backends/RefWorkloads/RefReshapeFloat32Workload.hpp
index 9281e89cf7..9281e89cf7 100644
--- a/src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefReshapeFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.cpp b/src/backends/RefWorkloads/RefReshapeUint8Workload.cpp
index 8f475f3db3..8f475f3db3 100644
--- a/src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefReshapeUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.hpp b/src/backends/RefWorkloads/RefReshapeUint8Workload.hpp
index b37fb4bdeb..b37fb4bdeb 100644
--- a/src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefReshapeUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp b/src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp
index 50ee7a218a..50ee7a218a 100644
--- a/src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp b/src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp
index 0fff7ee695..0fff7ee695 100644
--- a/src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp b/src/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp
index 67ab039ef3..67ab039ef3 100644
--- a/src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp b/src/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp
index bbaf899ca6..bbaf899ca6 100644
--- a/src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp b/src/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp
index 1f519bda10..1f519bda10 100644
--- a/src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp b/src/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp
index d37f2b5990..d37f2b5990 100644
--- a/src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp b/src/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp
index 17114ec83a..17114ec83a 100644
--- a/src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp b/src/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp
index b179d529da..b179d529da 100644
--- a/src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.cpp b/src/backends/RefWorkloads/RefSplitterFloat32Workload.cpp
index 75611dacf3..75611dacf3 100644
--- a/src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.cpp
+++ b/src/backends/RefWorkloads/RefSplitterFloat32Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.hpp b/src/backends/RefWorkloads/RefSplitterFloat32Workload.hpp
index 12176dd277..12176dd277 100644
--- a/src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.hpp
+++ b/src/backends/RefWorkloads/RefSplitterFloat32Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.cpp b/src/backends/RefWorkloads/RefSplitterUint8Workload.cpp
index ca9f5db850..ca9f5db850 100644
--- a/src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.cpp
+++ b/src/backends/RefWorkloads/RefSplitterUint8Workload.cpp
diff --git a/src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.hpp b/src/backends/RefWorkloads/RefSplitterUint8Workload.hpp
index e80cb1a654..e80cb1a654 100644
--- a/src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.hpp
+++ b/src/backends/RefWorkloads/RefSplitterUint8Workload.hpp
diff --git a/src/armnn/backends/RefWorkloads/RefWorkloadUtils.hpp b/src/backends/RefWorkloads/RefWorkloadUtils.hpp
index 616a875028..616a875028 100644
--- a/src/armnn/backends/RefWorkloads/RefWorkloadUtils.hpp
+++ b/src/backends/RefWorkloads/RefWorkloadUtils.hpp
diff --git a/src/armnn/backends/RefWorkloads/ResizeBilinear.cpp b/src/backends/RefWorkloads/ResizeBilinear.cpp
index 0bce3c7ed8..0bce3c7ed8 100644
--- a/src/armnn/backends/RefWorkloads/ResizeBilinear.cpp
+++ b/src/backends/RefWorkloads/ResizeBilinear.cpp
diff --git a/src/armnn/backends/RefWorkloads/ResizeBilinear.hpp b/src/backends/RefWorkloads/ResizeBilinear.hpp
index 847b8e8bef..847b8e8bef 100644
--- a/src/armnn/backends/RefWorkloads/ResizeBilinear.hpp
+++ b/src/backends/RefWorkloads/ResizeBilinear.hpp
diff --git a/src/armnn/backends/RefWorkloads/Softmax.cpp b/src/backends/RefWorkloads/Softmax.cpp
index 4f1016e86c..4f1016e86c 100644
--- a/src/armnn/backends/RefWorkloads/Softmax.cpp
+++ b/src/backends/RefWorkloads/Softmax.cpp
diff --git a/src/armnn/backends/RefWorkloads/Softmax.hpp b/src/backends/RefWorkloads/Softmax.hpp
index 3b974f9e9e..3b974f9e9e 100644
--- a/src/armnn/backends/RefWorkloads/Softmax.hpp
+++ b/src/backends/RefWorkloads/Softmax.hpp
diff --git a/src/armnn/backends/RefWorkloads/Splitter.hpp b/src/backends/RefWorkloads/Splitter.hpp
index e9c0379c9e..e9c0379c9e 100644
--- a/src/armnn/backends/RefWorkloads/Splitter.hpp
+++ b/src/backends/RefWorkloads/Splitter.hpp
diff --git a/src/armnn/backends/RefWorkloads/TensorBufferArrayView.hpp b/src/backends/RefWorkloads/TensorBufferArrayView.hpp
index e19810ca87..e19810ca87 100644
--- a/src/armnn/backends/RefWorkloads/TensorBufferArrayView.hpp
+++ b/src/backends/RefWorkloads/TensorBufferArrayView.hpp
diff --git a/src/backends/RefWorkloads/backend.cmake b/src/backends/RefWorkloads/backend.cmake
new file mode 100644
index 0000000000..6fd09eba6c
--- /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
index 3ca8843812..3ca8843812 100644
--- a/src/armnn/backends/StringMapping.cpp
+++ b/src/backends/StringMapping.cpp
diff --git a/src/armnn/backends/StringMapping.hpp b/src/backends/StringMapping.hpp
index 6312e68945..6312e68945 100644
--- a/src/armnn/backends/StringMapping.hpp
+++ b/src/backends/StringMapping.hpp
diff --git a/src/armnn/backends/Workload.hpp b/src/backends/Workload.hpp
index cf9c6f21e5..cf9c6f21e5 100644
--- a/src/armnn/backends/Workload.hpp
+++ b/src/backends/Workload.hpp
diff --git a/src/armnn/backends/WorkloadData.cpp b/src/backends/WorkloadData.cpp
index c5c607d954..c5c607d954 100644
--- a/src/armnn/backends/WorkloadData.cpp
+++ b/src/backends/WorkloadData.cpp
diff --git a/src/armnn/backends/WorkloadData.hpp b/src/backends/WorkloadData.hpp
index b5b0402237..b5b0402237 100644
--- a/src/armnn/backends/WorkloadData.hpp
+++ b/src/backends/WorkloadData.hpp
diff --git a/src/armnn/backends/WorkloadDataCollector.hpp b/src/backends/WorkloadDataCollector.hpp
index ac8c2e2ab9..ac8c2e2ab9 100644
--- a/src/armnn/backends/WorkloadDataCollector.hpp
+++ b/src/backends/WorkloadDataCollector.hpp
diff --git a/src/armnn/backends/WorkloadDataFwd.hpp b/src/backends/WorkloadDataFwd.hpp
index 9ae20e0ce1..9ae20e0ce1 100644
--- a/src/armnn/backends/WorkloadDataFwd.hpp
+++ b/src/backends/WorkloadDataFwd.hpp
diff --git a/src/armnn/backends/WorkloadFactory.cpp b/src/backends/WorkloadFactory.cpp
index 773a8c1a18..773a8c1a18 100644
--- a/src/armnn/backends/WorkloadFactory.cpp
+++ b/src/backends/WorkloadFactory.cpp
diff --git a/src/armnn/backends/WorkloadFactory.hpp b/src/backends/WorkloadFactory.hpp
index fbc6134574..fbc6134574 100644
--- a/src/armnn/backends/WorkloadFactory.hpp
+++ b/src/backends/WorkloadFactory.hpp
diff --git a/src/armnn/backends/WorkloadInfo.hpp b/src/backends/WorkloadInfo.hpp
index 304bc0bf06..304bc0bf06 100644
--- a/src/armnn/backends/WorkloadInfo.hpp
+++ b/src/backends/WorkloadInfo.hpp
diff --git a/src/armnn/backends/WorkloadUtils.hpp b/src/backends/WorkloadUtils.hpp
index 65c58eabd9..65c58eabd9 100644
--- a/src/armnn/backends/WorkloadUtils.hpp
+++ b/src/backends/WorkloadUtils.hpp
diff --git a/src/backends/backends.cmake b/src/backends/backends.cmake
new file mode 100644
index 0000000000..462365c252
--- /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
index d9d4ca7470..d9d4ca7470 100644
--- a/src/armnn/backends/test/ActivationFixture.hpp
+++ b/src/backends/test/ActivationFixture.hpp
diff --git a/src/armnn/backends/test/ActivationTestImpl.hpp b/src/backends/test/ActivationTestImpl.hpp
index a5d327c287..a5d327c287 100644
--- a/src/armnn/backends/test/ActivationTestImpl.hpp
+++ b/src/backends/test/ActivationTestImpl.hpp
diff --git a/src/armnn/backends/test/ArmComputeCl.cpp b/src/backends/test/ArmComputeCl.cpp
index 9a516b6d60..9a516b6d60 100644
--- a/src/armnn/backends/test/ArmComputeCl.cpp
+++ b/src/backends/test/ArmComputeCl.cpp
diff --git a/src/armnn/backends/test/ArmComputeNeon.cpp b/src/backends/test/ArmComputeNeon.cpp
index f1a2cf65bd..f1a2cf65bd 100644
--- a/src/armnn/backends/test/ArmComputeNeon.cpp
+++ b/src/backends/test/ArmComputeNeon.cpp
diff --git a/src/armnn/backends/test/BatchNormTestImpl.hpp b/src/backends/test/BatchNormTestImpl.hpp
index 7126db9074..7126db9074 100644
--- a/src/armnn/backends/test/BatchNormTestImpl.hpp
+++ b/src/backends/test/BatchNormTestImpl.hpp
diff --git a/src/armnn/backends/test/ClContextControlFixture.hpp b/src/backends/test/ClContextControlFixture.hpp
index 54c5a4f505..54c5a4f505 100644
--- a/src/armnn/backends/test/ClContextControlFixture.hpp
+++ b/src/backends/test/ClContextControlFixture.hpp
diff --git a/src/armnn/backends/test/Conv2dTestImpl.hpp b/src/backends/test/Conv2dTestImpl.hpp
index eb7165bf09..eb7165bf09 100644
--- a/src/armnn/backends/test/Conv2dTestImpl.hpp
+++ b/src/backends/test/Conv2dTestImpl.hpp
diff --git a/src/armnn/backends/test/ConvertFp16ToFp32TestImpl.hpp b/src/backends/test/ConvertFp16ToFp32TestImpl.hpp
index b75879dea6..b75879dea6 100644
--- a/src/armnn/backends/test/ConvertFp16ToFp32TestImpl.hpp
+++ b/src/backends/test/ConvertFp16ToFp32TestImpl.hpp
diff --git a/src/armnn/backends/test/ConvertFp32ToFp16TestImpl.hpp b/src/backends/test/ConvertFp32ToFp16TestImpl.hpp
index 1325b4b054..1325b4b054 100644
--- a/src/armnn/backends/test/ConvertFp32ToFp16TestImpl.hpp
+++ b/src/backends/test/ConvertFp32ToFp16TestImpl.hpp
diff --git a/src/armnn/backends/test/CreateWorkloadCl.cpp b/src/backends/test/CreateWorkloadCl.cpp
index af3192cae2..af3192cae2 100644
--- a/src/armnn/backends/test/CreateWorkloadCl.cpp
+++ b/src/backends/test/CreateWorkloadCl.cpp
diff --git a/src/armnn/backends/test/CreateWorkloadNeon.cpp b/src/backends/test/CreateWorkloadNeon.cpp
index fbe064e1c4..fbe064e1c4 100644
--- a/src/armnn/backends/test/CreateWorkloadNeon.cpp
+++ b/src/backends/test/CreateWorkloadNeon.cpp
diff --git a/src/armnn/backends/test/CreateWorkloadRef.cpp b/src/backends/test/CreateWorkloadRef.cpp
index 41419dafd0..41419dafd0 100644
--- a/src/armnn/backends/test/CreateWorkloadRef.cpp
+++ b/src/backends/test/CreateWorkloadRef.cpp
diff --git a/src/armnn/backends/test/FullyConnectedTestImpl.hpp b/src/backends/test/FullyConnectedTestImpl.hpp
index 125b7e62b1..125b7e62b1 100644
--- a/src/armnn/backends/test/FullyConnectedTestImpl.hpp
+++ b/src/backends/test/FullyConnectedTestImpl.hpp
diff --git a/src/armnn/backends/test/IsLayerSupportedTest.cpp b/src/backends/test/IsLayerSupportedTest.cpp
index 97d3de5e38..97d3de5e38 100644
--- a/src/armnn/backends/test/IsLayerSupportedTest.cpp
+++ b/src/backends/test/IsLayerSupportedTest.cpp
diff --git a/src/armnn/backends/test/IsLayerSupportedTestImpl.hpp b/src/backends/test/IsLayerSupportedTestImpl.hpp
index c5389df06e..c5389df06e 100644
--- a/src/armnn/backends/test/IsLayerSupportedTestImpl.hpp
+++ b/src/backends/test/IsLayerSupportedTestImpl.hpp
diff --git a/src/armnn/backends/test/LayerReleaseConstantDataTest.cpp b/src/backends/test/LayerReleaseConstantDataTest.cpp
index 7566c72352..7566c72352 100644
--- a/src/armnn/backends/test/LayerReleaseConstantDataTest.cpp
+++ b/src/backends/test/LayerReleaseConstantDataTest.cpp
diff --git a/src/armnn/backends/test/LayerTests.cpp b/src/backends/test/LayerTests.cpp
index 4dcc36fdb2..4dcc36fdb2 100644
--- a/src/armnn/backends/test/LayerTests.cpp
+++ b/src/backends/test/LayerTests.cpp
diff --git a/src/armnn/backends/test/LayerTests.hpp b/src/backends/test/LayerTests.hpp
index 365a1f53d4..365a1f53d4 100644
--- a/src/armnn/backends/test/LayerTests.hpp
+++ b/src/backends/test/LayerTests.hpp
diff --git a/src/armnn/backends/test/LstmTestImpl.hpp b/src/backends/test/LstmTestImpl.hpp
index 2c4e166084..2c4e166084 100644
--- a/src/armnn/backends/test/LstmTestImpl.hpp
+++ b/src/backends/test/LstmTestImpl.hpp
diff --git a/src/armnn/backends/test/MemCopyTests.cpp b/src/backends/test/MemCopyTests.cpp
index 44089c9d65..44089c9d65 100644
--- a/src/armnn/backends/test/MemCopyTests.cpp
+++ b/src/backends/test/MemCopyTests.cpp
diff --git a/src/armnn/backends/test/NormTestImpl.hpp b/src/backends/test/NormTestImpl.hpp
index 2690313655..2690313655 100644
--- a/src/armnn/backends/test/NormTestImpl.hpp
+++ b/src/backends/test/NormTestImpl.hpp
diff --git a/src/armnn/backends/test/PermuteTestImpl.hpp b/src/backends/test/PermuteTestImpl.hpp
index b49c539b2e..b49c539b2e 100644
--- a/src/armnn/backends/test/PermuteTestImpl.hpp
+++ b/src/backends/test/PermuteTestImpl.hpp
diff --git a/src/armnn/backends/test/Pooling2dTestImpl.hpp b/src/backends/test/Pooling2dTestImpl.hpp
index e8c7e86e9d..e8c7e86e9d 100644
--- a/src/armnn/backends/test/Pooling2dTestImpl.hpp
+++ b/src/backends/test/Pooling2dTestImpl.hpp
diff --git a/src/armnn/backends/test/QuantizeHelper.hpp b/src/backends/test/QuantizeHelper.hpp
index bb4e561d59..bb4e561d59 100644
--- a/src/armnn/backends/test/QuantizeHelper.hpp
+++ b/src/backends/test/QuantizeHelper.hpp
diff --git a/src/armnn/backends/test/Reference.cpp b/src/backends/test/Reference.cpp
index 62786a9ec4..62786a9ec4 100644
--- a/src/armnn/backends/test/Reference.cpp
+++ b/src/backends/test/Reference.cpp
diff --git a/src/armnn/backends/test/ReshapeTestImpl.hpp b/src/backends/test/ReshapeTestImpl.hpp
index 5d32d9d3a6..5d32d9d3a6 100644
--- a/src/armnn/backends/test/ReshapeTestImpl.hpp
+++ b/src/backends/test/ReshapeTestImpl.hpp
diff --git a/src/armnn/backends/test/SoftmaxTestImpl.hpp b/src/backends/test/SoftmaxTestImpl.hpp
index 5bc13fa21c..5bc13fa21c 100644
--- a/src/armnn/backends/test/SoftmaxTestImpl.hpp
+++ b/src/backends/test/SoftmaxTestImpl.hpp
diff --git a/src/armnn/backends/test/SplitterTestImpl.hpp b/src/backends/test/SplitterTestImpl.hpp
index 5dcc412d0e..5dcc412d0e 100644
--- a/src/armnn/backends/test/SplitterTestImpl.hpp
+++ b/src/backends/test/SplitterTestImpl.hpp
diff --git a/src/armnn/backends/test/TensorCopyUtils.cpp b/src/backends/test/TensorCopyUtils.cpp
index dc5864b285..dc5864b285 100644
--- a/src/armnn/backends/test/TensorCopyUtils.cpp
+++ b/src/backends/test/TensorCopyUtils.cpp
diff --git a/src/armnn/backends/test/TensorCopyUtils.hpp b/src/backends/test/TensorCopyUtils.hpp
index 0cec839903..0cec839903 100644
--- a/src/armnn/backends/test/TensorCopyUtils.hpp
+++ b/src/backends/test/TensorCopyUtils.hpp
diff --git a/src/armnn/backends/test/WorkloadDataValidation.cpp b/src/backends/test/WorkloadDataValidation.cpp
index a5cfbd1270..a5cfbd1270 100644
--- a/src/armnn/backends/test/WorkloadDataValidation.cpp
+++ b/src/backends/test/WorkloadDataValidation.cpp
diff --git a/src/armnn/backends/test/WorkloadTestUtils.hpp b/src/backends/test/WorkloadTestUtils.hpp
index a7b75309f7..a7b75309f7 100644
--- a/src/armnn/backends/test/WorkloadTestUtils.hpp
+++ b/src/backends/test/WorkloadTestUtils.hpp