From 10b4dfd8e9ccd7a03df7bb053ee1c644cb37f8ab Mon Sep 17 00:00:00 2001 From: David Beck Date: Wed, 19 Sep 2018 12:03:20 +0100 Subject: [PATCH] IVGCVSW-1897 : build infrastructure for the src/backends folder Change-Id: I7ebafb675ccc77ad54d1deb01412a8379a5356bb --- Android.mk | 282 +++++++++-------- CMakeLists.txt | 352 +++------------------ cmake/GlobalConfig.cmake | 3 + src/{armnn => }/backends/ArmComputeTensorUtils.cpp | 0 src/{armnn => }/backends/ArmComputeTensorUtils.hpp | 0 src/{armnn => }/backends/ArmComputeUtils.hpp | 0 src/backends/CMakeLists.txt | 74 +++++ src/{armnn => }/backends/ClContextControl.cpp | 0 src/{armnn => }/backends/ClContextControl.hpp | 0 src/{armnn => }/backends/ClLayerSupport.cpp | 0 src/{armnn => }/backends/ClLayerSupport.hpp | 0 src/{armnn => }/backends/ClTensorHandle.hpp | 0 src/{armnn => }/backends/ClWorkloadFactory.cpp | 0 src/{armnn => }/backends/ClWorkloadFactory.hpp | 0 src/{armnn => }/backends/ClWorkloads.hpp | 0 src/backends/ClWorkloads/CMakeLists.txt | 89 ++++++ .../ClWorkloads/ClActivationFloatWorkload.cpp | 0 .../ClWorkloads/ClActivationFloatWorkload.hpp | 0 .../ClWorkloads/ClActivationUint8Workload.cpp | 0 .../ClWorkloads/ClActivationUint8Workload.hpp | 0 .../backends/ClWorkloads/ClAdditionWorkload.cpp | 0 .../backends/ClWorkloads/ClAdditionWorkload.hpp | 0 .../ClWorkloads/ClBaseConstantWorkload.cpp | 0 .../ClWorkloads/ClBaseConstantWorkload.hpp | 0 .../backends/ClWorkloads/ClBaseMergerWorkload.hpp | 0 .../ClWorkloads/ClBaseSplitterWorkload.hpp | 0 .../ClBatchNormalizationFloatWorkload.cpp | 0 .../ClBatchNormalizationFloatWorkload.hpp | 0 .../ClWorkloads/ClConstantFloatWorkload.cpp | 0 .../ClWorkloads/ClConstantFloatWorkload.hpp | 0 .../ClWorkloads/ClConstantUint8Workload.cpp | 0 .../ClWorkloads/ClConstantUint8Workload.hpp | 0 .../ClWorkloads/ClConvertFp16ToFp32Workload.cpp | 0 .../ClWorkloads/ClConvertFp16ToFp32Workload.hpp | 0 .../ClWorkloads/ClConvertFp32ToFp16Workload.cpp | 0 .../ClWorkloads/ClConvertFp32ToFp16Workload.hpp | 0 .../ClWorkloads/ClConvolution2dBaseWorkload.cpp | 0 .../ClWorkloads/ClConvolution2dBaseWorkload.hpp | 0 .../ClWorkloads/ClConvolution2dFloatWorkload.cpp | 0 .../ClWorkloads/ClConvolution2dFloatWorkload.hpp | 0 .../ClWorkloads/ClConvolution2dUint8Workload.cpp | 0 .../ClWorkloads/ClConvolution2dUint8Workload.hpp | 0 .../ClDepthwiseConvolutionBaseWorkload.cpp | 0 .../ClDepthwiseConvolutionBaseWorkload.hpp | 0 .../ClDepthwiseConvolutionFloatWorkload.cpp | 0 .../ClDepthwiseConvolutionFloatWorkload.hpp | 0 .../ClDepthwiseConvolutionUint8Workload.cpp | 0 .../ClDepthwiseConvolutionUint8Workload.hpp | 0 .../ClWorkloads/ClDivisionFloatWorkload.cpp | 0 .../ClWorkloads/ClDivisionFloatWorkload.hpp | 0 .../backends/ClWorkloads/ClFloorFloatWorkload.cpp | 0 .../backends/ClWorkloads/ClFloorFloatWorkload.hpp | 0 .../ClWorkloads/ClFullyConnectedWorkload.cpp | 0 .../ClWorkloads/ClFullyConnectedWorkload.hpp | 0 .../ClWorkloads/ClL2NormalizationFloatWorkload.cpp | 0 .../ClWorkloads/ClL2NormalizationFloatWorkload.hpp | 0 .../backends/ClWorkloads/ClLstmFloatWorkload.cpp | 0 .../backends/ClWorkloads/ClLstmFloatWorkload.hpp | 0 .../backends/ClWorkloads/ClMergerFloatWorkload.cpp | 0 .../backends/ClWorkloads/ClMergerFloatWorkload.hpp | 0 .../backends/ClWorkloads/ClMergerUint8Workload.cpp | 0 .../backends/ClWorkloads/ClMergerUint8Workload.hpp | 0 .../ClWorkloads/ClMultiplicationFloatWorkload.cpp | 0 .../ClWorkloads/ClMultiplicationFloatWorkload.hpp | 0 .../ClWorkloads/ClNormalizationFloatWorkload.cpp | 0 .../ClWorkloads/ClNormalizationFloatWorkload.hpp | 0 .../backends/ClWorkloads/ClPermuteWorkload.cpp | 0 .../backends/ClWorkloads/ClPermuteWorkload.hpp | 0 .../ClWorkloads/ClPooling2dBaseWorkload.cpp | 0 .../ClWorkloads/ClPooling2dBaseWorkload.hpp | 0 .../ClWorkloads/ClPooling2dFloatWorkload.cpp | 0 .../ClWorkloads/ClPooling2dFloatWorkload.hpp | 0 .../ClWorkloads/ClPooling2dUint8Workload.cpp | 0 .../ClWorkloads/ClPooling2dUint8Workload.hpp | 0 .../ClWorkloads/ClReshapeFloatWorkload.cpp | 0 .../ClWorkloads/ClReshapeFloatWorkload.hpp | 0 .../ClWorkloads/ClReshapeUint8Workload.cpp | 0 .../ClWorkloads/ClReshapeUint8Workload.hpp | 0 .../ClWorkloads/ClResizeBilinearFloatWorkload.cpp | 0 .../ClWorkloads/ClResizeBilinearFloatWorkload.hpp | 0 .../backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp | 0 .../backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp | 0 .../ClWorkloads/ClSoftmaxFloatWorkload.cpp | 0 .../ClWorkloads/ClSoftmaxFloatWorkload.hpp | 0 .../ClWorkloads/ClSoftmaxUint8Workload.cpp | 0 .../ClWorkloads/ClSoftmaxUint8Workload.hpp | 0 .../ClWorkloads/ClSplitterFloatWorkload.cpp | 0 .../ClWorkloads/ClSplitterFloatWorkload.hpp | 0 .../ClWorkloads/ClSplitterUint8Workload.cpp | 0 .../ClWorkloads/ClSplitterUint8Workload.hpp | 0 .../backends/ClWorkloads/ClSubtractionWorkload.cpp | 0 .../backends/ClWorkloads/ClSubtractionWorkload.hpp | 0 .../backends/ClWorkloads/ClWorkloadUtils.hpp | 0 src/backends/ClWorkloads/backend.cmake | 9 + src/{armnn => }/backends/CpuTensorHandle.cpp | 0 src/{armnn => }/backends/CpuTensorHandle.hpp | 0 src/{armnn => }/backends/CpuTensorHandleFwd.hpp | 0 src/{armnn => }/backends/ITensorHandle.hpp | 0 src/{armnn => }/backends/MakeWorkloadHelper.hpp | 0 src/{armnn => }/backends/MemCopyWorkload.cpp | 0 src/{armnn => }/backends/MemCopyWorkload.hpp | 0 src/{armnn => }/backends/NeonLayerSupport.cpp | 0 src/{armnn => }/backends/NeonLayerSupport.hpp | 0 src/{armnn => }/backends/NeonTensorHandle.hpp | 0 src/{armnn => }/backends/NeonWorkloadFactory.cpp | 0 src/{armnn => }/backends/NeonWorkloadFactory.hpp | 0 src/{armnn => }/backends/NeonWorkloadUtils.cpp | 2 +- src/{armnn => }/backends/NeonWorkloadUtils.hpp | 0 src/{armnn => }/backends/NeonWorkloads.hpp | 0 src/backends/NeonWorkloads/CMakeLists.txt | 83 +++++ .../NeonWorkloads/NeonActivationFloatWorkload.cpp | 0 .../NeonWorkloads/NeonActivationFloatWorkload.hpp | 0 .../NeonWorkloads/NeonActivationUint8Workload.cpp | 0 .../NeonWorkloads/NeonActivationUint8Workload.hpp | 0 .../NeonWorkloads/NeonAdditionFloatWorkload.cpp | 0 .../NeonWorkloads/NeonAdditionFloatWorkload.hpp | 0 .../NeonWorkloads/NeonBaseConstantWorkload.hpp | 0 .../NeonWorkloads/NeonBaseMergerWorkload.hpp | 0 .../NeonWorkloads/NeonBaseSplitterWorkload.hpp | 0 .../NeonBatchNormalizationFloatWorkload.cpp | 2 +- .../NeonBatchNormalizationFloatWorkload.hpp | 0 .../NeonWorkloads/NeonConstantFloatWorkload.cpp | 0 .../NeonWorkloads/NeonConstantFloatWorkload.hpp | 0 .../NeonWorkloads/NeonConstantUint8Workload.cpp | 0 .../NeonWorkloads/NeonConstantUint8Workload.hpp | 0 .../NeonConvertFp16ToFp32Workload.cpp | 0 .../NeonConvertFp16ToFp32Workload.hpp | 0 .../NeonConvertFp32ToFp16Workload.cpp | 0 .../NeonConvertFp32ToFp16Workload.hpp | 0 .../NeonConvolution2dBaseWorkload.cpp | 0 .../NeonConvolution2dBaseWorkload.hpp | 0 .../NeonConvolution2dFloatWorkload.cpp | 0 .../NeonConvolution2dFloatWorkload.hpp | 0 .../NeonConvolution2dUint8Workload.cpp | 0 .../NeonConvolution2dUint8Workload.hpp | 0 .../NeonDepthwiseConvolutionBaseWorkload.cpp | 0 .../NeonDepthwiseConvolutionBaseWorkload.hpp | 0 .../NeonDepthwiseConvolutionFloatWorkload.cpp | 0 .../NeonDepthwiseConvolutionFloatWorkload.hpp | 0 .../NeonDepthwiseConvolutionUint8Workload.cpp | 0 .../NeonDepthwiseConvolutionUint8Workload.hpp | 0 .../NeonWorkloads/NeonFloorFloatWorkload.cpp | 0 .../NeonWorkloads/NeonFloorFloatWorkload.hpp | 0 .../NeonFullyConnectedFloatWorkload.cpp | 0 .../NeonFullyConnectedFloatWorkload.hpp | 0 .../NeonL2NormalizationFloatWorkload.cpp | 0 .../NeonL2NormalizationFloatWorkload.hpp | 0 .../NeonWorkloads/NeonLstmFloatWorkload.cpp | 0 .../NeonWorkloads/NeonLstmFloatWorkload.hpp | 0 .../NeonWorkloads/NeonMergerFloatWorkload.cpp | 0 .../NeonWorkloads/NeonMergerFloatWorkload.hpp | 0 .../NeonWorkloads/NeonMergerUint8Workload.cpp | 0 .../NeonWorkloads/NeonMergerUint8Workload.hpp | 0 .../NeonMultiplicationFloatWorkload.cpp | 0 .../NeonMultiplicationFloatWorkload.hpp | 0 .../NeonNormalizationFloatWorkload.cpp | 0 .../NeonNormalizationFloatWorkload.hpp | 0 .../backends/NeonWorkloads/NeonPermuteWorkload.cpp | 0 .../backends/NeonWorkloads/NeonPermuteWorkload.hpp | 0 .../NeonWorkloads/NeonPooling2dBaseWorkload.cpp | 0 .../NeonWorkloads/NeonPooling2dBaseWorkload.hpp | 0 .../NeonWorkloads/NeonPooling2dFloatWorkload.cpp | 0 .../NeonWorkloads/NeonPooling2dFloatWorkload.hpp | 0 .../NeonWorkloads/NeonPooling2dUint8Workload.cpp | 0 .../NeonWorkloads/NeonPooling2dUint8Workload.hpp | 0 .../NeonWorkloads/NeonReshapeFloatWorkload.cpp | 0 .../NeonWorkloads/NeonReshapeFloatWorkload.hpp | 0 .../NeonWorkloads/NeonReshapeUint8Workload.cpp | 0 .../NeonWorkloads/NeonReshapeUint8Workload.hpp | 0 .../NeonWorkloads/NeonSoftmaxBaseWorkload.cpp | 0 .../NeonWorkloads/NeonSoftmaxBaseWorkload.hpp | 0 .../NeonWorkloads/NeonSoftmaxFloatWorkload.cpp | 0 .../NeonWorkloads/NeonSoftmaxFloatWorkload.hpp | 0 .../NeonWorkloads/NeonSoftmaxUint8Workload.cpp | 0 .../NeonWorkloads/NeonSoftmaxUint8Workload.hpp | 0 .../NeonWorkloads/NeonSplitterFloatWorkload.cpp | 0 .../NeonWorkloads/NeonSplitterFloatWorkload.hpp | 0 .../NeonWorkloads/NeonSplitterUint8Workload.cpp | 0 .../NeonWorkloads/NeonSplitterUint8Workload.hpp | 0 .../NeonWorkloads/NeonSubtractionFloatWorkload.cpp | 0 .../NeonWorkloads/NeonSubtractionFloatWorkload.hpp | 0 src/backends/NeonWorkloads/backend.cmake | 9 + src/{armnn => }/backends/OutputHandler.cpp | 0 src/{armnn => }/backends/OutputHandler.hpp | 0 src/{armnn => }/backends/RefLayerSupport.cpp | 0 src/{armnn => }/backends/RefLayerSupport.hpp | 0 src/{armnn => }/backends/RefWorkloadFactory.cpp | 0 src/{armnn => }/backends/RefWorkloadFactory.hpp | 0 src/{armnn => }/backends/RefWorkloads.hpp | 0 .../backends/RefWorkloads/Activation.cpp | 0 .../backends/RefWorkloads/Activation.hpp | 0 .../backends/RefWorkloads/ArithmeticFunction.cpp | 0 .../backends/RefWorkloads/ArithmeticFunction.hpp | 0 .../backends/RefWorkloads/BatchNormImpl.hpp | 0 .../backends/RefWorkloads/Broadcast.cpp | 0 .../backends/RefWorkloads/Broadcast.hpp | 0 src/backends/RefWorkloads/CMakeLists.txt | 101 ++++++ src/{armnn => }/backends/RefWorkloads/ConvImpl.cpp | 0 src/{armnn => }/backends/RefWorkloads/ConvImpl.hpp | 0 .../backends/RefWorkloads/FullyConnected.cpp | 0 .../backends/RefWorkloads/FullyConnected.hpp | 0 src/{armnn => }/backends/RefWorkloads/Merger.hpp | 0 .../backends/RefWorkloads/Pooling2d.cpp | 0 .../backends/RefWorkloads/Pooling2d.hpp | 0 .../RefWorkloads/RefActivationFloat32Workload.cpp | 0 .../RefWorkloads/RefActivationFloat32Workload.hpp | 0 .../RefWorkloads/RefActivationUint8Workload.cpp | 0 .../RefWorkloads/RefActivationUint8Workload.hpp | 0 .../RefWorkloads/RefArithmeticWorkload.cpp | 0 .../RefWorkloads/RefArithmeticWorkload.hpp | 0 .../RefWorkloads/RefBaseConstantWorkload.cpp | 0 .../RefWorkloads/RefBaseConstantWorkload.hpp | 0 .../RefBatchNormalizationFloat32Workload.cpp | 0 .../RefBatchNormalizationFloat32Workload.hpp | 0 .../RefBatchNormalizationUint8Workload.cpp | 0 .../RefBatchNormalizationUint8Workload.hpp | 0 .../RefWorkloads/RefConstantFloat32Workload.cpp | 0 .../RefWorkloads/RefConstantFloat32Workload.hpp | 0 .../RefWorkloads/RefConstantUint8Workload.cpp | 0 .../RefWorkloads/RefConstantUint8Workload.hpp | 0 .../RefWorkloads/RefConvertFp16ToFp32Workload.cpp | 0 .../RefWorkloads/RefConvertFp16ToFp32Workload.hpp | 0 .../RefWorkloads/RefConvertFp32ToFp16Workload.cpp | 0 .../RefWorkloads/RefConvertFp32ToFp16Workload.hpp | 0 .../RefConvolution2dFloat32Workload.cpp | 0 .../RefConvolution2dFloat32Workload.hpp | 0 .../RefWorkloads/RefConvolution2dUint8Workload.cpp | 0 .../RefWorkloads/RefConvolution2dUint8Workload.hpp | 0 .../RefDepthwiseConvolution2dFloat32Workload.cpp | 0 .../RefDepthwiseConvolution2dFloat32Workload.hpp | 0 .../RefDepthwiseConvolution2dUint8Workload.cpp | 0 .../RefDepthwiseConvolution2dUint8Workload.hpp | 0 .../RefFakeQuantizationFloat32Workload.cpp | 0 .../RefFakeQuantizationFloat32Workload.hpp | 0 .../RefWorkloads/RefFloorFloat32Workload.cpp | 0 .../RefWorkloads/RefFloorFloat32Workload.hpp | 0 .../RefFullyConnectedFloat32Workload.cpp | 0 .../RefFullyConnectedFloat32Workload.hpp | 0 .../RefFullyConnectedUint8Workload.cpp | 0 .../RefFullyConnectedUint8Workload.hpp | 0 .../RefL2NormalizationFloat32Workload.cpp | 0 .../RefL2NormalizationFloat32Workload.hpp | 0 .../RefWorkloads/RefLstmFloat32Workload.cpp | 0 .../RefWorkloads/RefLstmFloat32Workload.hpp | 0 .../RefWorkloads/RefMergerFloat32Workload.cpp | 0 .../RefWorkloads/RefMergerFloat32Workload.hpp | 0 .../RefWorkloads/RefMergerUint8Workload.cpp | 0 .../RefWorkloads/RefMergerUint8Workload.hpp | 0 .../RefNormalizationFloat32Workload.cpp | 0 .../RefNormalizationFloat32Workload.hpp | 0 .../backends/RefWorkloads/RefPermuteWorkload.cpp | 0 .../backends/RefWorkloads/RefPermuteWorkload.hpp | 0 .../RefWorkloads/RefPooling2dFloat32Workload.cpp | 0 .../RefWorkloads/RefPooling2dFloat32Workload.hpp | 0 .../RefWorkloads/RefPooling2dUint8Workload.cpp | 0 .../RefWorkloads/RefPooling2dUint8Workload.hpp | 0 .../RefWorkloads/RefReshapeFloat32Workload.cpp | 0 .../RefWorkloads/RefReshapeFloat32Workload.hpp | 0 .../RefWorkloads/RefReshapeUint8Workload.cpp | 0 .../RefWorkloads/RefReshapeUint8Workload.hpp | 0 .../RefResizeBilinearFloat32Workload.cpp | 0 .../RefResizeBilinearFloat32Workload.hpp | 0 .../RefResizeBilinearUint8Workload.cpp | 0 .../RefResizeBilinearUint8Workload.hpp | 0 .../RefWorkloads/RefSoftmaxFloat32Workload.cpp | 0 .../RefWorkloads/RefSoftmaxFloat32Workload.hpp | 0 .../RefWorkloads/RefSoftmaxUint8Workload.cpp | 0 .../RefWorkloads/RefSoftmaxUint8Workload.hpp | 0 .../RefWorkloads/RefSplitterFloat32Workload.cpp | 0 .../RefWorkloads/RefSplitterFloat32Workload.hpp | 0 .../RefWorkloads/RefSplitterUint8Workload.cpp | 0 .../RefWorkloads/RefSplitterUint8Workload.hpp | 0 .../backends/RefWorkloads/RefWorkloadUtils.hpp | 0 .../backends/RefWorkloads/ResizeBilinear.cpp | 0 .../backends/RefWorkloads/ResizeBilinear.hpp | 0 src/{armnn => }/backends/RefWorkloads/Softmax.cpp | 0 src/{armnn => }/backends/RefWorkloads/Softmax.hpp | 0 src/{armnn => }/backends/RefWorkloads/Splitter.hpp | 0 .../RefWorkloads/TensorBufferArrayView.hpp | 0 src/backends/RefWorkloads/backend.cmake | 7 + src/{armnn => }/backends/StringMapping.cpp | 0 src/{armnn => }/backends/StringMapping.hpp | 0 src/{armnn => }/backends/Workload.hpp | 0 src/{armnn => }/backends/WorkloadData.cpp | 0 src/{armnn => }/backends/WorkloadData.hpp | 0 src/{armnn => }/backends/WorkloadDataCollector.hpp | 0 src/{armnn => }/backends/WorkloadDataFwd.hpp | 0 src/{armnn => }/backends/WorkloadFactory.cpp | 0 src/{armnn => }/backends/WorkloadFactory.hpp | 0 src/{armnn => }/backends/WorkloadInfo.hpp | 0 src/{armnn => }/backends/WorkloadUtils.hpp | 0 src/backends/backends.cmake | 15 + .../backends/test/ActivationFixture.hpp | 0 .../backends/test/ActivationTestImpl.hpp | 0 src/{armnn => }/backends/test/ArmComputeCl.cpp | 0 src/{armnn => }/backends/test/ArmComputeNeon.cpp | 0 .../backends/test/BatchNormTestImpl.hpp | 0 .../backends/test/ClContextControlFixture.hpp | 0 src/{armnn => }/backends/test/Conv2dTestImpl.hpp | 0 .../backends/test/ConvertFp16ToFp32TestImpl.hpp | 0 .../backends/test/ConvertFp32ToFp16TestImpl.hpp | 0 src/{armnn => }/backends/test/CreateWorkloadCl.cpp | 0 .../backends/test/CreateWorkloadNeon.cpp | 0 .../backends/test/CreateWorkloadRef.cpp | 0 .../backends/test/FullyConnectedTestImpl.hpp | 0 .../backends/test/IsLayerSupportedTest.cpp | 0 .../backends/test/IsLayerSupportedTestImpl.hpp | 0 .../backends/test/LayerReleaseConstantDataTest.cpp | 0 src/{armnn => }/backends/test/LayerTests.cpp | 0 src/{armnn => }/backends/test/LayerTests.hpp | 0 src/{armnn => }/backends/test/LstmTestImpl.hpp | 0 src/{armnn => }/backends/test/MemCopyTests.cpp | 0 src/{armnn => }/backends/test/NormTestImpl.hpp | 0 src/{armnn => }/backends/test/PermuteTestImpl.hpp | 0 .../backends/test/Pooling2dTestImpl.hpp | 0 src/{armnn => }/backends/test/QuantizeHelper.hpp | 0 src/{armnn => }/backends/test/Reference.cpp | 0 src/{armnn => }/backends/test/ReshapeTestImpl.hpp | 0 src/{armnn => }/backends/test/SoftmaxTestImpl.hpp | 0 src/{armnn => }/backends/test/SplitterTestImpl.hpp | 0 src/{armnn => }/backends/test/TensorCopyUtils.cpp | 0 src/{armnn => }/backends/test/TensorCopyUtils.hpp | 0 .../backends/test/WorkloadDataValidation.cpp | 0 .../backends/test/WorkloadTestUtils.hpp | 0 324 files changed, 579 insertions(+), 449 deletions(-) rename src/{armnn => }/backends/ArmComputeTensorUtils.cpp (100%) rename src/{armnn => }/backends/ArmComputeTensorUtils.hpp (100%) rename src/{armnn => }/backends/ArmComputeUtils.hpp (100%) create mode 100644 src/backends/CMakeLists.txt rename src/{armnn => }/backends/ClContextControl.cpp (100%) rename src/{armnn => }/backends/ClContextControl.hpp (100%) rename src/{armnn => }/backends/ClLayerSupport.cpp (100%) rename src/{armnn => }/backends/ClLayerSupport.hpp (100%) rename src/{armnn => }/backends/ClTensorHandle.hpp (100%) rename src/{armnn => }/backends/ClWorkloadFactory.cpp (100%) rename src/{armnn => }/backends/ClWorkloadFactory.hpp (100%) rename src/{armnn => }/backends/ClWorkloads.hpp (100%) create mode 100644 src/backends/ClWorkloads/CMakeLists.txt rename src/{armnn => }/backends/ClWorkloads/ClActivationFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClActivationFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClActivationUint8Workload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClActivationUint8Workload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClAdditionWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClAdditionWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClBaseConstantWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClBaseConstantWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClBaseMergerWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClBaseSplitterWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConstantFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConstantFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConstantUint8Workload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConstantUint8Workload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClDivisionFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClDivisionFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClFloorFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClFloorFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClFullyConnectedWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClFullyConnectedWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClLstmFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClLstmFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClMergerFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClMergerFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClMergerUint8Workload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClMergerUint8Workload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClPermuteWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClPermuteWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClPooling2dUint8Workload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClPooling2dUint8Workload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClReshapeFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClReshapeFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClReshapeUint8Workload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClReshapeUint8Workload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSplitterFloatWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSplitterFloatWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSplitterUint8Workload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSplitterUint8Workload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSubtractionWorkload.cpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClSubtractionWorkload.hpp (100%) rename src/{armnn => }/backends/ClWorkloads/ClWorkloadUtils.hpp (100%) create mode 100644 src/backends/ClWorkloads/backend.cmake rename src/{armnn => }/backends/CpuTensorHandle.cpp (100%) rename src/{armnn => }/backends/CpuTensorHandle.hpp (100%) rename src/{armnn => }/backends/CpuTensorHandleFwd.hpp (100%) rename src/{armnn => }/backends/ITensorHandle.hpp (100%) rename src/{armnn => }/backends/MakeWorkloadHelper.hpp (100%) rename src/{armnn => }/backends/MemCopyWorkload.cpp (100%) rename src/{armnn => }/backends/MemCopyWorkload.hpp (100%) rename src/{armnn => }/backends/NeonLayerSupport.cpp (100%) rename src/{armnn => }/backends/NeonLayerSupport.hpp (100%) rename src/{armnn => }/backends/NeonTensorHandle.hpp (100%) rename src/{armnn => }/backends/NeonWorkloadFactory.cpp (100%) rename src/{armnn => }/backends/NeonWorkloadFactory.hpp (100%) rename src/{armnn => }/backends/NeonWorkloadUtils.cpp (97%) rename src/{armnn => }/backends/NeonWorkloadUtils.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads.hpp (100%) create mode 100644 src/backends/NeonWorkloads/CMakeLists.txt rename src/{armnn => }/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonActivationUint8Workload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonActivationUint8Workload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp (98%) rename src/{armnn => }/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConstantUint8Workload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConstantUint8Workload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonMergerUint8Workload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonMergerUint8Workload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonPermuteWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonPermuteWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp (100%) rename src/{armnn => }/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp (100%) create mode 100644 src/backends/NeonWorkloads/backend.cmake rename src/{armnn => }/backends/OutputHandler.cpp (100%) rename src/{armnn => }/backends/OutputHandler.hpp (100%) rename src/{armnn => }/backends/RefLayerSupport.cpp (100%) rename src/{armnn => }/backends/RefLayerSupport.hpp (100%) rename src/{armnn => }/backends/RefWorkloadFactory.cpp (100%) rename src/{armnn => }/backends/RefWorkloadFactory.hpp (100%) rename src/{armnn => }/backends/RefWorkloads.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/Activation.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/Activation.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/ArithmeticFunction.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/ArithmeticFunction.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/BatchNormImpl.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/Broadcast.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/Broadcast.hpp (100%) create mode 100644 src/backends/RefWorkloads/CMakeLists.txt rename src/{armnn => }/backends/RefWorkloads/ConvImpl.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/ConvImpl.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/FullyConnected.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/FullyConnected.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/Merger.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/Pooling2d.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/Pooling2d.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefActivationFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefActivationFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefActivationUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefActivationUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefArithmeticWorkload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefArithmeticWorkload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefBaseConstantWorkload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefBaseConstantWorkload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConstantFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConstantFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConstantUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConstantUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefFloorFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefFloorFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefLstmFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefLstmFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefMergerFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefMergerFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefMergerUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefMergerUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefPermuteWorkload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefPermuteWorkload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefPooling2dUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefPooling2dUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefReshapeFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefReshapeFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefReshapeUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefReshapeUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefSplitterFloat32Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefSplitterFloat32Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefSplitterUint8Workload.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefSplitterUint8Workload.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/RefWorkloadUtils.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/ResizeBilinear.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/ResizeBilinear.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/Softmax.cpp (100%) rename src/{armnn => }/backends/RefWorkloads/Softmax.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/Splitter.hpp (100%) rename src/{armnn => }/backends/RefWorkloads/TensorBufferArrayView.hpp (100%) create mode 100644 src/backends/RefWorkloads/backend.cmake rename src/{armnn => }/backends/StringMapping.cpp (100%) rename src/{armnn => }/backends/StringMapping.hpp (100%) rename src/{armnn => }/backends/Workload.hpp (100%) rename src/{armnn => }/backends/WorkloadData.cpp (100%) rename src/{armnn => }/backends/WorkloadData.hpp (100%) rename src/{armnn => }/backends/WorkloadDataCollector.hpp (100%) rename src/{armnn => }/backends/WorkloadDataFwd.hpp (100%) rename src/{armnn => }/backends/WorkloadFactory.cpp (100%) rename src/{armnn => }/backends/WorkloadFactory.hpp (100%) rename src/{armnn => }/backends/WorkloadInfo.hpp (100%) rename src/{armnn => }/backends/WorkloadUtils.hpp (100%) create mode 100644 src/backends/backends.cmake rename src/{armnn => }/backends/test/ActivationFixture.hpp (100%) rename src/{armnn => }/backends/test/ActivationTestImpl.hpp (100%) rename src/{armnn => }/backends/test/ArmComputeCl.cpp (100%) rename src/{armnn => }/backends/test/ArmComputeNeon.cpp (100%) rename src/{armnn => }/backends/test/BatchNormTestImpl.hpp (100%) rename src/{armnn => }/backends/test/ClContextControlFixture.hpp (100%) rename src/{armnn => }/backends/test/Conv2dTestImpl.hpp (100%) rename src/{armnn => }/backends/test/ConvertFp16ToFp32TestImpl.hpp (100%) rename src/{armnn => }/backends/test/ConvertFp32ToFp16TestImpl.hpp (100%) rename src/{armnn => }/backends/test/CreateWorkloadCl.cpp (100%) rename src/{armnn => }/backends/test/CreateWorkloadNeon.cpp (100%) rename src/{armnn => }/backends/test/CreateWorkloadRef.cpp (100%) rename src/{armnn => }/backends/test/FullyConnectedTestImpl.hpp (100%) rename src/{armnn => }/backends/test/IsLayerSupportedTest.cpp (100%) rename src/{armnn => }/backends/test/IsLayerSupportedTestImpl.hpp (100%) rename src/{armnn => }/backends/test/LayerReleaseConstantDataTest.cpp (100%) rename src/{armnn => }/backends/test/LayerTests.cpp (100%) rename src/{armnn => }/backends/test/LayerTests.hpp (100%) rename src/{armnn => }/backends/test/LstmTestImpl.hpp (100%) rename src/{armnn => }/backends/test/MemCopyTests.cpp (100%) rename src/{armnn => }/backends/test/NormTestImpl.hpp (100%) rename src/{armnn => }/backends/test/PermuteTestImpl.hpp (100%) rename src/{armnn => }/backends/test/Pooling2dTestImpl.hpp (100%) rename src/{armnn => }/backends/test/QuantizeHelper.hpp (100%) rename src/{armnn => }/backends/test/Reference.cpp (100%) rename src/{armnn => }/backends/test/ReshapeTestImpl.hpp (100%) rename src/{armnn => }/backends/test/SoftmaxTestImpl.hpp (100%) rename src/{armnn => }/backends/test/SplitterTestImpl.hpp (100%) rename src/{armnn => }/backends/test/TensorCopyUtils.cpp (100%) rename src/{armnn => }/backends/test/TensorCopyUtils.hpp (100%) rename src/{armnn => }/backends/test/WorkloadDataValidation.cpp (100%) rename src/{armnn => }/backends/test/WorkloadTestUtils.hpp (100%) diff --git a/Android.mk b/Android.mk index ad02db9..cc1076f 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 a65567d..8ddad99 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,7 @@ +# +# Copyright © 2017 Arm Ltd. All rights reserved. +# SPDX-License-Identifier: MIT +# cmake_minimum_required (VERSION 3.0.2) # 3.0.2 required for return() statement used in AddDllCopyCommands.cmake. project(armnn) @@ -138,9 +142,6 @@ 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 47bdd5c..61ce4cd 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 similarity index 100% rename from src/armnn/backends/ArmComputeTensorUtils.cpp rename to src/backends/ArmComputeTensorUtils.cpp diff --git a/src/armnn/backends/ArmComputeTensorUtils.hpp b/src/backends/ArmComputeTensorUtils.hpp similarity index 100% rename from src/armnn/backends/ArmComputeTensorUtils.hpp rename to src/backends/ArmComputeTensorUtils.hpp diff --git a/src/armnn/backends/ArmComputeUtils.hpp b/src/backends/ArmComputeUtils.hpp similarity index 100% rename from src/armnn/backends/ArmComputeUtils.hpp rename to src/backends/ArmComputeUtils.hpp diff --git a/src/backends/CMakeLists.txt b/src/backends/CMakeLists.txt new file mode 100644 index 0000000..4a949c0 --- /dev/null +++ b/src/backends/CMakeLists.txt @@ -0,0 +1,74 @@ +# +# Copyright © 2017 Arm Ltd. All rights reserved. +# SPDX-License-Identifier: MIT +# + +list(APPEND armnnBackendsCommon_sources + ClContextControl.cpp + ClContextControl.hpp + ClLayerSupport.cpp + ClLayerSupport.hpp + ClWorkloadFactory.cpp + ClWorkloadFactory.hpp + ClWorkloads.hpp + CpuTensorHandle.cpp + CpuTensorHandleFwd.hpp + CpuTensorHandle.hpp + ITensorHandle.hpp + MakeWorkloadHelper.hpp + MemCopyWorkload.cpp + MemCopyWorkload.hpp + NeonLayerSupport.cpp + NeonLayerSupport.hpp + NeonWorkloadFactory.cpp + NeonWorkloadFactory.hpp + NeonWorkloads.hpp + OutputHandler.cpp + OutputHandler.hpp + RefLayerSupport.cpp + RefLayerSupport.hpp + RefWorkloadFactory.cpp + RefWorkloadFactory.hpp + RefWorkloads.hpp + StringMapping.cpp + StringMapping.hpp + WorkloadDataCollector.hpp + WorkloadData.cpp + WorkloadDataFwd.hpp + WorkloadData.hpp + WorkloadFactory.cpp + WorkloadFactory.hpp + Workload.hpp + WorkloadInfo.hpp + WorkloadUtils.hpp +) + +if(ARMCOMPUTENEON OR ARMCOMPUTECL) + # Files shared by all ARM Compute backends + list(APPEND armnnBackendsCommon_sources + ArmComputeTensorUtils.hpp + ArmComputeTensorUtils.cpp + ArmComputeUtils.hpp + ) +endif() + +if(ARMCOMPUTENEON) + # Additionally include source files for ARM Compute NEON backend + list(APPEND armnnBackendsCommon_sources + NeonWorkloadUtils.cpp + NeonWorkloadUtils.hpp + NeonTensorHandle.hpp + ) +endif() + +if(ARMCOMPUTECL) + # Additionally include source files for ARM Compute OpenCL backend + list(APPEND armnnBackendsCommon_sources + ClTensorHandle.hpp + ) +endif() + +add_library(armnnBackendsCommon STATIC ${armnnBackendsCommon_sources}) +target_include_directories(armnnBackendsCommon PRIVATE ${PROJECT_SOURCE_DIR}/src) +target_include_directories(armnnBackendsCommon PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) +target_include_directories(armnnBackendsCommon PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils) diff --git a/src/armnn/backends/ClContextControl.cpp b/src/backends/ClContextControl.cpp similarity index 100% rename from src/armnn/backends/ClContextControl.cpp rename to src/backends/ClContextControl.cpp diff --git a/src/armnn/backends/ClContextControl.hpp b/src/backends/ClContextControl.hpp similarity index 100% rename from src/armnn/backends/ClContextControl.hpp rename to src/backends/ClContextControl.hpp diff --git a/src/armnn/backends/ClLayerSupport.cpp b/src/backends/ClLayerSupport.cpp similarity index 100% rename from src/armnn/backends/ClLayerSupport.cpp rename to src/backends/ClLayerSupport.cpp diff --git a/src/armnn/backends/ClLayerSupport.hpp b/src/backends/ClLayerSupport.hpp similarity index 100% rename from src/armnn/backends/ClLayerSupport.hpp rename to src/backends/ClLayerSupport.hpp diff --git a/src/armnn/backends/ClTensorHandle.hpp b/src/backends/ClTensorHandle.hpp similarity index 100% rename from src/armnn/backends/ClTensorHandle.hpp rename to src/backends/ClTensorHandle.hpp diff --git a/src/armnn/backends/ClWorkloadFactory.cpp b/src/backends/ClWorkloadFactory.cpp similarity index 100% rename from src/armnn/backends/ClWorkloadFactory.cpp rename to src/backends/ClWorkloadFactory.cpp diff --git a/src/armnn/backends/ClWorkloadFactory.hpp b/src/backends/ClWorkloadFactory.hpp similarity index 100% rename from src/armnn/backends/ClWorkloadFactory.hpp rename to src/backends/ClWorkloadFactory.hpp diff --git a/src/armnn/backends/ClWorkloads.hpp b/src/backends/ClWorkloads.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads.hpp rename to src/backends/ClWorkloads.hpp diff --git a/src/backends/ClWorkloads/CMakeLists.txt b/src/backends/ClWorkloads/CMakeLists.txt new file mode 100644 index 0000000..ac935b5 --- /dev/null +++ b/src/backends/ClWorkloads/CMakeLists.txt @@ -0,0 +1,89 @@ +# +# Copyright © 2017 Arm Ltd. All rights reserved. +# SPDX-License-Identifier: MIT +# + +list(APPEND armnnClBackend_sources + ClActivationFloatWorkload.cpp + ClActivationFloatWorkload.hpp + ClActivationUint8Workload.cpp + ClActivationUint8Workload.hpp + ClAdditionWorkload.cpp + ClAdditionWorkload.hpp + ClBaseConstantWorkload.cpp + ClBaseConstantWorkload.hpp + ClBaseMergerWorkload.hpp + ClBaseSplitterWorkload.hpp + ClBatchNormalizationFloatWorkload.cpp + ClBatchNormalizationFloatWorkload.hpp + ClConstantFloatWorkload.cpp + ClConstantFloatWorkload.hpp + ClConstantUint8Workload.cpp + ClConstantUint8Workload.hpp + ClConvertFp16ToFp32Workload.cpp + ClConvertFp16ToFp32Workload.hpp + ClConvertFp32ToFp16Workload.cpp + ClConvertFp32ToFp16Workload.hpp + ClConvolution2dBaseWorkload.cpp + ClConvolution2dBaseWorkload.hpp + ClConvolution2dFloatWorkload.cpp + ClConvolution2dFloatWorkload.hpp + ClConvolution2dUint8Workload.cpp + ClConvolution2dUint8Workload.hpp + ClDepthwiseConvolutionBaseWorkload.cpp + ClDepthwiseConvolutionBaseWorkload.hpp + ClDepthwiseConvolutionFloatWorkload.cpp + ClDepthwiseConvolutionFloatWorkload.hpp + ClDepthwiseConvolutionUint8Workload.cpp + ClDepthwiseConvolutionUint8Workload.hpp + ClDivisionFloatWorkload.cpp + ClDivisionFloatWorkload.hpp + ClFloorFloatWorkload.cpp + ClFloorFloatWorkload.hpp + ClFullyConnectedWorkload.cpp + ClFullyConnectedWorkload.hpp + ClL2NormalizationFloatWorkload.cpp + ClL2NormalizationFloatWorkload.hpp + ClLstmFloatWorkload.cpp + ClLstmFloatWorkload.hpp + ClMergerFloatWorkload.cpp + ClMergerFloatWorkload.hpp + ClMergerUint8Workload.cpp + ClMergerUint8Workload.hpp + ClMultiplicationFloatWorkload.cpp + ClMultiplicationFloatWorkload.hpp + ClNormalizationFloatWorkload.cpp + ClNormalizationFloatWorkload.hpp + ClPermuteWorkload.cpp + ClPermuteWorkload.hpp + ClPooling2dBaseWorkload.cpp + ClPooling2dBaseWorkload.hpp + ClPooling2dFloatWorkload.cpp + ClPooling2dFloatWorkload.hpp + ClPooling2dUint8Workload.cpp + ClPooling2dUint8Workload.hpp + ClReshapeFloatWorkload.cpp + ClReshapeFloatWorkload.hpp + ClReshapeUint8Workload.cpp + ClReshapeUint8Workload.hpp + ClResizeBilinearFloatWorkload.cpp + ClResizeBilinearFloatWorkload.hpp + ClSoftmaxBaseWorkload.cpp + ClSoftmaxBaseWorkload.hpp + ClSoftmaxFloatWorkload.cpp + ClSoftmaxFloatWorkload.hpp + ClSoftmaxUint8Workload.cpp + ClSoftmaxUint8Workload.hpp + ClSplitterFloatWorkload.cpp + ClSplitterFloatWorkload.hpp + ClSplitterUint8Workload.cpp + ClSplitterUint8Workload.hpp + ClSubtractionWorkload.cpp + ClSubtractionWorkload.hpp + ClWorkloadUtils.hpp +) + +add_library(armnnClBackend STATIC ${armnnClBackend_sources}) +target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src) +target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) +target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils) diff --git a/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp b/src/backends/ClWorkloads/ClActivationFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp rename to src/backends/ClWorkloads/ClActivationFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp b/src/backends/ClWorkloads/ClActivationFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp rename to src/backends/ClWorkloads/ClActivationFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp b/src/backends/ClWorkloads/ClActivationUint8Workload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp rename to src/backends/ClWorkloads/ClActivationUint8Workload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp b/src/backends/ClWorkloads/ClActivationUint8Workload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp rename to src/backends/ClWorkloads/ClActivationUint8Workload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp b/src/backends/ClWorkloads/ClAdditionWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp rename to src/backends/ClWorkloads/ClAdditionWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp b/src/backends/ClWorkloads/ClAdditionWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp rename to src/backends/ClWorkloads/ClAdditionWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp b/src/backends/ClWorkloads/ClBaseConstantWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp rename to src/backends/ClWorkloads/ClBaseConstantWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp b/src/backends/ClWorkloads/ClBaseConstantWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp rename to src/backends/ClWorkloads/ClBaseConstantWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp b/src/backends/ClWorkloads/ClBaseMergerWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp rename to src/backends/ClWorkloads/ClBaseMergerWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClBaseSplitterWorkload.hpp b/src/backends/ClWorkloads/ClBaseSplitterWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClBaseSplitterWorkload.hpp rename to src/backends/ClWorkloads/ClBaseSplitterWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp rename to src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp b/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp rename to src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp b/src/backends/ClWorkloads/ClConstantFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp rename to src/backends/ClWorkloads/ClConstantFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp b/src/backends/ClWorkloads/ClConstantFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp rename to src/backends/ClWorkloads/ClConstantFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp b/src/backends/ClWorkloads/ClConstantUint8Workload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp rename to src/backends/ClWorkloads/ClConstantUint8Workload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.hpp b/src/backends/ClWorkloads/ClConstantUint8Workload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConstantUint8Workload.hpp rename to src/backends/ClWorkloads/ClConstantUint8Workload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp b/src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp rename to src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp b/src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp rename to src/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp b/src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp rename to src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp b/src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp rename to src/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp rename to src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp rename to src/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp rename to src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp rename to src/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp rename to src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp rename to src/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp rename to src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp rename to src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp rename to src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp rename to src/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp rename to src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp rename to src/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp b/src/backends/ClWorkloads/ClDivisionFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp rename to src/backends/ClWorkloads/ClDivisionFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp b/src/backends/ClWorkloads/ClDivisionFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp rename to src/backends/ClWorkloads/ClDivisionFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp b/src/backends/ClWorkloads/ClFloorFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp rename to src/backends/ClWorkloads/ClFloorFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp b/src/backends/ClWorkloads/ClFloorFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp rename to src/backends/ClWorkloads/ClFloorFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp b/src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp rename to src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp b/src/backends/ClWorkloads/ClFullyConnectedWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp rename to src/backends/ClWorkloads/ClFullyConnectedWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp rename to src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp b/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp rename to src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp b/src/backends/ClWorkloads/ClLstmFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp rename to src/backends/ClWorkloads/ClLstmFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp b/src/backends/ClWorkloads/ClLstmFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp rename to src/backends/ClWorkloads/ClLstmFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp b/src/backends/ClWorkloads/ClMergerFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp rename to src/backends/ClWorkloads/ClMergerFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.hpp b/src/backends/ClWorkloads/ClMergerFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.hpp rename to src/backends/ClWorkloads/ClMergerFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp b/src/backends/ClWorkloads/ClMergerUint8Workload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp rename to src/backends/ClWorkloads/ClMergerUint8Workload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.hpp b/src/backends/ClWorkloads/ClMergerUint8Workload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClMergerUint8Workload.hpp rename to src/backends/ClWorkloads/ClMergerUint8Workload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp b/src/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp rename to src/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp b/src/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp rename to src/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp rename to src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp b/src/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp rename to src/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp b/src/backends/ClWorkloads/ClPermuteWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp rename to src/backends/ClWorkloads/ClPermuteWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp b/src/backends/ClWorkloads/ClPermuteWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp rename to src/backends/ClWorkloads/ClPermuteWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp b/src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp rename to src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp b/src/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp rename to src/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp b/src/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp rename to src/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp b/src/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp rename to src/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp b/src/backends/ClWorkloads/ClPooling2dUint8Workload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp rename to src/backends/ClWorkloads/ClPooling2dUint8Workload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp b/src/backends/ClWorkloads/ClPooling2dUint8Workload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp rename to src/backends/ClWorkloads/ClPooling2dUint8Workload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp b/src/backends/ClWorkloads/ClReshapeFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp rename to src/backends/ClWorkloads/ClReshapeFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp b/src/backends/ClWorkloads/ClReshapeFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp rename to src/backends/ClWorkloads/ClReshapeFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp b/src/backends/ClWorkloads/ClReshapeUint8Workload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp rename to src/backends/ClWorkloads/ClReshapeUint8Workload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp b/src/backends/ClWorkloads/ClReshapeUint8Workload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp rename to src/backends/ClWorkloads/ClReshapeUint8Workload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp b/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp rename to src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp b/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp rename to src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp b/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp rename to src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp b/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp rename to src/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp b/src/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp rename to src/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp b/src/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp rename to src/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp b/src/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp rename to src/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp b/src/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp rename to src/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp b/src/backends/ClWorkloads/ClSplitterFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp rename to src/backends/ClWorkloads/ClSplitterFloatWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.hpp b/src/backends/ClWorkloads/ClSplitterFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.hpp rename to src/backends/ClWorkloads/ClSplitterFloatWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp b/src/backends/ClWorkloads/ClSplitterUint8Workload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp rename to src/backends/ClWorkloads/ClSplitterUint8Workload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.hpp b/src/backends/ClWorkloads/ClSplitterUint8Workload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.hpp rename to src/backends/ClWorkloads/ClSplitterUint8Workload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp b/src/backends/ClWorkloads/ClSubtractionWorkload.cpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp rename to src/backends/ClWorkloads/ClSubtractionWorkload.cpp diff --git a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp b/src/backends/ClWorkloads/ClSubtractionWorkload.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp rename to src/backends/ClWorkloads/ClSubtractionWorkload.hpp diff --git a/src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp b/src/backends/ClWorkloads/ClWorkloadUtils.hpp similarity index 100% rename from src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp rename to src/backends/ClWorkloads/ClWorkloadUtils.hpp diff --git a/src/backends/ClWorkloads/backend.cmake b/src/backends/ClWorkloads/backend.cmake new file mode 100644 index 0000000..6f8eda1 --- /dev/null +++ b/src/backends/ClWorkloads/backend.cmake @@ -0,0 +1,9 @@ +# +# Copyright © 2017 Arm Ltd. All rights reserved. +# SPDX-License-Identifier: MIT +# + +if(ARMCOMPUTECL) + add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends/ClWorkloads) + list(APPEND armnnLibraries armnnClBackend) +endif() diff --git a/src/armnn/backends/CpuTensorHandle.cpp b/src/backends/CpuTensorHandle.cpp similarity index 100% rename from src/armnn/backends/CpuTensorHandle.cpp rename to src/backends/CpuTensorHandle.cpp diff --git a/src/armnn/backends/CpuTensorHandle.hpp b/src/backends/CpuTensorHandle.hpp similarity index 100% rename from src/armnn/backends/CpuTensorHandle.hpp rename to src/backends/CpuTensorHandle.hpp diff --git a/src/armnn/backends/CpuTensorHandleFwd.hpp b/src/backends/CpuTensorHandleFwd.hpp similarity index 100% rename from src/armnn/backends/CpuTensorHandleFwd.hpp rename to src/backends/CpuTensorHandleFwd.hpp diff --git a/src/armnn/backends/ITensorHandle.hpp b/src/backends/ITensorHandle.hpp similarity index 100% rename from src/armnn/backends/ITensorHandle.hpp rename to src/backends/ITensorHandle.hpp diff --git a/src/armnn/backends/MakeWorkloadHelper.hpp b/src/backends/MakeWorkloadHelper.hpp similarity index 100% rename from src/armnn/backends/MakeWorkloadHelper.hpp rename to src/backends/MakeWorkloadHelper.hpp diff --git a/src/armnn/backends/MemCopyWorkload.cpp b/src/backends/MemCopyWorkload.cpp similarity index 100% rename from src/armnn/backends/MemCopyWorkload.cpp rename to src/backends/MemCopyWorkload.cpp diff --git a/src/armnn/backends/MemCopyWorkload.hpp b/src/backends/MemCopyWorkload.hpp similarity index 100% rename from src/armnn/backends/MemCopyWorkload.hpp rename to src/backends/MemCopyWorkload.hpp diff --git a/src/armnn/backends/NeonLayerSupport.cpp b/src/backends/NeonLayerSupport.cpp similarity index 100% rename from src/armnn/backends/NeonLayerSupport.cpp rename to src/backends/NeonLayerSupport.cpp diff --git a/src/armnn/backends/NeonLayerSupport.hpp b/src/backends/NeonLayerSupport.hpp similarity index 100% rename from src/armnn/backends/NeonLayerSupport.hpp rename to src/backends/NeonLayerSupport.hpp diff --git a/src/armnn/backends/NeonTensorHandle.hpp b/src/backends/NeonTensorHandle.hpp similarity index 100% rename from src/armnn/backends/NeonTensorHandle.hpp rename to src/backends/NeonTensorHandle.hpp diff --git a/src/armnn/backends/NeonWorkloadFactory.cpp b/src/backends/NeonWorkloadFactory.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloadFactory.cpp rename to src/backends/NeonWorkloadFactory.cpp diff --git a/src/armnn/backends/NeonWorkloadFactory.hpp b/src/backends/NeonWorkloadFactory.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloadFactory.hpp rename to src/backends/NeonWorkloadFactory.hpp diff --git a/src/armnn/backends/NeonWorkloadUtils.cpp b/src/backends/NeonWorkloadUtils.cpp similarity index 97% rename from src/armnn/backends/NeonWorkloadUtils.cpp rename to src/backends/NeonWorkloadUtils.cpp index 010299f..8782801 100644 --- a/src/armnn/backends/NeonWorkloadUtils.cpp +++ b/src/backends/NeonWorkloadUtils.cpp @@ -19,7 +19,7 @@ #include "Profiling.hpp" #include "NeonLayerSupport.hpp" -#include "../../../include/armnn/Types.hpp" +#include "armnn/Types.hpp" #include "Half.hpp" using namespace armnn::armcomputetensorutils; diff --git a/src/armnn/backends/NeonWorkloadUtils.hpp b/src/backends/NeonWorkloadUtils.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloadUtils.hpp rename to src/backends/NeonWorkloadUtils.hpp diff --git a/src/armnn/backends/NeonWorkloads.hpp b/src/backends/NeonWorkloads.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads.hpp rename to src/backends/NeonWorkloads.hpp diff --git a/src/backends/NeonWorkloads/CMakeLists.txt b/src/backends/NeonWorkloads/CMakeLists.txt new file mode 100644 index 0000000..02cb53d --- /dev/null +++ b/src/backends/NeonWorkloads/CMakeLists.txt @@ -0,0 +1,83 @@ +# +# Copyright © 2017 Arm Ltd. All rights reserved. +# SPDX-License-Identifier: MIT +# + +list(APPEND armnnNeonBackend_sources + NeonActivationFloatWorkload.cpp + NeonActivationFloatWorkload.hpp + NeonActivationUint8Workload.cpp + NeonActivationUint8Workload.hpp + NeonAdditionFloatWorkload.cpp + NeonAdditionFloatWorkload.hpp + NeonBaseConstantWorkload.hpp + NeonBaseMergerWorkload.hpp + NeonBaseSplitterWorkload.hpp + NeonBatchNormalizationFloatWorkload.cpp + NeonBatchNormalizationFloatWorkload.hpp + NeonConstantFloatWorkload.cpp + NeonConstantFloatWorkload.hpp + NeonConstantUint8Workload.cpp + NeonConstantUint8Workload.hpp + NeonConvertFp16ToFp32Workload.cpp + NeonConvertFp16ToFp32Workload.hpp + NeonConvertFp32ToFp16Workload.cpp + NeonConvertFp32ToFp16Workload.hpp + NeonConvolution2dBaseWorkload.cpp + NeonConvolution2dBaseWorkload.hpp + NeonConvolution2dFloatWorkload.cpp + NeonConvolution2dFloatWorkload.hpp + NeonConvolution2dUint8Workload.cpp + NeonConvolution2dUint8Workload.hpp + NeonDepthwiseConvolutionBaseWorkload.cpp + NeonDepthwiseConvolutionBaseWorkload.hpp + NeonDepthwiseConvolutionFloatWorkload.cpp + NeonDepthwiseConvolutionFloatWorkload.hpp + NeonDepthwiseConvolutionUint8Workload.cpp + NeonDepthwiseConvolutionUint8Workload.hpp + NeonFloorFloatWorkload.cpp + NeonFloorFloatWorkload.hpp + NeonFullyConnectedFloatWorkload.cpp + NeonFullyConnectedFloatWorkload.hpp + NeonL2NormalizationFloatWorkload.cpp + NeonL2NormalizationFloatWorkload.hpp + NeonLstmFloatWorkload.cpp + NeonLstmFloatWorkload.hpp + NeonMergerFloatWorkload.cpp + NeonMergerFloatWorkload.hpp + NeonMergerUint8Workload.cpp + NeonMergerUint8Workload.hpp + NeonMultiplicationFloatWorkload.cpp + NeonMultiplicationFloatWorkload.hpp + NeonNormalizationFloatWorkload.cpp + NeonNormalizationFloatWorkload.hpp + NeonPermuteWorkload.cpp + NeonPermuteWorkload.hpp + NeonPooling2dBaseWorkload.cpp + NeonPooling2dBaseWorkload.hpp + NeonPooling2dFloatWorkload.cpp + NeonPooling2dFloatWorkload.hpp + NeonPooling2dUint8Workload.cpp + NeonPooling2dUint8Workload.hpp + NeonReshapeFloatWorkload.cpp + NeonReshapeFloatWorkload.hpp + NeonReshapeUint8Workload.cpp + NeonReshapeUint8Workload.hpp + NeonSoftmaxBaseWorkload.cpp + NeonSoftmaxBaseWorkload.hpp + NeonSoftmaxFloatWorkload.cpp + NeonSoftmaxFloatWorkload.hpp + NeonSoftmaxUint8Workload.cpp + NeonSoftmaxUint8Workload.hpp + NeonSplitterFloatWorkload.cpp + NeonSplitterFloatWorkload.hpp + NeonSplitterUint8Workload.cpp + NeonSplitterUint8Workload.hpp + NeonSubtractionFloatWorkload.cpp + NeonSubtractionFloatWorkload.hpp +) + +add_library(armnnNeonBackend STATIC ${armnnNeonBackend_sources}) +target_include_directories(armnnNeonBackend PRIVATE ${PROJECT_SOURCE_DIR}/src) +target_include_directories(armnnNeonBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) +target_include_directories(armnnNeonBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils) diff --git a/src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonActivationFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.cpp b/src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.cpp rename to src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.hpp b/src/backends/NeonWorkloads/NeonActivationUint8Workload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonActivationUint8Workload.hpp rename to src/backends/NeonWorkloads/NeonActivationUint8Workload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonAdditionFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp b/src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp rename to src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp b/src/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp rename to src/backends/NeonWorkloads/NeonBaseMergerWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp b/src/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp rename to src/backends/NeonWorkloads/NeonBaseSplitterWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp similarity index 98% rename from src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp index f47dc04..6f5c948 100644 --- a/src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp +++ b/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp @@ -6,7 +6,7 @@ #include "NeonBatchNormalizationFloatWorkload.hpp" #include "backends/CpuTensorHandle.hpp" #include "backends/ArmComputeTensorUtils.hpp" -#include "../../../../include/armnn/ArmNN.hpp" +#include "armnn/ArmNN.hpp" namespace armnn { diff --git a/src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonConstantFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonConstantFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.cpp b/src/backends/NeonWorkloads/NeonConstantUint8Workload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.cpp rename to src/backends/NeonWorkloads/NeonConstantUint8Workload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.hpp b/src/backends/NeonWorkloads/NeonConstantUint8Workload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConstantUint8Workload.hpp rename to src/backends/NeonWorkloads/NeonConstantUint8Workload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp b/src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp rename to src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp b/src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp rename to src/backends/NeonWorkloads/NeonConvertFp16ToFp32Workload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp b/src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp rename to src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp b/src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp rename to src/backends/NeonWorkloads/NeonConvertFp32ToFp16Workload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp rename to src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp rename to src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp b/src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp rename to src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp b/src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp rename to src/backends/NeonWorkloads/NeonConvolution2dUint8Workload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp rename to src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonFloorFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonFloorFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonLstmFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonLstmFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonMergerFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonMergerFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.cpp b/src/backends/NeonWorkloads/NeonMergerUint8Workload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.cpp rename to src/backends/NeonWorkloads/NeonMergerUint8Workload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.hpp b/src/backends/NeonWorkloads/NeonMergerUint8Workload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonMergerUint8Workload.hpp rename to src/backends/NeonWorkloads/NeonMergerUint8Workload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonMultiplicationFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.cpp b/src/backends/NeonWorkloads/NeonPermuteWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.cpp rename to src/backends/NeonWorkloads/NeonPermuteWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.hpp b/src/backends/NeonWorkloads/NeonPermuteWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonPermuteWorkload.hpp rename to src/backends/NeonWorkloads/NeonPermuteWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp rename to src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp rename to src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonPooling2dFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp b/src/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp rename to src/backends/NeonWorkloads/NeonPooling2dUint8Workload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp b/src/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp rename to src/backends/NeonWorkloads/NeonPooling2dUint8Workload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonReshapeFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonReshapeFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp b/src/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp rename to src/backends/NeonWorkloads/NeonReshapeUint8Workload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp b/src/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp rename to src/backends/NeonWorkloads/NeonReshapeUint8Workload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp rename to src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp rename to src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonSoftmaxFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp b/src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp rename to src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp b/src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp rename to src/backends/NeonWorkloads/NeonSoftmaxUint8Workload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonSplitterFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonSplitterFloatWorkload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp b/src/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp rename to src/backends/NeonWorkloads/NeonSplitterUint8Workload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp b/src/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp rename to src/backends/NeonWorkloads/NeonSplitterUint8Workload.hpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp rename to src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp diff --git a/src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp b/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp similarity index 100% rename from src/armnn/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp rename to src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.hpp diff --git a/src/backends/NeonWorkloads/backend.cmake b/src/backends/NeonWorkloads/backend.cmake new file mode 100644 index 0000000..f0908c5 --- /dev/null +++ b/src/backends/NeonWorkloads/backend.cmake @@ -0,0 +1,9 @@ +# +# Copyright © 2017 Arm Ltd. All rights reserved. +# SPDX-License-Identifier: MIT +# + +if(ARMCOMPUTENEON) + add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends/NeonWorkloads) + list(APPEND armnnLibraries armnnNeonBackend) +endif() diff --git a/src/armnn/backends/OutputHandler.cpp b/src/backends/OutputHandler.cpp similarity index 100% rename from src/armnn/backends/OutputHandler.cpp rename to src/backends/OutputHandler.cpp diff --git a/src/armnn/backends/OutputHandler.hpp b/src/backends/OutputHandler.hpp similarity index 100% rename from src/armnn/backends/OutputHandler.hpp rename to src/backends/OutputHandler.hpp diff --git a/src/armnn/backends/RefLayerSupport.cpp b/src/backends/RefLayerSupport.cpp similarity index 100% rename from src/armnn/backends/RefLayerSupport.cpp rename to src/backends/RefLayerSupport.cpp diff --git a/src/armnn/backends/RefLayerSupport.hpp b/src/backends/RefLayerSupport.hpp similarity index 100% rename from src/armnn/backends/RefLayerSupport.hpp rename to src/backends/RefLayerSupport.hpp diff --git a/src/armnn/backends/RefWorkloadFactory.cpp b/src/backends/RefWorkloadFactory.cpp similarity index 100% rename from src/armnn/backends/RefWorkloadFactory.cpp rename to src/backends/RefWorkloadFactory.cpp diff --git a/src/armnn/backends/RefWorkloadFactory.hpp b/src/backends/RefWorkloadFactory.hpp similarity index 100% rename from src/armnn/backends/RefWorkloadFactory.hpp rename to src/backends/RefWorkloadFactory.hpp diff --git a/src/armnn/backends/RefWorkloads.hpp b/src/backends/RefWorkloads.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads.hpp rename to src/backends/RefWorkloads.hpp diff --git a/src/armnn/backends/RefWorkloads/Activation.cpp b/src/backends/RefWorkloads/Activation.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/Activation.cpp rename to src/backends/RefWorkloads/Activation.cpp diff --git a/src/armnn/backends/RefWorkloads/Activation.hpp b/src/backends/RefWorkloads/Activation.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/Activation.hpp rename to src/backends/RefWorkloads/Activation.hpp diff --git a/src/armnn/backends/RefWorkloads/ArithmeticFunction.cpp b/src/backends/RefWorkloads/ArithmeticFunction.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/ArithmeticFunction.cpp rename to src/backends/RefWorkloads/ArithmeticFunction.cpp diff --git a/src/armnn/backends/RefWorkloads/ArithmeticFunction.hpp b/src/backends/RefWorkloads/ArithmeticFunction.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/ArithmeticFunction.hpp rename to src/backends/RefWorkloads/ArithmeticFunction.hpp diff --git a/src/armnn/backends/RefWorkloads/BatchNormImpl.hpp b/src/backends/RefWorkloads/BatchNormImpl.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/BatchNormImpl.hpp rename to src/backends/RefWorkloads/BatchNormImpl.hpp diff --git a/src/armnn/backends/RefWorkloads/Broadcast.cpp b/src/backends/RefWorkloads/Broadcast.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/Broadcast.cpp rename to src/backends/RefWorkloads/Broadcast.cpp diff --git a/src/armnn/backends/RefWorkloads/Broadcast.hpp b/src/backends/RefWorkloads/Broadcast.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/Broadcast.hpp rename to src/backends/RefWorkloads/Broadcast.hpp diff --git a/src/backends/RefWorkloads/CMakeLists.txt b/src/backends/RefWorkloads/CMakeLists.txt new file mode 100644 index 0000000..0f4bfe1 --- /dev/null +++ b/src/backends/RefWorkloads/CMakeLists.txt @@ -0,0 +1,101 @@ +# +# Copyright © 2017 Arm Ltd. All rights reserved. +# SPDX-License-Identifier: MIT +# + +list(APPEND armnnRefBackend_sources + Activation.cpp + Activation.hpp + ArithmeticFunction.cpp + ArithmeticFunction.hpp + BatchNormImpl.hpp + Broadcast.cpp + Broadcast.hpp + ConvImpl.cpp + ConvImpl.hpp + FullyConnected.cpp + FullyConnected.hpp + Merger.hpp + Pooling2d.cpp + Pooling2d.hpp + RefActivationFloat32Workload.cpp + RefActivationFloat32Workload.hpp + RefActivationUint8Workload.cpp + RefActivationUint8Workload.hpp + RefArithmeticWorkload.cpp + RefArithmeticWorkload.hpp + RefBaseConstantWorkload.cpp + RefBaseConstantWorkload.hpp + RefBatchNormalizationFloat32Workload.cpp + RefBatchNormalizationFloat32Workload.hpp + RefBatchNormalizationUint8Workload.cpp + RefBatchNormalizationUint8Workload.hpp + RefConstantFloat32Workload.cpp + RefConstantFloat32Workload.hpp + RefConstantUint8Workload.cpp + RefConstantUint8Workload.hpp + RefConvertFp16ToFp32Workload.cpp + RefConvertFp16ToFp32Workload.hpp + RefConvertFp32ToFp16Workload.cpp + RefConvertFp32ToFp16Workload.hpp + RefConvolution2dFloat32Workload.cpp + RefConvolution2dFloat32Workload.hpp + RefConvolution2dUint8Workload.cpp + RefConvolution2dUint8Workload.hpp + RefDepthwiseConvolution2dFloat32Workload.cpp + RefDepthwiseConvolution2dFloat32Workload.hpp + RefDepthwiseConvolution2dUint8Workload.cpp + RefDepthwiseConvolution2dUint8Workload.hpp + RefFakeQuantizationFloat32Workload.cpp + RefFakeQuantizationFloat32Workload.hpp + RefFloorFloat32Workload.cpp + RefFloorFloat32Workload.hpp + RefFullyConnectedFloat32Workload.cpp + RefFullyConnectedFloat32Workload.hpp + RefFullyConnectedUint8Workload.cpp + RefFullyConnectedUint8Workload.hpp + RefL2NormalizationFloat32Workload.cpp + RefL2NormalizationFloat32Workload.hpp + RefLstmFloat32Workload.cpp + RefLstmFloat32Workload.hpp + RefMergerFloat32Workload.cpp + RefMergerFloat32Workload.hpp + RefMergerUint8Workload.cpp + RefMergerUint8Workload.hpp + RefNormalizationFloat32Workload.cpp + RefNormalizationFloat32Workload.hpp + RefPermuteWorkload.cpp + RefPermuteWorkload.hpp + RefPooling2dFloat32Workload.cpp + RefPooling2dFloat32Workload.hpp + RefPooling2dUint8Workload.cpp + RefPooling2dUint8Workload.hpp + RefReshapeFloat32Workload.cpp + RefReshapeFloat32Workload.hpp + RefReshapeUint8Workload.cpp + RefReshapeUint8Workload.hpp + RefResizeBilinearFloat32Workload.cpp + RefResizeBilinearFloat32Workload.hpp + RefResizeBilinearUint8Workload.cpp + RefResizeBilinearUint8Workload.hpp + RefSoftmaxFloat32Workload.cpp + RefSoftmaxFloat32Workload.hpp + RefSoftmaxUint8Workload.cpp + RefSoftmaxUint8Workload.hpp + RefSplitterFloat32Workload.cpp + RefSplitterFloat32Workload.hpp + RefSplitterUint8Workload.cpp + RefSplitterUint8Workload.hpp + RefWorkloadUtils.hpp + ResizeBilinear.cpp + ResizeBilinear.hpp + Softmax.cpp + Softmax.hpp + Splitter.hpp + TensorBufferArrayView.hpp +) + +add_library(armnnRefBackend STATIC ${armnnRefBackend_sources}) +target_include_directories(armnnRefBackend PRIVATE ${PROJECT_SOURCE_DIR}/src) +target_include_directories(armnnRefBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) +target_include_directories(armnnRefBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils) diff --git a/src/armnn/backends/RefWorkloads/ConvImpl.cpp b/src/backends/RefWorkloads/ConvImpl.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/ConvImpl.cpp rename to src/backends/RefWorkloads/ConvImpl.cpp diff --git a/src/armnn/backends/RefWorkloads/ConvImpl.hpp b/src/backends/RefWorkloads/ConvImpl.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/ConvImpl.hpp rename to src/backends/RefWorkloads/ConvImpl.hpp diff --git a/src/armnn/backends/RefWorkloads/FullyConnected.cpp b/src/backends/RefWorkloads/FullyConnected.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/FullyConnected.cpp rename to src/backends/RefWorkloads/FullyConnected.cpp diff --git a/src/armnn/backends/RefWorkloads/FullyConnected.hpp b/src/backends/RefWorkloads/FullyConnected.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/FullyConnected.hpp rename to src/backends/RefWorkloads/FullyConnected.hpp diff --git a/src/armnn/backends/RefWorkloads/Merger.hpp b/src/backends/RefWorkloads/Merger.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/Merger.hpp rename to src/backends/RefWorkloads/Merger.hpp diff --git a/src/armnn/backends/RefWorkloads/Pooling2d.cpp b/src/backends/RefWorkloads/Pooling2d.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/Pooling2d.cpp rename to src/backends/RefWorkloads/Pooling2d.cpp diff --git a/src/armnn/backends/RefWorkloads/Pooling2d.hpp b/src/backends/RefWorkloads/Pooling2d.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/Pooling2d.hpp rename to src/backends/RefWorkloads/Pooling2d.hpp diff --git a/src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.cpp b/src/backends/RefWorkloads/RefActivationFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.cpp rename to src/backends/RefWorkloads/RefActivationFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.hpp b/src/backends/RefWorkloads/RefActivationFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefActivationFloat32Workload.hpp rename to src/backends/RefWorkloads/RefActivationFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefActivationUint8Workload.cpp b/src/backends/RefWorkloads/RefActivationUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefActivationUint8Workload.cpp rename to src/backends/RefWorkloads/RefActivationUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefActivationUint8Workload.hpp b/src/backends/RefWorkloads/RefActivationUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefActivationUint8Workload.hpp rename to src/backends/RefWorkloads/RefActivationUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefArithmeticWorkload.cpp b/src/backends/RefWorkloads/RefArithmeticWorkload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefArithmeticWorkload.cpp rename to src/backends/RefWorkloads/RefArithmeticWorkload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefArithmeticWorkload.hpp b/src/backends/RefWorkloads/RefArithmeticWorkload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefArithmeticWorkload.hpp rename to src/backends/RefWorkloads/RefArithmeticWorkload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.cpp b/src/backends/RefWorkloads/RefBaseConstantWorkload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.cpp rename to src/backends/RefWorkloads/RefBaseConstantWorkload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.hpp b/src/backends/RefWorkloads/RefBaseConstantWorkload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefBaseConstantWorkload.hpp rename to src/backends/RefWorkloads/RefBaseConstantWorkload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp rename to src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp rename to src/backends/RefWorkloads/RefBatchNormalizationFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp b/src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp rename to src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp b/src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp rename to src/backends/RefWorkloads/RefBatchNormalizationUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.cpp b/src/backends/RefWorkloads/RefConstantFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.cpp rename to src/backends/RefWorkloads/RefConstantFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.hpp b/src/backends/RefWorkloads/RefConstantFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConstantFloat32Workload.hpp rename to src/backends/RefWorkloads/RefConstantFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefConstantUint8Workload.cpp b/src/backends/RefWorkloads/RefConstantUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConstantUint8Workload.cpp rename to src/backends/RefWorkloads/RefConstantUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefConstantUint8Workload.hpp b/src/backends/RefWorkloads/RefConstantUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConstantUint8Workload.hpp rename to src/backends/RefWorkloads/RefConstantUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp b/src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp rename to src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp b/src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp rename to src/backends/RefWorkloads/RefConvertFp16ToFp32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp b/src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp rename to src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp b/src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp rename to src/backends/RefWorkloads/RefConvertFp32ToFp16Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp b/src/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp rename to src/backends/RefWorkloads/RefConvolution2dFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp b/src/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp rename to src/backends/RefWorkloads/RefConvolution2dFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp b/src/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp rename to src/backends/RefWorkloads/RefConvolution2dUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp b/src/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp rename to src/backends/RefWorkloads/RefConvolution2dUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp rename to src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp rename to src/backends/RefWorkloads/RefDepthwiseConvolution2dFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp rename to src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp b/src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp rename to src/backends/RefWorkloads/RefDepthwiseConvolution2dUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp rename to src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp rename to src/backends/RefWorkloads/RefFakeQuantizationFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.cpp b/src/backends/RefWorkloads/RefFloorFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.cpp rename to src/backends/RefWorkloads/RefFloorFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.hpp b/src/backends/RefWorkloads/RefFloorFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefFloorFloat32Workload.hpp rename to src/backends/RefWorkloads/RefFloorFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp b/src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp rename to src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp b/src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp rename to src/backends/RefWorkloads/RefFullyConnectedFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp b/src/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp rename to src/backends/RefWorkloads/RefFullyConnectedUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp b/src/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp rename to src/backends/RefWorkloads/RefFullyConnectedUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp rename to src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp rename to src/backends/RefWorkloads/RefL2NormalizationFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.cpp b/src/backends/RefWorkloads/RefLstmFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.cpp rename to src/backends/RefWorkloads/RefLstmFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.hpp b/src/backends/RefWorkloads/RefLstmFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefLstmFloat32Workload.hpp rename to src/backends/RefWorkloads/RefLstmFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.cpp b/src/backends/RefWorkloads/RefMergerFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.cpp rename to src/backends/RefWorkloads/RefMergerFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.hpp b/src/backends/RefWorkloads/RefMergerFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefMergerFloat32Workload.hpp rename to src/backends/RefWorkloads/RefMergerFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefMergerUint8Workload.cpp b/src/backends/RefWorkloads/RefMergerUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefMergerUint8Workload.cpp rename to src/backends/RefWorkloads/RefMergerUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefMergerUint8Workload.hpp b/src/backends/RefWorkloads/RefMergerUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefMergerUint8Workload.hpp rename to src/backends/RefWorkloads/RefMergerUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp b/src/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp rename to src/backends/RefWorkloads/RefNormalizationFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp b/src/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp rename to src/backends/RefWorkloads/RefNormalizationFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefPermuteWorkload.cpp b/src/backends/RefWorkloads/RefPermuteWorkload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefPermuteWorkload.cpp rename to src/backends/RefWorkloads/RefPermuteWorkload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefPermuteWorkload.hpp b/src/backends/RefWorkloads/RefPermuteWorkload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefPermuteWorkload.hpp rename to src/backends/RefWorkloads/RefPermuteWorkload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp b/src/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp rename to src/backends/RefWorkloads/RefPooling2dFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp b/src/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp rename to src/backends/RefWorkloads/RefPooling2dFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.cpp b/src/backends/RefWorkloads/RefPooling2dUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.cpp rename to src/backends/RefWorkloads/RefPooling2dUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.hpp b/src/backends/RefWorkloads/RefPooling2dUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefPooling2dUint8Workload.hpp rename to src/backends/RefWorkloads/RefPooling2dUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.cpp b/src/backends/RefWorkloads/RefReshapeFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.cpp rename to src/backends/RefWorkloads/RefReshapeFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.hpp b/src/backends/RefWorkloads/RefReshapeFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefReshapeFloat32Workload.hpp rename to src/backends/RefWorkloads/RefReshapeFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.cpp b/src/backends/RefWorkloads/RefReshapeUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.cpp rename to src/backends/RefWorkloads/RefReshapeUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.hpp b/src/backends/RefWorkloads/RefReshapeUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefReshapeUint8Workload.hpp rename to src/backends/RefWorkloads/RefReshapeUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp b/src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp rename to src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp b/src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp rename to src/backends/RefWorkloads/RefResizeBilinearFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp b/src/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp rename to src/backends/RefWorkloads/RefResizeBilinearUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp b/src/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp rename to src/backends/RefWorkloads/RefResizeBilinearUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp b/src/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp rename to src/backends/RefWorkloads/RefSoftmaxFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp b/src/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp rename to src/backends/RefWorkloads/RefSoftmaxFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp b/src/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp rename to src/backends/RefWorkloads/RefSoftmaxUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp b/src/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp rename to src/backends/RefWorkloads/RefSoftmaxUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.cpp b/src/backends/RefWorkloads/RefSplitterFloat32Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.cpp rename to src/backends/RefWorkloads/RefSplitterFloat32Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.hpp b/src/backends/RefWorkloads/RefSplitterFloat32Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefSplitterFloat32Workload.hpp rename to src/backends/RefWorkloads/RefSplitterFloat32Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.cpp b/src/backends/RefWorkloads/RefSplitterUint8Workload.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.cpp rename to src/backends/RefWorkloads/RefSplitterUint8Workload.cpp diff --git a/src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.hpp b/src/backends/RefWorkloads/RefSplitterUint8Workload.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefSplitterUint8Workload.hpp rename to src/backends/RefWorkloads/RefSplitterUint8Workload.hpp diff --git a/src/armnn/backends/RefWorkloads/RefWorkloadUtils.hpp b/src/backends/RefWorkloads/RefWorkloadUtils.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/RefWorkloadUtils.hpp rename to src/backends/RefWorkloads/RefWorkloadUtils.hpp diff --git a/src/armnn/backends/RefWorkloads/ResizeBilinear.cpp b/src/backends/RefWorkloads/ResizeBilinear.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/ResizeBilinear.cpp rename to src/backends/RefWorkloads/ResizeBilinear.cpp diff --git a/src/armnn/backends/RefWorkloads/ResizeBilinear.hpp b/src/backends/RefWorkloads/ResizeBilinear.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/ResizeBilinear.hpp rename to src/backends/RefWorkloads/ResizeBilinear.hpp diff --git a/src/armnn/backends/RefWorkloads/Softmax.cpp b/src/backends/RefWorkloads/Softmax.cpp similarity index 100% rename from src/armnn/backends/RefWorkloads/Softmax.cpp rename to src/backends/RefWorkloads/Softmax.cpp diff --git a/src/armnn/backends/RefWorkloads/Softmax.hpp b/src/backends/RefWorkloads/Softmax.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/Softmax.hpp rename to src/backends/RefWorkloads/Softmax.hpp diff --git a/src/armnn/backends/RefWorkloads/Splitter.hpp b/src/backends/RefWorkloads/Splitter.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/Splitter.hpp rename to src/backends/RefWorkloads/Splitter.hpp diff --git a/src/armnn/backends/RefWorkloads/TensorBufferArrayView.hpp b/src/backends/RefWorkloads/TensorBufferArrayView.hpp similarity index 100% rename from src/armnn/backends/RefWorkloads/TensorBufferArrayView.hpp rename to src/backends/RefWorkloads/TensorBufferArrayView.hpp diff --git a/src/backends/RefWorkloads/backend.cmake b/src/backends/RefWorkloads/backend.cmake new file mode 100644 index 0000000..6fd09eb --- /dev/null +++ b/src/backends/RefWorkloads/backend.cmake @@ -0,0 +1,7 @@ +# +# Copyright © 2017 Arm Ltd. All rights reserved. +# SPDX-License-Identifier: MIT +# + +add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends/RefWorkloads) +list(APPEND armnnLibraries armnnRefBackend) diff --git a/src/armnn/backends/StringMapping.cpp b/src/backends/StringMapping.cpp similarity index 100% rename from src/armnn/backends/StringMapping.cpp rename to src/backends/StringMapping.cpp diff --git a/src/armnn/backends/StringMapping.hpp b/src/backends/StringMapping.hpp similarity index 100% rename from src/armnn/backends/StringMapping.hpp rename to src/backends/StringMapping.hpp diff --git a/src/armnn/backends/Workload.hpp b/src/backends/Workload.hpp similarity index 100% rename from src/armnn/backends/Workload.hpp rename to src/backends/Workload.hpp diff --git a/src/armnn/backends/WorkloadData.cpp b/src/backends/WorkloadData.cpp similarity index 100% rename from src/armnn/backends/WorkloadData.cpp rename to src/backends/WorkloadData.cpp diff --git a/src/armnn/backends/WorkloadData.hpp b/src/backends/WorkloadData.hpp similarity index 100% rename from src/armnn/backends/WorkloadData.hpp rename to src/backends/WorkloadData.hpp diff --git a/src/armnn/backends/WorkloadDataCollector.hpp b/src/backends/WorkloadDataCollector.hpp similarity index 100% rename from src/armnn/backends/WorkloadDataCollector.hpp rename to src/backends/WorkloadDataCollector.hpp diff --git a/src/armnn/backends/WorkloadDataFwd.hpp b/src/backends/WorkloadDataFwd.hpp similarity index 100% rename from src/armnn/backends/WorkloadDataFwd.hpp rename to src/backends/WorkloadDataFwd.hpp diff --git a/src/armnn/backends/WorkloadFactory.cpp b/src/backends/WorkloadFactory.cpp similarity index 100% rename from src/armnn/backends/WorkloadFactory.cpp rename to src/backends/WorkloadFactory.cpp diff --git a/src/armnn/backends/WorkloadFactory.hpp b/src/backends/WorkloadFactory.hpp similarity index 100% rename from src/armnn/backends/WorkloadFactory.hpp rename to src/backends/WorkloadFactory.hpp diff --git a/src/armnn/backends/WorkloadInfo.hpp b/src/backends/WorkloadInfo.hpp similarity index 100% rename from src/armnn/backends/WorkloadInfo.hpp rename to src/backends/WorkloadInfo.hpp diff --git a/src/armnn/backends/WorkloadUtils.hpp b/src/backends/WorkloadUtils.hpp similarity index 100% rename from src/armnn/backends/WorkloadUtils.hpp rename to src/backends/WorkloadUtils.hpp diff --git a/src/backends/backends.cmake b/src/backends/backends.cmake new file mode 100644 index 0000000..462365c --- /dev/null +++ b/src/backends/backends.cmake @@ -0,0 +1,15 @@ +# +# Copyright © 2017 Arm Ltd. All rights reserved. +# SPDX-License-Identifier: MIT +# + +add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends) +list(APPEND armnnLibraries armnnBackendsCommon) + +# single place to use wildcards, so we can include +# yet unknown backend modules +FILE(GLOB backendIncludes ${PROJECT_SOURCE_DIR}/src/backends/*/backend.cmake) + +foreach(backendInclude ${backendIncludes}) + include(${backendInclude}) +endforeach() diff --git a/src/armnn/backends/test/ActivationFixture.hpp b/src/backends/test/ActivationFixture.hpp similarity index 100% rename from src/armnn/backends/test/ActivationFixture.hpp rename to src/backends/test/ActivationFixture.hpp diff --git a/src/armnn/backends/test/ActivationTestImpl.hpp b/src/backends/test/ActivationTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/ActivationTestImpl.hpp rename to src/backends/test/ActivationTestImpl.hpp diff --git a/src/armnn/backends/test/ArmComputeCl.cpp b/src/backends/test/ArmComputeCl.cpp similarity index 100% rename from src/armnn/backends/test/ArmComputeCl.cpp rename to src/backends/test/ArmComputeCl.cpp diff --git a/src/armnn/backends/test/ArmComputeNeon.cpp b/src/backends/test/ArmComputeNeon.cpp similarity index 100% rename from src/armnn/backends/test/ArmComputeNeon.cpp rename to src/backends/test/ArmComputeNeon.cpp diff --git a/src/armnn/backends/test/BatchNormTestImpl.hpp b/src/backends/test/BatchNormTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/BatchNormTestImpl.hpp rename to src/backends/test/BatchNormTestImpl.hpp diff --git a/src/armnn/backends/test/ClContextControlFixture.hpp b/src/backends/test/ClContextControlFixture.hpp similarity index 100% rename from src/armnn/backends/test/ClContextControlFixture.hpp rename to src/backends/test/ClContextControlFixture.hpp diff --git a/src/armnn/backends/test/Conv2dTestImpl.hpp b/src/backends/test/Conv2dTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/Conv2dTestImpl.hpp rename to src/backends/test/Conv2dTestImpl.hpp diff --git a/src/armnn/backends/test/ConvertFp16ToFp32TestImpl.hpp b/src/backends/test/ConvertFp16ToFp32TestImpl.hpp similarity index 100% rename from src/armnn/backends/test/ConvertFp16ToFp32TestImpl.hpp rename to src/backends/test/ConvertFp16ToFp32TestImpl.hpp diff --git a/src/armnn/backends/test/ConvertFp32ToFp16TestImpl.hpp b/src/backends/test/ConvertFp32ToFp16TestImpl.hpp similarity index 100% rename from src/armnn/backends/test/ConvertFp32ToFp16TestImpl.hpp rename to src/backends/test/ConvertFp32ToFp16TestImpl.hpp diff --git a/src/armnn/backends/test/CreateWorkloadCl.cpp b/src/backends/test/CreateWorkloadCl.cpp similarity index 100% rename from src/armnn/backends/test/CreateWorkloadCl.cpp rename to src/backends/test/CreateWorkloadCl.cpp diff --git a/src/armnn/backends/test/CreateWorkloadNeon.cpp b/src/backends/test/CreateWorkloadNeon.cpp similarity index 100% rename from src/armnn/backends/test/CreateWorkloadNeon.cpp rename to src/backends/test/CreateWorkloadNeon.cpp diff --git a/src/armnn/backends/test/CreateWorkloadRef.cpp b/src/backends/test/CreateWorkloadRef.cpp similarity index 100% rename from src/armnn/backends/test/CreateWorkloadRef.cpp rename to src/backends/test/CreateWorkloadRef.cpp diff --git a/src/armnn/backends/test/FullyConnectedTestImpl.hpp b/src/backends/test/FullyConnectedTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/FullyConnectedTestImpl.hpp rename to src/backends/test/FullyConnectedTestImpl.hpp diff --git a/src/armnn/backends/test/IsLayerSupportedTest.cpp b/src/backends/test/IsLayerSupportedTest.cpp similarity index 100% rename from src/armnn/backends/test/IsLayerSupportedTest.cpp rename to src/backends/test/IsLayerSupportedTest.cpp diff --git a/src/armnn/backends/test/IsLayerSupportedTestImpl.hpp b/src/backends/test/IsLayerSupportedTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/IsLayerSupportedTestImpl.hpp rename to src/backends/test/IsLayerSupportedTestImpl.hpp diff --git a/src/armnn/backends/test/LayerReleaseConstantDataTest.cpp b/src/backends/test/LayerReleaseConstantDataTest.cpp similarity index 100% rename from src/armnn/backends/test/LayerReleaseConstantDataTest.cpp rename to src/backends/test/LayerReleaseConstantDataTest.cpp diff --git a/src/armnn/backends/test/LayerTests.cpp b/src/backends/test/LayerTests.cpp similarity index 100% rename from src/armnn/backends/test/LayerTests.cpp rename to src/backends/test/LayerTests.cpp diff --git a/src/armnn/backends/test/LayerTests.hpp b/src/backends/test/LayerTests.hpp similarity index 100% rename from src/armnn/backends/test/LayerTests.hpp rename to src/backends/test/LayerTests.hpp diff --git a/src/armnn/backends/test/LstmTestImpl.hpp b/src/backends/test/LstmTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/LstmTestImpl.hpp rename to src/backends/test/LstmTestImpl.hpp diff --git a/src/armnn/backends/test/MemCopyTests.cpp b/src/backends/test/MemCopyTests.cpp similarity index 100% rename from src/armnn/backends/test/MemCopyTests.cpp rename to src/backends/test/MemCopyTests.cpp diff --git a/src/armnn/backends/test/NormTestImpl.hpp b/src/backends/test/NormTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/NormTestImpl.hpp rename to src/backends/test/NormTestImpl.hpp diff --git a/src/armnn/backends/test/PermuteTestImpl.hpp b/src/backends/test/PermuteTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/PermuteTestImpl.hpp rename to src/backends/test/PermuteTestImpl.hpp diff --git a/src/armnn/backends/test/Pooling2dTestImpl.hpp b/src/backends/test/Pooling2dTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/Pooling2dTestImpl.hpp rename to src/backends/test/Pooling2dTestImpl.hpp diff --git a/src/armnn/backends/test/QuantizeHelper.hpp b/src/backends/test/QuantizeHelper.hpp similarity index 100% rename from src/armnn/backends/test/QuantizeHelper.hpp rename to src/backends/test/QuantizeHelper.hpp diff --git a/src/armnn/backends/test/Reference.cpp b/src/backends/test/Reference.cpp similarity index 100% rename from src/armnn/backends/test/Reference.cpp rename to src/backends/test/Reference.cpp diff --git a/src/armnn/backends/test/ReshapeTestImpl.hpp b/src/backends/test/ReshapeTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/ReshapeTestImpl.hpp rename to src/backends/test/ReshapeTestImpl.hpp diff --git a/src/armnn/backends/test/SoftmaxTestImpl.hpp b/src/backends/test/SoftmaxTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/SoftmaxTestImpl.hpp rename to src/backends/test/SoftmaxTestImpl.hpp diff --git a/src/armnn/backends/test/SplitterTestImpl.hpp b/src/backends/test/SplitterTestImpl.hpp similarity index 100% rename from src/armnn/backends/test/SplitterTestImpl.hpp rename to src/backends/test/SplitterTestImpl.hpp diff --git a/src/armnn/backends/test/TensorCopyUtils.cpp b/src/backends/test/TensorCopyUtils.cpp similarity index 100% rename from src/armnn/backends/test/TensorCopyUtils.cpp rename to src/backends/test/TensorCopyUtils.cpp diff --git a/src/armnn/backends/test/TensorCopyUtils.hpp b/src/backends/test/TensorCopyUtils.hpp similarity index 100% rename from src/armnn/backends/test/TensorCopyUtils.hpp rename to src/backends/test/TensorCopyUtils.hpp diff --git a/src/armnn/backends/test/WorkloadDataValidation.cpp b/src/backends/test/WorkloadDataValidation.cpp similarity index 100% rename from src/armnn/backends/test/WorkloadDataValidation.cpp rename to src/backends/test/WorkloadDataValidation.cpp diff --git a/src/armnn/backends/test/WorkloadTestUtils.hpp b/src/backends/test/WorkloadTestUtils.hpp similarity index 100% rename from src/armnn/backends/test/WorkloadTestUtils.hpp rename to src/backends/test/WorkloadTestUtils.hpp -- 2.7.4