aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColm Donelan <colm.donelan@arm.com>2021-12-10 12:43:54 +0000
committerColm Donelan <colm.donelan@arm.com>2021-12-15 12:53:20 +0000
commit0c47974f1800e8770904aecaef15d6f105758c4e (patch)
treef5424858c6fe6f33376b3432580179958ab8ac5a
parentcdbb09f6e15ea6698a62197cf76ecba87b81cb9d (diff)
downloadarmnn-0c47974f1800e8770904aecaef15d6f105758c4e.tar.gz
IVGCVSW-6626 Promote backend headers in backendCommon to armnn/backends
Move the following header files from backendsCommon to armnn/backends. * MemCopyWorkload.hpp * TensorHandle.hpp * Workload.hpp * WorkloadData.hpp * WorkloadFactory.hpp Replace them with forwarding headers and a pragma deprecation message. Resolve the deprecation messages in Arm NN code. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I47f116b30f86e478c9057795bc518c391a8ae514
-rw-r--r--include/armnn/backends/MemCopyWorkload.hpp27
-rw-r--r--include/armnn/backends/TensorHandle.hpp267
-rw-r--r--include/armnn/backends/Workload.hpp219
-rw-r--r--include/armnn/backends/WorkloadData.hpp769
-rw-r--r--include/armnn/backends/WorkloadFactory.hpp289
-rw-r--r--include/armnnTestUtils/WorkloadTestUtils.hpp (renamed from src/armnnTestUtils/WorkloadTestUtils.hpp)4
-rw-r--r--src/armnn/ExecutionFrame.hpp2
-rw-r--r--src/armnn/Layer.cpp4
-rw-r--r--src/armnn/Layer.hpp2
-rw-r--r--src/armnn/LoadedNetwork.cpp4
-rw-r--r--src/armnn/LoadedNetwork.hpp4
-rw-r--r--src/armnn/Network.cpp4
-rw-r--r--src/armnn/OutputHandler.cpp2
-rw-r--r--src/armnn/WorkingMemHandle.cpp2
-rw-r--r--src/armnn/layers/AbsLayer.cpp4
-rw-r--r--src/armnn/layers/ActivationLayer.cpp4
-rw-r--r--src/armnn/layers/AdditionLayer.cpp4
-rw-r--r--src/armnn/layers/ArgMinMaxLayer.cpp4
-rw-r--r--src/armnn/layers/BatchNormalizationLayer.cpp4
-rw-r--r--src/armnn/layers/BatchToSpaceNdLayer.cpp6
-rw-r--r--src/armnn/layers/CastLayer.cpp4
-rw-r--r--src/armnn/layers/ChannelShuffleLayer.cpp4
-rw-r--r--src/armnn/layers/ComparisonLayer.cpp4
-rw-r--r--src/armnn/layers/ConcatLayer.cpp4
-rw-r--r--src/armnn/layers/ConstantLayer.cpp6
-rw-r--r--src/armnn/layers/ConvertBf16ToFp32Layer.cpp4
-rw-r--r--src/armnn/layers/ConvertFp16ToFp32Layer.cpp4
-rw-r--r--src/armnn/layers/ConvertFp32ToBf16Layer.cpp4
-rw-r--r--src/armnn/layers/ConvertFp32ToFp16Layer.cpp4
-rw-r--r--src/armnn/layers/Convolution2dLayer.cpp4
-rw-r--r--src/armnn/layers/Convolution3dLayer.cpp2
-rw-r--r--src/armnn/layers/DebugLayer.cpp4
-rw-r--r--src/armnn/layers/DepthToSpaceLayer.cpp4
-rw-r--r--src/armnn/layers/DepthwiseConvolution2dLayer.cpp4
-rw-r--r--src/armnn/layers/DequantizeLayer.cpp4
-rw-r--r--src/armnn/layers/DetectionPostProcessLayer.cpp6
-rw-r--r--src/armnn/layers/DivisionLayer.cpp4
-rw-r--r--src/armnn/layers/ElementwiseUnaryLayer.cpp4
-rw-r--r--src/armnn/layers/FakeQuantizationLayer.cpp4
-rw-r--r--src/armnn/layers/FillLayer.cpp4
-rw-r--r--src/armnn/layers/FloorLayer.cpp4
-rw-r--r--src/armnn/layers/FullyConnectedLayer.cpp6
-rw-r--r--src/armnn/layers/GatherLayer.cpp4
-rw-r--r--src/armnn/layers/InputLayer.cpp4
-rw-r--r--src/armnn/layers/InstanceNormalizationLayer.cpp4
-rw-r--r--src/armnn/layers/L2NormalizationLayer.cpp4
-rw-r--r--src/armnn/layers/LogSoftmaxLayer.cpp4
-rw-r--r--src/armnn/layers/LogicalBinaryLayer.cpp4
-rw-r--r--src/armnn/layers/LstmLayer.cpp4
-rw-r--r--src/armnn/layers/MapLayer.cpp4
-rw-r--r--src/armnn/layers/MaximumLayer.cpp4
-rw-r--r--src/armnn/layers/MeanLayer.cpp6
-rw-r--r--src/armnn/layers/MemCopyLayer.cpp6
-rw-r--r--src/armnn/layers/MemImportLayer.cpp4
-rw-r--r--src/armnn/layers/MergeLayer.cpp4
-rw-r--r--src/armnn/layers/MinimumLayer.cpp4
-rw-r--r--src/armnn/layers/MultiplicationLayer.cpp4
-rw-r--r--src/armnn/layers/NormalizationLayer.cpp4
-rw-r--r--src/armnn/layers/OutputLayer.cpp4
-rw-r--r--src/armnn/layers/PadLayer.cpp6
-rw-r--r--src/armnn/layers/PermuteLayer.cpp4
-rw-r--r--src/armnn/layers/Pooling2dLayer.cpp4
-rw-r--r--src/armnn/layers/Pooling3dLayer.cpp4
-rw-r--r--src/armnn/layers/PreCompiledLayer.cpp2
-rw-r--r--src/armnn/layers/PreCompiledLayer.hpp2
-rw-r--r--src/armnn/layers/PreluLayer.cpp6
-rw-r--r--src/armnn/layers/QLstmLayer.cpp4
-rw-r--r--src/armnn/layers/QuantizedLstmLayer.cpp4
-rw-r--r--src/armnn/layers/RankLayer.cpp4
-rw-r--r--src/armnn/layers/ReduceLayer.cpp4
-rw-r--r--src/armnn/layers/ReshapeLayer.cpp4
-rw-r--r--src/armnn/layers/ResizeLayer.cpp4
-rw-r--r--src/armnn/layers/RsqrtLayer.cpp4
-rw-r--r--src/armnn/layers/ShapeLayer.cpp4
-rw-r--r--src/armnn/layers/SliceLayer.cpp4
-rw-r--r--src/armnn/layers/SoftmaxLayer.cpp4
-rw-r--r--src/armnn/layers/SpaceToBatchNdLayer.cpp4
-rw-r--r--src/armnn/layers/SpaceToDepthLayer.cpp4
-rw-r--r--src/armnn/layers/SplitterLayer.cpp4
-rw-r--r--src/armnn/layers/StackLayer.cpp4
-rw-r--r--src/armnn/layers/StridedSliceLayer.cpp4
-rw-r--r--src/armnn/layers/SubtractionLayer.cpp4
-rw-r--r--src/armnn/layers/SwitchLayer.cpp4
-rw-r--r--src/armnn/layers/TransposeConvolution2dLayer.cpp4
-rw-r--r--src/armnn/layers/TransposeLayer.cpp4
-rw-r--r--src/armnn/layers/UnidirectionalSequenceLstmLayer.cpp4
-rw-r--r--src/armnn/layers/UnmapLayer.cpp4
-rw-r--r--src/armnn/optimizations/AddBroadcastReshapeLayer.hpp2
-rw-r--r--src/armnn/optimizations/ConvertConstants.hpp4
-rw-r--r--src/armnn/test/CloneTests.cpp3
-rw-r--r--src/armnn/test/ConstTensorLayerVisitor.hpp2
-rw-r--r--src/armnn/test/CreateWorkload.hpp7
-rw-r--r--src/armnn/test/GraphTests.cpp2
-rw-r--r--src/armnn/test/OptimizerTests.cpp2
-rw-r--r--src/armnn/test/ShapeInferenceTests.cpp4
-rw-r--r--src/armnn/test/SubgraphViewTests.cpp2
-rw-r--r--src/armnn/test/TestLayerVisitor.hpp2
-rw-r--r--src/armnn/test/optimizations/FoldPadTests.cpp2
-rwxr-xr-xsrc/armnnTestUtils/CMakeLists.txt2
-rw-r--r--src/armnnTestUtils/CommonTestUtils.hpp3
-rw-r--r--src/armnnTestUtils/CreateWorkload.hpp7
-rw-r--r--src/armnnTestUtils/UnitTests.hpp2
-rw-r--r--src/backends/aclCommon/ArmComputeUtils.hpp2
-rw-r--r--src/backends/aclCommon/BaseMemoryManager.hpp2
-rw-r--r--src/backends/aclCommon/test/CreateWorkloadClNeon.hpp2
-rw-r--r--src/backends/aclCommon/test/MemCopyTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/MapWorkload.hpp2
-rw-r--r--src/backends/backendsCommon/MemCopyWorkload.cpp6
-rw-r--r--src/backends/backendsCommon/MemCopyWorkload.hpp29
-rw-r--r--src/backends/backendsCommon/MemImportWorkload.cpp2
-rw-r--r--src/backends/backendsCommon/MemImportWorkload.hpp2
-rw-r--r--src/backends/backendsCommon/MemSyncWorkload.cpp2
-rw-r--r--src/backends/backendsCommon/MemSyncWorkload.hpp2
-rw-r--r--src/backends/backendsCommon/TensorHandle.cpp2
-rw-r--r--src/backends/backendsCommon/TensorHandle.hpp268
-rw-r--r--src/backends/backendsCommon/UnmapWorkload.hpp2
-rw-r--r--src/backends/backendsCommon/Workload.hpp219
-rw-r--r--src/backends/backendsCommon/WorkloadData.cpp5
-rw-r--r--src/backends/backendsCommon/WorkloadData.hpp773
-rw-r--r--src/backends/backendsCommon/WorkloadFactory.cpp6
-rw-r--r--src/backends/backendsCommon/WorkloadFactory.hpp289
-rw-r--r--src/backends/backendsCommon/WorkloadFactoryBase.hpp2
-rw-r--r--src/backends/backendsCommon/WorkloadUtils.hpp3
-rw-r--r--src/backends/backendsCommon/test/ActivationFixture.hpp2
-rw-r--r--src/backends/backendsCommon/test/CommonTestUtils.hpp8
-rw-r--r--src/backends/backendsCommon/test/DefaultAsyncExecuteTest.cpp4
-rw-r--r--src/backends/backendsCommon/test/DynamicBackendTests.hpp2
-rw-r--r--src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/LayerReleaseConstantDataTest.cpp4
-rw-r--r--src/backends/backendsCommon/test/WorkloadDataValidation.cpp6
-rw-r--r--src/backends/backendsCommon/test/WorkloadTestUtils.hpp5
-rw-r--r--src/backends/backendsCommon/test/layerTests/AbsTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ActivationTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ActivationTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/AdditionTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/BatchNormalizationTestImpl.cpp6
-rw-r--r--src/backends/backendsCommon/test/layerTests/BatchNormalizationTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/BatchToSpaceNdTestImpl.hpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/CastTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ChannelShuffleTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ChannelShuffleTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.cpp6
-rw-r--r--src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConcatTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConcatTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConstantTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConstantTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/DebugTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/DebugTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/DequantizeTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/DequantizeTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/DetectionPostProcessTestImpl.hpp6
-rw-r--r--src/backends/backendsCommon/test/layerTests/DivisionTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ElementwiseTestImpl.hpp8
-rw-r--r--src/backends/backendsCommon/test/layerTests/ElementwiseUnaryTestImpl.hpp8
-rw-r--r--src/backends/backendsCommon/test/layerTests/ExpTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/FillTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/FloorTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/FloorTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/FullyConnectedTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/FullyConnectedTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/GatherTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/GatherTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/InstanceNormalizationTestImpl.cpp6
-rw-r--r--src/backends/backendsCommon/test/layerTests/InstanceNormalizationTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/L2NormalizationTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/L2NormalizationTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/LogSoftmaxTestImpl.cpp6
-rw-r--r--src/backends/backendsCommon/test/layerTests/LogSoftmaxTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/LogTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/LogicalTestImpl.cpp6
-rw-r--r--src/backends/backendsCommon/test/layerTests/LogicalTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/LstmTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/MaximumTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/MeanTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/MinimumTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/MirrorPadTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/MirrorPadTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/MultiplicationTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/NegTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/PadTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/PadTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/PermuteTestImpl.hpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/Pooling3dTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/Pooling3dTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/PreluTestImpl.hpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/QuantizeTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/QuantizeTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/RankTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/RankTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ReduceProdTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ReduceProdTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ReduceSumTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ReduceSumTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ReductionTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ReductionTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ResizeTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ResizeTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/RsqrtTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ShapeTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/ShapeTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/SinTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/SliceTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/SliceTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/SoftmaxTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/SoftmaxTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/SpaceToBatchNdTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/SpaceToBatchNdTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/SplitterTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/SplitterTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/StackTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/StackTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.cpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/SubtractionTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/layerTests/TransposeTestImpl.hpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/UnidirectionalSequenceLstmTestImpl.cpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/UnidirectionalSequenceLstmTestImpl.hpp2
-rw-r--r--src/backends/cl/ClWorkloadFactory.cpp4
-rw-r--r--src/backends/cl/test/ClContextControlFixture.hpp2
-rw-r--r--src/backends/cl/test/ClCreateWorkloadTests.cpp4
-rw-r--r--src/backends/cl/test/ClLayerSupportTests.cpp2
-rw-r--r--src/backends/cl/test/DefaultAllocatorTests.cpp2
-rw-r--r--src/backends/cl/test/Fp16SupportTest.cpp2
-rw-r--r--src/backends/cl/test/OpenClTimerTest.cpp6
-rw-r--r--src/backends/cl/workloads/ClAbsWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClActivationWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClActivationWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClAdditionWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClAdditionWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClArgMinMaxWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClArgMinMaxWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClBatchNormalizationFloatWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClBatchNormalizationFloatWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClBatchToSpaceNdWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClBatchToSpaceNdWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClCastWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClChannelShuffleWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClComparisonWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClComparisonWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClConcatWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClConcatWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClConstantWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClConstantWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClConvertFp16ToFp32Workload.hpp2
-rw-r--r--src/backends/cl/workloads/ClConvertFp32ToFp16Workload.hpp2
-rw-r--r--src/backends/cl/workloads/ClConvolution2dWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClConvolution2dWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClConvolution3dWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClConvolution3dWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClDepthToSpaceWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp4
-rw-r--r--src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClDequantizeWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClDequantizeWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClDivisionWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClDivisionWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClExpWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClFillWorkload.hpp4
-rw-r--r--src/backends/cl/workloads/ClFloorFloatWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClFullyConnectedWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClFullyConnectedWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClGatherWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClInstanceNormalizationWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClL2NormalizationFloatWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClL2NormalizationFloatWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClLogSoftmaxWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClLogWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClLogicalAndWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClLogicalNotWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClLogicalOrWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClLstmFloatWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClLstmFloatWorkload.hpp4
-rw-r--r--src/backends/cl/workloads/ClMaximumWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClMaximumWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClMeanWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClMinimumWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClMinimumWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClMultiplicationWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClMultiplicationWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClNegWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClNormalizationFloatWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClNormalizationFloatWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClPadWorkload.hpp4
-rw-r--r--src/backends/cl/workloads/ClPermuteWorkload.hpp4
-rw-r--r--src/backends/cl/workloads/ClPooling2dWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClPreluWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClPreluWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClQLstmWorkload.hpp4
-rw-r--r--src/backends/cl/workloads/ClQuantizeWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClQuantizeWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClQuantizedLstmWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClQuantizedLstmWorkload.hpp4
-rw-r--r--src/backends/cl/workloads/ClRankWorkload.hpp4
-rw-r--r--src/backends/cl/workloads/ClReduceWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClReshapeWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClReshapeWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClResizeWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClResizeWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClRsqrtWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClSinWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClSliceWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClSoftmaxWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClSpaceToBatchNdWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClSpaceToBatchNdWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClSpaceToDepthWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClSpaceToDepthWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClSplitterWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClSplitterWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClStackWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClStackWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClStridedSliceWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClStridedSliceWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClSubtractionWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClSubtractionWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClTransposeConvolution2dWorkload.cpp2
-rw-r--r--src/backends/cl/workloads/ClTransposeConvolution2dWorkload.hpp2
-rw-r--r--src/backends/cl/workloads/ClTransposeWorkload.hpp4
-rw-r--r--src/backends/cl/workloads/ClWorkloadUtils.hpp2
-rw-r--r--src/backends/neon/NeonWorkloadFactory.cpp4
-rw-r--r--src/backends/neon/test/NeonCreateWorkloadTests.cpp2
-rw-r--r--src/backends/neon/test/NeonLayerSupportTests.cpp2
-rw-r--r--src/backends/neon/test/NeonTimerTest.cpp6
-rw-r--r--src/backends/neon/workloads/NeonAbsWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonActivationWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonAdditionWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonAdditionWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonArgMinMaxWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonArgMinMaxWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonBatchNormalizationWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonBatchNormalizationWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonBatchToSpaceNdWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonCastWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonChannelShuffleWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonComparisonWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonConcatWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonConcatWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonConstantWorkload.cpp4
-rw-r--r--src/backends/neon/workloads/NeonConvertBf16ToFp32Workload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonConvertFp16ToFp32Workload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonConvertFp32ToBf16Workload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonConvertFp32ToFp16Workload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonConvolution2dWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonConvolution2dWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonConvolution3dWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonConvolution3dWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonDepthToSpaceWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonDequantizeWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonDequantizeWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonDetectionPostProcessWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonDivisionWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonExpWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonFillWorkload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonFloorFloatWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonFullyConnectedWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonGatherWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonInstanceNormalizationWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonLogSoftmaxWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonLogWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonLogicalAndWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonLogicalNotWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonLogicalOrWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonLstmFloatWorkload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonMaximumWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonMeanWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonMinimumWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonMultiplicationWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonNegWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonNormalizationFloatWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonPadWorkload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonPermuteWorkload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonPooling2dWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonPreluWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonQLstmWorkload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonQuantizeWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonQuantizedLstmWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonQuantizedLstmWorkload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonRankWorkload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonReduceWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonReshapeWorkload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonResizeWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonResizeWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonRsqrtWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonSinWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonSliceWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonSoftmaxWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonSpaceToBatchNdWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonSpaceToDepthWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonSplitterWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonSplitterWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonStackWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonStackWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonStridedSliceWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonSubtractionWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonSubtractionWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.cpp2
-rw-r--r--src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.hpp2
-rw-r--r--src/backends/neon/workloads/NeonTransposeWorkload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonWorkloadUtils.hpp4
-rw-r--r--src/backends/reference/RefTensorHandle.hpp2
-rw-r--r--src/backends/reference/RefWorkloadFactory.cpp4
-rw-r--r--src/backends/reference/RefWorkloadFactory.hpp2
-rw-r--r--src/backends/reference/test/RefLayerSupportTests.cpp2
-rw-r--r--src/backends/reference/workloads/BatchNormImpl.hpp2
-rw-r--r--src/backends/reference/workloads/BatchToSpaceNd.hpp4
-rw-r--r--src/backends/reference/workloads/Concatenate.hpp2
-rw-r--r--src/backends/reference/workloads/Fill.hpp2
-rw-r--r--src/backends/reference/workloads/FullyConnected.hpp2
-rw-r--r--src/backends/reference/workloads/Gather.cpp2
-rw-r--r--src/backends/reference/workloads/InstanceNorm.hpp2
-rw-r--r--src/backends/reference/workloads/Lstm.hpp2
-rw-r--r--src/backends/reference/workloads/LstmUtils.cpp2
-rw-r--r--src/backends/reference/workloads/LstmUtils.hpp2
-rw-r--r--src/backends/reference/workloads/MirrorPad.hpp4
-rw-r--r--src/backends/reference/workloads/Pad.hpp4
-rw-r--r--src/backends/reference/workloads/PreluImpl.hpp2
-rw-r--r--src/backends/reference/workloads/Reduce.cpp2
-rw-r--r--src/backends/reference/workloads/RefActivationWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefArgMinMaxWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefBatchNormalizationWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefBatchToSpaceNdWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefCastWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefChannelShuffleWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefComparisonWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefConcatWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefConstantWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefConvertBf16ToFp32Workload.hpp4
-rw-r--r--src/backends/reference/workloads/RefConvertFp16ToFp32Workload.hpp4
-rw-r--r--src/backends/reference/workloads/RefConvertFp32ToBf16Workload.hpp4
-rw-r--r--src/backends/reference/workloads/RefConvertFp32ToFp16Workload.hpp4
-rw-r--r--src/backends/reference/workloads/RefConvolution2dWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefConvolution3dWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefDebugWorkload.hpp2
-rw-r--r--src/backends/reference/workloads/RefDepthToSpaceWorkload.hpp2
-rw-r--r--src/backends/reference/workloads/RefDepthwiseConvolution2dWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefDequantizeWorkload.hpp2
-rw-r--r--src/backends/reference/workloads/RefDetectionPostProcessWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefElementwiseUnaryWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefElementwiseWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefFakeQuantizationFloat32Workload.hpp4
-rw-r--r--src/backends/reference/workloads/RefFillWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefFloorWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefFullyConnectedWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefGatherWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefInstanceNormalizationWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefL2NormalizationWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefLogSoftmaxWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefLogicalBinaryWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefLogicalUnaryWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefLstmWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefMeanWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefNormalizationWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefPadWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefPermuteWorkload.hpp2
-rw-r--r--src/backends/reference/workloads/RefPooling2dWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefPooling3dWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefPreluWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefQLstmWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefQuantizeWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefRankWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefReduceWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefReshapeWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefResizeWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefShapeWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefSliceWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefSoftmaxWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefSpaceToBatchNdWorkload.hpp2
-rw-r--r--src/backends/reference/workloads/RefSpaceToDepthWorkload.hpp2
-rw-r--r--src/backends/reference/workloads/RefSplitterWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefStackWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefStridedSliceWorkload.hpp2
-rw-r--r--src/backends/reference/workloads/RefTransposeConvolution2dWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefTransposeWorkload.hpp2
-rw-r--r--src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.hpp4
-rw-r--r--src/backends/reference/workloads/RefWorkloadUtils.hpp2
-rw-r--r--src/backends/reference/workloads/Splitter.cpp2
-rw-r--r--src/backends/reference/workloads/Splitter.hpp2
-rw-r--r--src/backends/reference/workloads/Stack.hpp2
-rw-r--r--src/dynamic/sample/SampleDynamicAdditionWorkload.hpp4
-rw-r--r--src/dynamic/sample/SampleDynamicWorkloadFactory.cpp4
-rw-r--r--src/dynamic/sample/SampleDynamicWorkloadFactory.hpp2
-rw-r--r--src/dynamic/sample/SampleTensorHandle.hpp2
516 files changed, 2316 insertions, 2296 deletions
diff --git a/include/armnn/backends/MemCopyWorkload.hpp b/include/armnn/backends/MemCopyWorkload.hpp
new file mode 100644
index 0000000000..da23f52be6
--- /dev/null
+++ b/include/armnn/backends/MemCopyWorkload.hpp
@@ -0,0 +1,27 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include "TensorHandle.hpp"
+#include "Workload.hpp"
+
+#include <utility>
+
+namespace armnn
+{
+
+class CopyMemGenericWorkload : public BaseWorkload<MemCopyQueueDescriptor>
+{
+public:
+ CopyMemGenericWorkload(const MemCopyQueueDescriptor& descriptor, const WorkloadInfo& info);
+ void Execute() const override;
+ void ExecuteAsync(WorkingMemDescriptor& descriptor) override;
+
+private:
+ using TensorHandlePair = std::pair<const ITensorHandle*, ITensorHandle*>;
+ std::vector<TensorHandlePair> m_TensorHandlePairs;
+};
+
+} //namespace armnn
diff --git a/include/armnn/backends/TensorHandle.hpp b/include/armnn/backends/TensorHandle.hpp
new file mode 100644
index 0000000000..2e6c8485d1
--- /dev/null
+++ b/include/armnn/backends/TensorHandle.hpp
@@ -0,0 +1,267 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "ITensorHandle.hpp"
+
+#include <armnn/TypesUtils.hpp>
+#include <armnn/utility/Assert.hpp>
+#include <armnnUtils/CompatibleTypes.hpp>
+
+#include <algorithm>
+
+namespace armnn
+{
+
+// Get a TensorShape representing the strides (in bytes) for each dimension
+// of a tensor, assuming fully packed data with no padding
+TensorShape GetUnpaddedTensorStrides(const TensorInfo& tensorInfo);
+
+// Abstract tensor handles wrapping a readable region of memory, interpreting it as tensor data.
+class ConstTensorHandle : public ITensorHandle
+{
+public:
+ template <typename T>
+ const T* GetConstTensor() const
+ {
+ if (armnnUtils::CompatibleTypes<T>(GetTensorInfo().GetDataType()))
+ {
+ return reinterpret_cast<const T*>(m_Memory);
+ }
+ else
+ {
+ throw armnn::Exception("Attempting to get not compatible type tensor!");
+ }
+ }
+
+ const TensorInfo& GetTensorInfo() const
+ {
+ return m_TensorInfo;
+ }
+
+ virtual void Manage() override {}
+
+ virtual ITensorHandle* GetParent() const override { return nullptr; }
+
+ virtual const void* Map(bool /* blocking = true */) const override { return m_Memory; }
+ virtual void Unmap() const override {}
+
+ TensorShape GetStrides() const override
+ {
+ return GetUnpaddedTensorStrides(m_TensorInfo);
+ }
+ TensorShape GetShape() const override { return m_TensorInfo.GetShape(); }
+
+protected:
+ ConstTensorHandle(const TensorInfo& tensorInfo);
+
+ void SetConstMemory(const void* mem) { m_Memory = mem; }
+
+private:
+ // Only used for testing
+ void CopyOutTo(void *) const override { ARMNN_ASSERT_MSG(false, "Unimplemented"); }
+ void CopyInFrom(const void*) override { ARMNN_ASSERT_MSG(false, "Unimplemented"); }
+
+ ConstTensorHandle(const ConstTensorHandle& other) = delete;
+ ConstTensorHandle& operator=(const ConstTensorHandle& other) = delete;
+
+ TensorInfo m_TensorInfo;
+ const void* m_Memory;
+};
+
+template<>
+const void* ConstTensorHandle::GetConstTensor<void>() const;
+
+// Abstract specialization of ConstTensorHandle that allows write access to the same data.
+class TensorHandle : public ConstTensorHandle
+{
+public:
+ template <typename T>
+ T* GetTensor() const
+ {
+ if (armnnUtils::CompatibleTypes<T>(GetTensorInfo().GetDataType()))
+ {
+ return reinterpret_cast<T*>(m_MutableMemory);
+ }
+ else
+ {
+ throw armnn::Exception("Attempting to get not compatible type tensor!");
+ }
+ }
+
+protected:
+ TensorHandle(const TensorInfo& tensorInfo);
+
+ void SetMemory(void* mem)
+ {
+ m_MutableMemory = mem;
+ SetConstMemory(m_MutableMemory);
+ }
+
+private:
+
+ TensorHandle(const TensorHandle& other) = delete;
+ TensorHandle& operator=(const TensorHandle& other) = delete;
+ void* m_MutableMemory;
+};
+
+template <>
+void* TensorHandle::GetTensor<void>() const;
+
+// A TensorHandle that owns the wrapped memory region.
+class ScopedTensorHandle : public TensorHandle
+{
+public:
+ explicit ScopedTensorHandle(const TensorInfo& tensorInfo);
+
+ // Copies contents from Tensor.
+ explicit ScopedTensorHandle(const ConstTensor& tensor);
+
+ // Copies contents from ConstTensorHandle
+ explicit ScopedTensorHandle(const ConstTensorHandle& tensorHandle);
+
+ ScopedTensorHandle(const ScopedTensorHandle& other);
+ ScopedTensorHandle& operator=(const ScopedTensorHandle& other);
+ ~ScopedTensorHandle();
+
+ virtual void Allocate() override;
+
+private:
+ // Only used for testing
+ void CopyOutTo(void* memory) const override;
+ void CopyInFrom(const void* memory) override;
+
+ void CopyFrom(const ScopedTensorHandle& other);
+ void CopyFrom(const void* srcMemory, unsigned int numBytes);
+};
+
+// A TensorHandle that wraps an already allocated memory region.
+//
+// Clients must make sure the passed in memory region stays alive for the lifetime of
+// the PassthroughTensorHandle instance.
+//
+// Note there is no polymorphism to/from ConstPassthroughTensorHandle.
+class PassthroughTensorHandle : public TensorHandle
+{
+public:
+ PassthroughTensorHandle(const TensorInfo& tensorInfo, void* mem)
+ : TensorHandle(tensorInfo)
+ {
+ SetMemory(mem);
+ }
+
+ virtual void Allocate() override;
+};
+
+// A ConstTensorHandle that wraps an already allocated memory region.
+//
+// This allows users to pass in const memory to a network.
+// Clients must make sure the passed in memory region stays alive for the lifetime of
+// the PassthroughTensorHandle instance.
+//
+// Note there is no polymorphism to/from PassthroughTensorHandle.
+class ConstPassthroughTensorHandle : public ConstTensorHandle
+{
+public:
+ ConstPassthroughTensorHandle(const TensorInfo& tensorInfo, const void* mem)
+ : ConstTensorHandle(tensorInfo)
+ {
+ SetConstMemory(mem);
+ }
+
+ virtual void Allocate() override;
+};
+
+
+// Template specializations.
+
+template <>
+const void* ConstTensorHandle::GetConstTensor() const;
+
+template <>
+void* TensorHandle::GetTensor() const;
+
+class ManagedConstTensorHandle
+{
+
+public:
+ explicit ManagedConstTensorHandle(std::shared_ptr<ConstTensorHandle> ptr)
+ : m_Mapped(false)
+ , m_TensorHandle(std::move(ptr)) {};
+
+ /// RAII Managed resource Unmaps MemoryArea once out of scope
+ const void* Map(bool blocking = true)
+ {
+ if (m_TensorHandle)
+ {
+ auto pRet = m_TensorHandle->Map(blocking);
+ m_Mapped = true;
+ return pRet;
+ }
+ else
+ {
+ throw armnn::Exception("Attempting to Map null TensorHandle");
+ }
+
+ }
+
+ // Delete copy constructor as it's unnecessary
+ ManagedConstTensorHandle(const ConstTensorHandle& other) = delete;
+
+ // Delete copy assignment as it's unnecessary
+ ManagedConstTensorHandle& operator=(const ManagedConstTensorHandle& other) = delete;
+
+ // Delete move assignment as it's unnecessary
+ ManagedConstTensorHandle& operator=(ManagedConstTensorHandle&& other) noexcept = delete;
+
+ ~ManagedConstTensorHandle()
+ {
+ // Bias tensor handles need to be initialized empty before entering scope of if statement checking if enabled
+ if (m_TensorHandle)
+ {
+ Unmap();
+ }
+ }
+
+ void Unmap()
+ {
+ // Only unmap if mapped and TensorHandle exists.
+ if (m_Mapped && m_TensorHandle)
+ {
+ m_TensorHandle->Unmap();
+ m_Mapped = false;
+ }
+ }
+
+ const TensorInfo& GetTensorInfo() const
+ {
+ return m_TensorHandle->GetTensorInfo();
+ }
+
+ bool IsMapped() const
+ {
+ return m_Mapped;
+ }
+
+private:
+ bool m_Mapped;
+ std::shared_ptr<ConstTensorHandle> m_TensorHandle;
+};
+
+using ConstCpuTensorHandle ARMNN_DEPRECATED_MSG_REMOVAL_DATE("ConstCpuTensorHandle is deprecated, "
+ "use ConstTensorHandle instead", "22.05") = ConstTensorHandle;
+using CpuTensorHandle ARMNN_DEPRECATED_MSG_REMOVAL_DATE("CpuTensorHandle is deprecated, "
+ "use TensorHandle instead", "22.05") = TensorHandle;
+using ScopedCpuTensorHandle ARMNN_DEPRECATED_MSG_REMOVAL_DATE("ScopedCpuTensorHandle is deprecated, "
+ "use ScopedTensorHandle instead", "22.05") = ScopedTensorHandle;
+using PassthroughCpuTensorHandle ARMNN_DEPRECATED_MSG_REMOVAL_DATE("PassthroughCpuTensorHandle is deprecated, use "
+ "PassthroughTensorHandle instead",
+ "22.05") = PassthroughTensorHandle;
+using ConstPassthroughCpuTensorHandle ARMNN_DEPRECATED_MSG_REMOVAL_DATE("ConstPassthroughCpuTensorHandle is "
+ "deprecated, use ConstPassthroughTensorHandle "
+ "instead", "22.05") = ConstPassthroughTensorHandle;
+
+} // namespace armnn
diff --git a/include/armnn/backends/Workload.hpp b/include/armnn/backends/Workload.hpp
new file mode 100644
index 0000000000..7c1bda50bc
--- /dev/null
+++ b/include/armnn/backends/Workload.hpp
@@ -0,0 +1,219 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include "IWorkload.hpp"
+#include "WorkloadData.hpp"
+#include "WorkloadInfo.hpp"
+#include "WorkingMemDescriptor.hpp"
+
+#include <Profiling.hpp>
+#include <ProfilingService.hpp>
+
+#include <algorithm>
+
+namespace armnn
+{
+
+// NullWorkload used to denote an unsupported workload when used by the MakeWorkload<> template
+// in the various workload factories.
+// There should never be an instantiation of a NullWorkload.
+class NullWorkload : public IWorkload
+{
+ NullWorkload()=delete;
+};
+
+template <typename QueueDescriptor>
+class BaseWorkload : public IWorkload
+{
+public:
+
+ BaseWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
+ : m_Data(descriptor),
+ m_Guid(profiling::ProfilingService::GetNextGuid())
+ {
+ m_Data.Validate(info);
+ }
+
+ void ExecuteAsync(WorkingMemDescriptor& workingMemDescriptor) override
+ {
+ ARMNN_LOG(info) << "Using default async workload execution, this will network affect performance";
+ std::lock_guard<std::mutex> lockGuard(m_AsyncWorkloadMutex);
+
+ m_Data.m_Inputs = workingMemDescriptor.m_Inputs;
+ m_Data.m_Outputs = workingMemDescriptor.m_Outputs;
+
+ Execute();
+ };
+
+ void PostAllocationConfigure() override {}
+
+ const QueueDescriptor& GetData() const { return m_Data; }
+
+ profiling::ProfilingGuid GetGuid() const final { return m_Guid; }
+
+protected:
+ QueueDescriptor m_Data;
+ const profiling::ProfilingGuid m_Guid;
+
+private:
+ std::mutex m_AsyncWorkloadMutex;
+};
+
+// TypedWorkload used
+template <typename QueueDescriptor, armnn::DataType... DataTypes>
+class TypedWorkload : public BaseWorkload<QueueDescriptor>
+{
+public:
+
+ TypedWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
+ : BaseWorkload<QueueDescriptor>(descriptor, info)
+ {
+ std::vector<armnn::DataType> dataTypes = {DataTypes...};
+ armnn::DataType expectedInputType;
+
+ if (!info.m_InputTensorInfos.empty())
+ {
+ expectedInputType = info.m_InputTensorInfos.front().GetDataType();
+
+ if (std::find(dataTypes.begin(), dataTypes.end(), expectedInputType) == dataTypes.end())
+ {
+ ARMNN_ASSERT_MSG(false, "Trying to create workload with incorrect type");
+ }
+ ARMNN_ASSERT_MSG(std::all_of(std::next(info.m_InputTensorInfos.begin()),
+ info.m_InputTensorInfos.end(),
+ [&](auto it){
+ return it.GetDataType() == expectedInputType;
+ }),
+ "Trying to create workload with incorrect type");
+ }
+ armnn::DataType expectedOutputType;
+
+ if (!info.m_OutputTensorInfos.empty())
+ {
+ expectedOutputType = info.m_OutputTensorInfos.front().GetDataType();
+
+ if (!info.m_InputTensorInfos.empty())
+ {
+ if (expectedOutputType != expectedInputType)
+ {
+ ARMNN_ASSERT_MSG(false, "Trying to create workload with incorrect type");
+ }
+ }
+ else if (std::find(dataTypes.begin(), dataTypes.end(), expectedOutputType) == dataTypes.end())
+ {
+ ARMNN_ASSERT_MSG(false, "Trying to create workload with incorrect type");
+ }
+ ARMNN_ASSERT_MSG(std::all_of(std::next(info.m_OutputTensorInfos.begin()),
+ info.m_OutputTensorInfos.end(),
+ [&](auto it){
+ return it.GetDataType() == expectedOutputType;
+ }),
+ "Trying to create workload with incorrect type");
+ }
+ }
+};
+
+template <typename QueueDescriptor, armnn::DataType InputDataType, armnn::DataType OutputDataType>
+class MultiTypedWorkload : public BaseWorkload<QueueDescriptor>
+{
+public:
+
+ MultiTypedWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
+ : BaseWorkload<QueueDescriptor>(descriptor, info)
+ {
+ ARMNN_ASSERT_MSG(std::all_of(info.m_InputTensorInfos.begin(),
+ info.m_InputTensorInfos.end(),
+ [&](auto it){
+ return it.GetDataType() == InputDataType;
+ }),
+ "Trying to create workload with incorrect type");
+
+ ARMNN_ASSERT_MSG(std::all_of(info.m_OutputTensorInfos.begin(),
+ info.m_OutputTensorInfos.end(),
+ [&](auto it){
+ return it.GetDataType() == OutputDataType;
+ }),
+ "Trying to create workload with incorrect type");
+ }
+};
+
+// FirstInputTypedWorkload used to check type of the first input
+template <typename QueueDescriptor, armnn::DataType DataType>
+class FirstInputTypedWorkload : public BaseWorkload<QueueDescriptor>
+{
+public:
+
+ FirstInputTypedWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
+ : BaseWorkload<QueueDescriptor>(descriptor, info)
+ {
+ if (!info.m_InputTensorInfos.empty())
+ {
+ ARMNN_ASSERT_MSG(info.m_InputTensorInfos.front().GetDataType() == DataType,
+ "Trying to create workload with incorrect type");
+ }
+
+ ARMNN_ASSERT_MSG(std::all_of(info.m_OutputTensorInfos.begin(),
+ info.m_OutputTensorInfos.end(),
+ [&](auto it){
+ return it.GetDataType() == DataType;
+ }),
+ "Trying to create workload with incorrect type");
+ }
+};
+
+template <typename QueueDescriptor>
+using FloatWorkload = TypedWorkload<QueueDescriptor,
+ armnn::DataType::Float16,
+ armnn::DataType::Float32>;
+
+template <typename QueueDescriptor>
+using Float32Workload = TypedWorkload<QueueDescriptor, armnn::DataType::Float32>;
+
+template <typename QueueDescriptor>
+using Uint8Workload = TypedWorkload<QueueDescriptor, armnn::DataType::QAsymmU8>;
+
+template <typename QueueDescriptor>
+using Int32Workload = TypedWorkload<QueueDescriptor, armnn::DataType::Signed32>;
+
+template <typename QueueDescriptor>
+using BooleanWorkload = TypedWorkload<QueueDescriptor, armnn::DataType::Boolean>;
+
+template <typename QueueDescriptor>
+using BaseFloat32ComparisonWorkload = MultiTypedWorkload<QueueDescriptor,
+ armnn::DataType::Float32,
+ armnn::DataType::Boolean>;
+
+template <typename QueueDescriptor>
+using BaseUint8ComparisonWorkload = MultiTypedWorkload<QueueDescriptor,
+ armnn::DataType::QAsymmU8,
+ armnn::DataType::Boolean>;
+
+template <typename QueueDescriptor>
+using BFloat16ToFloat32Workload = MultiTypedWorkload<QueueDescriptor,
+ armnn::DataType::BFloat16,
+ armnn::DataType::Float32>;
+
+template <typename QueueDescriptor>
+using Float32ToBFloat16Workload = MultiTypedWorkload<QueueDescriptor,
+ armnn::DataType::Float32,
+ armnn::DataType::BFloat16>;
+
+template <typename QueueDescriptor>
+using Float16ToFloat32Workload = MultiTypedWorkload<QueueDescriptor,
+ armnn::DataType::Float16,
+ armnn::DataType::Float32>;
+
+template <typename QueueDescriptor>
+using Float32ToFloat16Workload = MultiTypedWorkload<QueueDescriptor,
+ armnn::DataType::Float32,
+ armnn::DataType::Float16>;
+
+template <typename QueueDescriptor>
+using Uint8ToFloat32Workload = MultiTypedWorkload<QueueDescriptor,
+ armnn::DataType::QAsymmU8,
+ armnn::DataType::Float32>;
+
+} //namespace armnn
diff --git a/include/armnn/backends/WorkloadData.hpp b/include/armnn/backends/WorkloadData.hpp
new file mode 100644
index 0000000000..7406547216
--- /dev/null
+++ b/include/armnn/backends/WorkloadData.hpp
@@ -0,0 +1,769 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include "TensorHandle.hpp"
+
+#include <armnn/Deprecated.hpp>
+#include <armnn/Descriptors.hpp>
+#include <armnn/Exceptions.hpp>
+#include <armnn/Types.hpp>
+#include <armnn/Tensor.hpp>
+#include <common/include/ProfilingGuid.hpp>
+
+namespace armnn
+{
+
+//A helper function that returns the bias data type required for given input data type.
+DataType GetBiasDataType(DataType inputDataType);
+
+struct WorkloadInfo;
+
+struct QueueDescriptor
+{
+ std::vector<ITensorHandle*> m_Inputs;
+ std::vector<ITensorHandle*> m_Outputs;
+ void* m_AdditionalInfoObject;
+
+ void ValidateInputsOutputs(const std::string& descName,
+ unsigned int numExpectedIn,
+ unsigned int numExpectedOut) const;
+
+ template<typename T>
+ const T* GetAdditionalInformation() const
+ {
+ return static_cast<T*>(m_AdditionalInfoObject);
+ }
+
+protected:
+ ~QueueDescriptor() = default;
+ QueueDescriptor()
+ : m_AdditionalInfoObject(nullptr)
+ {}
+ QueueDescriptor(QueueDescriptor const&) = default;
+ QueueDescriptor& operator=(QueueDescriptor const&) = default;
+};
+
+// Base class for queue descriptors which contain parameters.
+template <typename LayerDescriptor>
+struct QueueDescriptorWithParameters : public QueueDescriptor
+{
+ LayerDescriptor m_Parameters;
+
+protected:
+ ~QueueDescriptorWithParameters() = default;
+ QueueDescriptorWithParameters() = default;
+ QueueDescriptorWithParameters(QueueDescriptorWithParameters const&) = default;
+ QueueDescriptorWithParameters& operator=(QueueDescriptorWithParameters const&) = default;
+};
+
+struct MapQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct UnmapQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct MemCopyQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+using InputQueueDescriptor = MemCopyQueueDescriptor;
+using OutputQueueDescriptor = MemCopyQueueDescriptor;
+
+struct MemImportQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct MemSyncQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Softmax layer workload data.
+struct SoftmaxQueueDescriptor : QueueDescriptorWithParameters<SoftmaxDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Splitter layer workload data.
+struct SplitterQueueDescriptor : QueueDescriptorWithParameters<ViewsDescriptor>
+{
+ struct ViewOrigin
+ {
+ ViewOrigin() {}
+ ViewOrigin(std::vector<unsigned int> const& origin) : m_Origin(origin) {}
+
+ //View origin (size of the vector is the same as number of dimensions of the view).
+ std::vector<unsigned int> m_Origin;
+ };
+
+ //View defines a tensor that will be carved from the input tensor.
+ //View origins are stored here, the extents are defined by sizes of the output tensors.
+ std::vector<ViewOrigin> m_ViewOrigins;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Concat layer workload data.
+struct ConcatQueueDescriptor : QueueDescriptorWithParameters<OriginsDescriptor>
+{
+ struct ViewOrigin
+ {
+ ViewOrigin() {}
+ ViewOrigin(const std::vector<unsigned int>& origin) : m_Origin(origin) {}
+
+ //View origin (size of the vector is the same as number of dimensions of the view).
+ std::vector<unsigned int> m_Origin;
+ };
+
+ //View defines a sub-area of the output tensor that will be filled with the corresponding input tensor.
+ //View origins are stored here, the extents are defined by sizes of the input tensors.
+ std::vector<ViewOrigin> m_ViewOrigins;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Deprecated. Use ConcatQueueDescriptor instead
+using MergerQueueDescriptor = ConcatQueueDescriptor;
+
+// Stack layer workload data.
+struct StackQueueDescriptor : QueueDescriptorWithParameters<StackDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Activation layer workload data.
+struct ActivationQueueDescriptor : QueueDescriptorWithParameters<ActivationDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ArgMinMaxQueueDescriptor : QueueDescriptorWithParameters<ArgMinMaxDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct CastQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Fill layer workload data.
+struct FillQueueDescriptor : QueueDescriptorWithParameters<FillDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Fully connected layer workload data.
+struct FullyConnectedQueueDescriptor : QueueDescriptorWithParameters<FullyConnectedDescriptor>
+{
+ FullyConnectedQueueDescriptor()
+ : m_Weight(nullptr)
+ , m_Bias(nullptr)
+ {
+ }
+
+ const ConstTensorHandle* m_Weight;
+ const ConstTensorHandle* m_Bias;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Permute layer workload data.
+struct PermuteQueueDescriptor : QueueDescriptorWithParameters<PermuteDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Pooling 2D layer workload data.
+struct Pooling2dQueueDescriptor : QueueDescriptorWithParameters<Pooling2dDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Pooling 3D layer workload data.
+struct Pooling3dQueueDescriptor : QueueDescriptorWithParameters<Pooling3dDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+
+// Convolution 2D layer workload data.
+struct Convolution2dQueueDescriptor : QueueDescriptorWithParameters<Convolution2dDescriptor>
+{
+ Convolution2dQueueDescriptor()
+ : m_Weight(nullptr)
+ , m_Bias(nullptr)
+ {
+ }
+
+ const ConstTensorHandle* m_Weight;
+ const ConstTensorHandle* m_Bias;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Convolution 3D layer workload data.
+struct Convolution3dQueueDescriptor : QueueDescriptorWithParameters<Convolution3dDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+/// Depthwise Convolution 2D layer workload data.
+///
+/// @note
+/// The weights are in the format [1, H, W, I*M]. Where I is the input channel size, M the depthwise mutliplier and
+/// H, W is the height and width of the filter kernel. If per channel quantization is applied
+/// the weights will be quantized along the last dimension/axis (I*M) which corresponds to the output channel size.
+/// If per channel quantization is applied the weights tensor will have I*M scales, one for each dimension
+/// of the quantization axis. You have to be aware of this when reshaping the weights tensor.
+/// Splitting the I*M axis, e.g. [1, H, W, I*M] --> [H, W, I, M], won't work without taking care of the
+/// corresponding quantization scales.
+/// If there is no per channel quantization applied reshaping the weights tensor won't cause any issues. There are
+/// preconfigured permutation functions available @link WorkloadUtils.hpp here.
+///
+struct DepthwiseConvolution2dQueueDescriptor : QueueDescriptorWithParameters<DepthwiseConvolution2dDescriptor>
+{
+ DepthwiseConvolution2dQueueDescriptor()
+ : m_Weight(nullptr)
+ , m_Bias(nullptr)
+ {
+ }
+
+ const ConstTensorHandle* m_Weight;
+ const ConstTensorHandle* m_Bias;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct DetectionPostProcessQueueDescriptor : QueueDescriptorWithParameters<DetectionPostProcessDescriptor>
+{
+ DetectionPostProcessQueueDescriptor()
+ : m_Anchors(nullptr)
+ {
+ }
+
+ const ConstTensorHandle* m_Anchors;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Normalization layer workload data.
+struct NormalizationQueueDescriptor : QueueDescriptorWithParameters<NormalizationDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Add layer workload data.
+struct AdditionQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Multiplication layer workload data.
+struct MultiplicationQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Division layer workload data.
+struct DivisionQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Subtraction layer workload data.
+struct SubtractionQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Maximum layer workload data.
+struct MaximumQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Mean layer workload data.
+struct MeanQueueDescriptor : QueueDescriptorWithParameters<MeanDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Pad layer workload data
+struct PadQueueDescriptor : QueueDescriptorWithParameters<PadDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct QuantizeQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Deprecated use ComparisonQueueDescriptor instead
+struct EqualQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Batch norm layer workload data.
+struct BatchNormalizationQueueDescriptor : QueueDescriptorWithParameters<BatchNormalizationDescriptor>
+{
+ BatchNormalizationQueueDescriptor()
+ : m_Mean(nullptr)
+ , m_Variance(nullptr)
+ , m_Beta(nullptr)
+ , m_Gamma(nullptr)
+ {
+ }
+
+ const ConstTensorHandle* m_Mean;
+ const ConstTensorHandle* m_Variance;
+ const ConstTensorHandle* m_Beta;
+ const ConstTensorHandle* m_Gamma;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct RankQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+ARMNN_NO_DEPRECATE_WARN_BEGIN
+struct
+ARMNN_DEPRECATED_MSG_REMOVAL_DATE("ResizeBilinearQueueDescriptor is deprecated use ResizeQueueDescriptor instead",
+ "22.08")
+ResizeBilinearQueueDescriptor : QueueDescriptorWithParameters<ResizeBilinearDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+ARMNN_NO_DEPRECATE_WARN_END
+
+struct ResizeQueueDescriptor : QueueDescriptorWithParameters<ResizeDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct FakeQuantizationQueueDescriptor : QueueDescriptorWithParameters<FakeQuantizationDescriptor>
+{
+ FakeQuantizationQueueDescriptor()
+ : m_Min(nullptr)
+ , m_Max(nullptr)
+ {
+ }
+
+ const ConstTensorHandle* m_Min;
+ const ConstTensorHandle* m_Max;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct InstanceNormalizationQueueDescriptor : QueueDescriptorWithParameters<InstanceNormalizationDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct L2NormalizationQueueDescriptor : QueueDescriptorWithParameters<L2NormalizationDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct LogSoftmaxQueueDescriptor : QueueDescriptorWithParameters<LogSoftmaxDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ConstantQueueDescriptor : QueueDescriptor
+{
+ ConstantQueueDescriptor()
+ : m_LayerOutput(nullptr)
+ {
+ }
+
+ const ConstTensorHandle* m_LayerOutput;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ReshapeQueueDescriptor : QueueDescriptorWithParameters<ReshapeDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct SpaceToBatchNdQueueDescriptor : QueueDescriptorWithParameters<SpaceToBatchNdDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct SpaceToDepthQueueDescriptor : QueueDescriptorWithParameters<SpaceToDepthDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct FloorQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct LstmQueueDescriptor : QueueDescriptorWithParameters<LstmDescriptor>
+{
+ LstmQueueDescriptor()
+ : m_InputToInputWeights(nullptr)
+ , m_InputToForgetWeights(nullptr)
+ , m_InputToCellWeights(nullptr)
+ , m_InputToOutputWeights(nullptr)
+ , m_RecurrentToInputWeights(nullptr)
+ , m_RecurrentToForgetWeights(nullptr)
+ , m_RecurrentToCellWeights(nullptr)
+ , m_RecurrentToOutputWeights(nullptr)
+ , m_CellToInputWeights(nullptr)
+ , m_CellToForgetWeights(nullptr)
+ , m_CellToOutputWeights(nullptr)
+ , m_InputGateBias(nullptr)
+ , m_ForgetGateBias(nullptr)
+ , m_CellBias(nullptr)
+ , m_OutputGateBias(nullptr)
+ , m_ProjectionWeights(nullptr)
+ , m_ProjectionBias(nullptr)
+ , m_InputLayerNormWeights(nullptr)
+ , m_ForgetLayerNormWeights(nullptr)
+ , m_CellLayerNormWeights(nullptr)
+ , m_OutputLayerNormWeights(nullptr)
+ {
+ }
+
+ const ConstTensorHandle* m_InputToInputWeights;
+ const ConstTensorHandle* m_InputToForgetWeights;
+ const ConstTensorHandle* m_InputToCellWeights;
+ const ConstTensorHandle* m_InputToOutputWeights;
+ const ConstTensorHandle* m_RecurrentToInputWeights;
+ const ConstTensorHandle* m_RecurrentToForgetWeights;
+ const ConstTensorHandle* m_RecurrentToCellWeights;
+ const ConstTensorHandle* m_RecurrentToOutputWeights;
+ const ConstTensorHandle* m_CellToInputWeights;
+ const ConstTensorHandle* m_CellToForgetWeights;
+ const ConstTensorHandle* m_CellToOutputWeights;
+ const ConstTensorHandle* m_InputGateBias;
+ const ConstTensorHandle* m_ForgetGateBias;
+ const ConstTensorHandle* m_CellBias;
+ const ConstTensorHandle* m_OutputGateBias;
+ const ConstTensorHandle* m_ProjectionWeights;
+ const ConstTensorHandle* m_ProjectionBias;
+ const ConstTensorHandle* m_InputLayerNormWeights;
+ const ConstTensorHandle* m_ForgetLayerNormWeights;
+ const ConstTensorHandle* m_CellLayerNormWeights;
+ const ConstTensorHandle* m_OutputLayerNormWeights;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ConvertBf16ToFp32QueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ConvertFp32ToBf16QueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ConvertFp16ToFp32QueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ConvertFp32ToFp16QueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct BatchToSpaceNdQueueDescriptor : QueueDescriptorWithParameters<BatchToSpaceNdDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct StridedSliceQueueDescriptor : QueueDescriptorWithParameters<StridedSliceDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Minimum layer workload data.
+struct MinimumQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+// Deprecated use ComparisonQueueDescriptor instead
+struct GreaterQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct DebugQueueDescriptor : QueueDescriptor
+{
+ DebugQueueDescriptor() : m_Guid(0) {}
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+
+ LayerGuid m_Guid;
+ std::string m_LayerName;
+ unsigned int m_SlotIndex;
+};
+
+struct RsqrtQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct GatherQueueDescriptor : QueueDescriptorWithParameters<GatherDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct PreCompiledQueueDescriptor : QueueDescriptorWithParameters<PreCompiledDescriptor>
+{
+ PreCompiledQueueDescriptor()
+ : m_PreCompiledObject(nullptr)
+ {
+ }
+
+ void* m_PreCompiledObject;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct DequantizeQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct MergeQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct SwitchQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct PreluQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct TransposeConvolution2dQueueDescriptor : QueueDescriptorWithParameters<TransposeConvolution2dDescriptor>
+{
+ TransposeConvolution2dQueueDescriptor() :
+ m_Weight(nullptr),
+ m_Bias(nullptr)
+ {}
+
+ const ConstTensorHandle* m_Weight;
+ const ConstTensorHandle* m_Bias;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct TransposeQueueDescriptor : QueueDescriptorWithParameters<TransposeDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct QLstmQueueDescriptor : QueueDescriptorWithParameters<QLstmDescriptor>
+{
+ QLstmQueueDescriptor()
+ : m_InputToInputWeights(nullptr)
+ , m_InputToForgetWeights(nullptr)
+ , m_InputToCellWeights(nullptr)
+ , m_InputToOutputWeights(nullptr)
+ , m_RecurrentToInputWeights(nullptr)
+ , m_RecurrentToForgetWeights(nullptr)
+ , m_RecurrentToCellWeights(nullptr)
+ , m_RecurrentToOutputWeights(nullptr)
+ , m_CellToInputWeights(nullptr)
+ , m_CellToForgetWeights(nullptr)
+ , m_CellToOutputWeights(nullptr)
+ , m_InputGateBias(nullptr)
+ , m_ForgetGateBias(nullptr)
+ , m_CellBias(nullptr)
+ , m_OutputGateBias(nullptr)
+ , m_ProjectionWeights(nullptr)
+ , m_ProjectionBias(nullptr)
+ , m_InputLayerNormWeights(nullptr)
+ , m_ForgetLayerNormWeights(nullptr)
+ , m_CellLayerNormWeights(nullptr)
+ , m_OutputLayerNormWeights(nullptr)
+ {
+ }
+
+ const ConstTensorHandle* m_InputToInputWeights;
+ const ConstTensorHandle* m_InputToForgetWeights;
+ const ConstTensorHandle* m_InputToCellWeights;
+ const ConstTensorHandle* m_InputToOutputWeights;
+ const ConstTensorHandle* m_RecurrentToInputWeights;
+ const ConstTensorHandle* m_RecurrentToForgetWeights;
+ const ConstTensorHandle* m_RecurrentToCellWeights;
+ const ConstTensorHandle* m_RecurrentToOutputWeights;
+ const ConstTensorHandle* m_CellToInputWeights;
+ const ConstTensorHandle* m_CellToForgetWeights;
+ const ConstTensorHandle* m_CellToOutputWeights;
+ const ConstTensorHandle* m_InputGateBias;
+ const ConstTensorHandle* m_ForgetGateBias;
+ const ConstTensorHandle* m_CellBias;
+ const ConstTensorHandle* m_OutputGateBias;
+ const ConstTensorHandle* m_ProjectionWeights;
+ const ConstTensorHandle* m_ProjectionBias;
+ const ConstTensorHandle* m_InputLayerNormWeights;
+ const ConstTensorHandle* m_ForgetLayerNormWeights;
+ const ConstTensorHandle* m_CellLayerNormWeights;
+ const ConstTensorHandle* m_OutputLayerNormWeights;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct QuantizedLstmQueueDescriptor : QueueDescriptor
+{
+ QuantizedLstmQueueDescriptor()
+ : m_InputToInputWeights(nullptr)
+ , m_InputToForgetWeights(nullptr)
+ , m_InputToCellWeights(nullptr)
+ , m_InputToOutputWeights(nullptr)
+
+ , m_RecurrentToInputWeights(nullptr)
+ , m_RecurrentToForgetWeights(nullptr)
+ , m_RecurrentToCellWeights(nullptr)
+ , m_RecurrentToOutputWeights(nullptr)
+
+ , m_InputGateBias(nullptr)
+ , m_ForgetGateBias(nullptr)
+ , m_CellBias(nullptr)
+ , m_OutputGateBias(nullptr)
+ {}
+
+ const ConstTensorHandle* m_InputToInputWeights;
+ const ConstTensorHandle* m_InputToForgetWeights;
+ const ConstTensorHandle* m_InputToCellWeights;
+ const ConstTensorHandle* m_InputToOutputWeights;
+
+ const ConstTensorHandle* m_RecurrentToInputWeights;
+ const ConstTensorHandle* m_RecurrentToForgetWeights;
+ const ConstTensorHandle* m_RecurrentToCellWeights;
+ const ConstTensorHandle* m_RecurrentToOutputWeights;
+
+ const ConstTensorHandle* m_InputGateBias;
+ const ConstTensorHandle* m_ForgetGateBias;
+ const ConstTensorHandle* m_CellBias;
+ const ConstTensorHandle* m_OutputGateBias;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct AbsQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct SliceQueueDescriptor : QueueDescriptorWithParameters<SliceDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct DepthToSpaceQueueDescriptor : QueueDescriptorWithParameters<DepthToSpaceDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ComparisonQueueDescriptor : QueueDescriptorWithParameters<ComparisonDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ElementwiseUnaryQueueDescriptor : QueueDescriptorWithParameters<ElementwiseUnaryDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct LogicalBinaryQueueDescriptor : QueueDescriptorWithParameters<LogicalBinaryDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ReduceQueueDescriptor : QueueDescriptorWithParameters<ReduceDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ShapeQueueDescriptor : QueueDescriptor
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct UnidirectionalSequenceLstmQueueDescriptor : QueueDescriptorWithParameters<LstmDescriptor>
+{
+ UnidirectionalSequenceLstmQueueDescriptor()
+ : m_InputToInputWeights(nullptr)
+ , m_InputToForgetWeights(nullptr)
+ , m_InputToCellWeights(nullptr)
+ , m_InputToOutputWeights(nullptr)
+ , m_RecurrentToInputWeights(nullptr)
+ , m_RecurrentToForgetWeights(nullptr)
+ , m_RecurrentToCellWeights(nullptr)
+ , m_RecurrentToOutputWeights(nullptr)
+ , m_CellToInputWeights(nullptr)
+ , m_CellToForgetWeights(nullptr)
+ , m_CellToOutputWeights(nullptr)
+ , m_InputGateBias(nullptr)
+ , m_ForgetGateBias(nullptr)
+ , m_CellBias(nullptr)
+ , m_OutputGateBias(nullptr)
+ , m_ProjectionWeights(nullptr)
+ , m_ProjectionBias(nullptr)
+ , m_InputLayerNormWeights(nullptr)
+ , m_ForgetLayerNormWeights(nullptr)
+ , m_CellLayerNormWeights(nullptr)
+ , m_OutputLayerNormWeights(nullptr)
+ {
+ }
+
+ const ConstTensorHandle* m_InputToInputWeights;
+ const ConstTensorHandle* m_InputToForgetWeights;
+ const ConstTensorHandle* m_InputToCellWeights;
+ const ConstTensorHandle* m_InputToOutputWeights;
+ const ConstTensorHandle* m_RecurrentToInputWeights;
+ const ConstTensorHandle* m_RecurrentToForgetWeights;
+ const ConstTensorHandle* m_RecurrentToCellWeights;
+ const ConstTensorHandle* m_RecurrentToOutputWeights;
+ const ConstTensorHandle* m_CellToInputWeights;
+ const ConstTensorHandle* m_CellToForgetWeights;
+ const ConstTensorHandle* m_CellToOutputWeights;
+ const ConstTensorHandle* m_InputGateBias;
+ const ConstTensorHandle* m_ForgetGateBias;
+ const ConstTensorHandle* m_CellBias;
+ const ConstTensorHandle* m_OutputGateBias;
+ const ConstTensorHandle* m_ProjectionWeights;
+ const ConstTensorHandle* m_ProjectionBias;
+ const ConstTensorHandle* m_InputLayerNormWeights;
+ const ConstTensorHandle* m_ForgetLayerNormWeights;
+ const ConstTensorHandle* m_CellLayerNormWeights;
+ const ConstTensorHandle* m_OutputLayerNormWeights;
+
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+struct ChannelShuffleQueueDescriptor : QueueDescriptorWithParameters<ChannelShuffleDescriptor>
+{
+ void Validate(const WorkloadInfo& workloadInfo) const;
+};
+
+} // namespace armnn
diff --git a/include/armnn/backends/WorkloadFactory.hpp b/include/armnn/backends/WorkloadFactory.hpp
new file mode 100644
index 0000000000..68ad2e3741
--- /dev/null
+++ b/include/armnn/backends/WorkloadFactory.hpp
@@ -0,0 +1,289 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include "ITensorHandle.hpp"
+#include "Workload.hpp"
+
+#include <armnn/Optional.hpp>
+#include <armnn/INetwork.hpp>
+#include <armnn/TensorFwd.hpp>
+
+#include <memory>
+
+namespace armnn
+{
+
+class Layer;
+
+// Workload factory interface for compute backends.
+class IWorkloadFactory
+{
+public:
+ virtual ~IWorkloadFactory() { }
+
+ virtual void AfterWorkloadsCreated() {};
+
+ virtual const BackendId& GetBackendId() const = 0;
+
+ static bool IsLayerSupported(const BackendId& backendId,
+ const IConnectableLayer& layer,
+ Optional<DataType> dataType,
+ std::string& outReasonIfUnsupported);
+
+ static bool IsLayerSupported(const IConnectableLayer& layer,
+ Optional<DataType> dataType,
+ std::string& outReasonIfUnsupported);
+
+ static bool IsLayerSupported(const IConnectableLayer& layer,
+ Optional<DataType> dataType,
+ std::string& outReasonIfUnsupported,
+ const ModelOptions& modelOptions);
+
+ static bool IsLayerSupported(const BackendId& backendId,
+ const IConnectableLayer& layer,
+ Optional<DataType> dataType,
+ std::string& outReasonIfUnsupported,
+ const ModelOptions& modelOptions);
+
+ virtual bool SupportsSubTensors() const = 0;
+
+ ARMNN_DEPRECATED_MSG("Use ITensorHandleFactory::CreateSubTensorHandle instead")
+ virtual std::unique_ptr<ITensorHandle> CreateSubTensorHandle(ITensorHandle& parent,
+ TensorShape const& subTensorShape,
+ unsigned int const* subTensorOrigin
+ ) const = 0;
+
+ virtual std::unique_ptr<IWorkload> CreateInput(const InputQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const = 0;
+
+ ARMNN_DEPRECATED_MSG("Use ITensorHandleFactory::CreateTensorHandle instead")
+ virtual std::unique_ptr<ITensorHandle> CreateTensorHandle(const TensorInfo& tensorInfo,
+ const bool IsMemoryManaged = true) const = 0;
+
+ ARMNN_DEPRECATED_MSG("Use ITensorHandleFactory::CreateTensorHandle instead")
+ virtual std::unique_ptr<ITensorHandle> CreateTensorHandle(const TensorInfo& tensorInfo,
+ DataLayout dataLayout,
+ const bool IsMemoryManaged = true) const = 0;
+
+ virtual std::unique_ptr<IWorkload> CreateActivation(const ActivationQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateAddition(const AdditionQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateArgMinMax(const ArgMinMaxQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateBatchNormalization(const BatchNormalizationQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateBatchToSpaceNd(const BatchToSpaceNdQueueDescriptor& descriptor,
+ const WorkloadInfo& Info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateCast(const CastQueueDescriptor& descriptor,
+ const WorkloadInfo& Info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateChannelShuffle(const ChannelShuffleQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateComparison(const ComparisonQueueDescriptor& descriptor,
+ const WorkloadInfo& Info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateConcat(const ConcatQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateConstant(const ConstantQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateConvertBf16ToFp32(const ConvertBf16ToFp32QueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateConvertFp16ToFp32(const ConvertFp16ToFp32QueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateConvertFp32ToBf16(const ConvertFp32ToBf16QueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateConvertFp32ToFp16(const ConvertFp32ToFp16QueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateConvolution2d(const Convolution2dQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateConvolution3d(const Convolution3dQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateDebug(const DebugQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateDepthToSpace(const DepthToSpaceQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateDepthwiseConvolution2d(
+ const DepthwiseConvolution2dQueueDescriptor& descriptor, const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateDequantize(const DequantizeQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateDetectionPostProcess(
+ const DetectionPostProcessQueueDescriptor& descriptor, const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateDivision(const DivisionQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateElementwiseUnary(const ElementwiseUnaryQueueDescriptor& descriptor,
+ const WorkloadInfo& Info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateFakeQuantization(const FakeQuantizationQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateFill(const FillQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateFloor(const FloorQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateFullyConnected(const FullyConnectedQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateGather(const GatherQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateInstanceNormalization(
+ const InstanceNormalizationQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateL2Normalization(const L2NormalizationQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateLogicalBinary(const LogicalBinaryQueueDescriptor& descriptor,
+ const WorkloadInfo& Info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateLogicalUnary(const ElementwiseUnaryQueueDescriptor& descriptor,
+ const WorkloadInfo& Info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateLogSoftmax(const LogSoftmaxQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateLstm(const LstmQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateMaximum(const MaximumQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateMean(const MeanQueueDescriptor& descriptor,
+ const WorkloadInfo& Info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateMemCopy(const MemCopyQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateMemImport(const MemImportQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateMerge(const MergeQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateMinimum(const MinimumQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateMultiplication(const MultiplicationQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateNormalization(const NormalizationQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateOutput(const OutputQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreatePad(const PadQueueDescriptor& descriptor,
+ const WorkloadInfo& Info) const;
+
+ virtual std::unique_ptr<IWorkload> CreatePermute(const PermuteQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreatePooling2d(const Pooling2dQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreatePooling3d(const Pooling3dQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreatePreCompiled(const PreCompiledQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreatePrelu(const PreluQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateQuantize(const QuantizeQueueDescriptor& descriptor,
+ const WorkloadInfo& Info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateQLstm(const QLstmQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateQuantizedLstm(const QuantizedLstmQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateRank(const RankQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateReduce(const ReduceQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateReshape(const ReshapeQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateResize(const ResizeQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateShape(const ShapeQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateSlice(const SliceQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateSoftmax(const SoftmaxQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateSpaceToBatchNd(const SpaceToBatchNdQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateSpaceToDepth(const SpaceToDepthQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateSubtraction(const SubtractionQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateSplitter(const SplitterQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateStack(const StackQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateStridedSlice(const StridedSliceQueueDescriptor& descriptor,
+ const WorkloadInfo& Info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateSwitch(const SwitchQueueDescriptor& descriptor,
+ const WorkloadInfo& Info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateTranspose(const TransposeQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateTransposeConvolution2d(
+ const TransposeConvolution2dQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+ virtual std::unique_ptr<IWorkload> CreateUnidirectionalSequenceLstm(
+ const UnidirectionalSequenceLstmQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const;
+
+private:
+ static bool IsLayerConfigurationSupported(const BackendId& backendId,
+ const IConnectableLayer& connectableLayer,
+ Optional<DataType> dataType,
+ std::string& outReasonIfUnsupported,
+ const ModelOptions& modelOptions = {});
+};
+
+} // namespace armnn
diff --git a/src/armnnTestUtils/WorkloadTestUtils.hpp b/include/armnnTestUtils/WorkloadTestUtils.hpp
index 856e54a72a..156258a549 100644
--- a/src/armnnTestUtils/WorkloadTestUtils.hpp
+++ b/include/armnnTestUtils/WorkloadTestUtils.hpp
@@ -8,8 +8,8 @@
#include <armnn/backends/IBackendInternal.hpp>
#include <armnn/backends/IMemoryManager.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadInfo.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadInfo.hpp>
namespace armnn
{
diff --git a/src/armnn/ExecutionFrame.hpp b/src/armnn/ExecutionFrame.hpp
index 97f6f3fb56..20a5da0256 100644
--- a/src/armnn/ExecutionFrame.hpp
+++ b/src/armnn/ExecutionFrame.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
namespace armnn
{
diff --git a/src/armnn/Layer.cpp b/src/armnn/Layer.cpp
index 7761063650..e0d0f913c3 100644
--- a/src/armnn/Layer.cpp
+++ b/src/armnn/Layer.cpp
@@ -7,8 +7,8 @@
#include "Graph.hpp"
#include <ProfilingService.hpp>
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <fmt/format.h>
diff --git a/src/armnn/Layer.hpp b/src/armnn/Layer.hpp
index 0e0883c1cd..f665d155d1 100644
--- a/src/armnn/Layer.hpp
+++ b/src/armnn/Layer.hpp
@@ -28,7 +28,7 @@
#include <memory>
#include <string>
#include <vector>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/armnn/LoadedNetwork.cpp b/src/armnn/LoadedNetwork.cpp
index 03e5ad5bfe..965deeedc2 100644
--- a/src/armnn/LoadedNetwork.cpp
+++ b/src/armnn/LoadedNetwork.cpp
@@ -15,9 +15,9 @@
#include <armnn/Logging.hpp>
#include <armnn/utility/Assert.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/backends/IMemoryManager.hpp>
-#include <backendsCommon/MemCopyWorkload.hpp>
+#include <armnn/backends/MemCopyWorkload.hpp>
#include <backendsCommon/MemSyncWorkload.hpp>
#include <armnn/BackendHelper.hpp>
diff --git a/src/armnn/LoadedNetwork.hpp b/src/armnn/LoadedNetwork.hpp
index 35c482cbc7..53c35d61f6 100644
--- a/src/armnn/LoadedNetwork.hpp
+++ b/src/armnn/LoadedNetwork.hpp
@@ -12,8 +12,8 @@
#include <armnn/backends/IBackendInternal.hpp>
#include <armnn/backends/IMemoryOptimizerStrategy.hpp>
#include <backendsCommon/TensorHandleFactoryRegistry.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <backendsCommon/DefaultAllocator.hpp>
#include <backendsCommon/MemoryManager.hpp>
#include <backendsCommon/memoryOptimizerStrategyLibrary/strategies/SingleAxisPriorityList.hpp>
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp
index c6f3f914b5..3198c22d9f 100644
--- a/src/armnn/Network.cpp
+++ b/src/armnn/Network.cpp
@@ -12,8 +12,8 @@
#include "BackendSettings.hpp"
#include "optimizations/All.hpp"
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnn/backends/IBackendInternal.hpp>
#include <backendsCommon/TensorHandleFactoryRegistry.hpp>
diff --git a/src/armnn/OutputHandler.cpp b/src/armnn/OutputHandler.cpp
index cb835aa2bb..807262e482 100644
--- a/src/armnn/OutputHandler.cpp
+++ b/src/armnn/OutputHandler.cpp
@@ -7,7 +7,7 @@
#include <armnn/backends/ITensorHandle.hpp>
#include <backendsCommon/WorkloadDataCollector.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/WorkingMemHandle.cpp b/src/armnn/WorkingMemHandle.cpp
index 2cb47fbfc7..70bdd59373 100644
--- a/src/armnn/WorkingMemHandle.cpp
+++ b/src/armnn/WorkingMemHandle.cpp
@@ -3,10 +3,10 @@
// SPDX-License-Identifier: MIT
//
-#include "backendsCommon/TensorHandle.hpp"
#include "WorkingMemHandle.hpp"
#include "Network.hpp"
#include <armnn/backends/IMemoryManager.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <fmt/format.h>
namespace armnn
diff --git a/src/armnn/layers/AbsLayer.cpp b/src/armnn/layers/AbsLayer.cpp
index e103b7fad3..bc9e4f6d2a 100644
--- a/src/armnn/layers/AbsLayer.cpp
+++ b/src/armnn/layers/AbsLayer.cpp
@@ -8,8 +8,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ActivationLayer.cpp b/src/armnn/layers/ActivationLayer.cpp
index 3abb4c46da..2cb1607204 100644
--- a/src/armnn/layers/ActivationLayer.cpp
+++ b/src/armnn/layers/ActivationLayer.cpp
@@ -6,8 +6,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/AdditionLayer.cpp b/src/armnn/layers/AdditionLayer.cpp
index b6db7062be..c3e98a13ca 100644
--- a/src/armnn/layers/AdditionLayer.cpp
+++ b/src/armnn/layers/AdditionLayer.cpp
@@ -8,8 +8,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ArgMinMaxLayer.cpp b/src/armnn/layers/ArgMinMaxLayer.cpp
index 5e469a4d07..dc69ef6a41 100644
--- a/src/armnn/layers/ArgMinMaxLayer.cpp
+++ b/src/armnn/layers/ArgMinMaxLayer.cpp
@@ -10,8 +10,8 @@
#include <armnnUtils/TensorUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/BatchNormalizationLayer.cpp b/src/armnn/layers/BatchNormalizationLayer.cpp
index e52b986add..e830b186b8 100644
--- a/src/armnn/layers/BatchNormalizationLayer.cpp
+++ b/src/armnn/layers/BatchNormalizationLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/BatchToSpaceNdLayer.cpp b/src/armnn/layers/BatchToSpaceNdLayer.cpp
index 0b6eab54f0..ce602ad08f 100644
--- a/src/armnn/layers/BatchToSpaceNdLayer.cpp
+++ b/src/armnn/layers/BatchToSpaceNdLayer.cpp
@@ -12,9 +12,9 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <numeric>
diff --git a/src/armnn/layers/CastLayer.cpp b/src/armnn/layers/CastLayer.cpp
index 485bbf0158..c5cecb4f74 100644
--- a/src/armnn/layers/CastLayer.cpp
+++ b/src/armnn/layers/CastLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ChannelShuffleLayer.cpp b/src/armnn/layers/ChannelShuffleLayer.cpp
index 884f3ab03d..5f4729ff51 100644
--- a/src/armnn/layers/ChannelShuffleLayer.cpp
+++ b/src/armnn/layers/ChannelShuffleLayer.cpp
@@ -9,8 +9,8 @@
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ComparisonLayer.cpp b/src/armnn/layers/ComparisonLayer.cpp
index c644cb17c7..47430f1766 100644
--- a/src/armnn/layers/ComparisonLayer.cpp
+++ b/src/armnn/layers/ComparisonLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <algorithm>
diff --git a/src/armnn/layers/ConcatLayer.cpp b/src/armnn/layers/ConcatLayer.cpp
index 892c18e62c..98cb585322 100644
--- a/src/armnn/layers/ConcatLayer.cpp
+++ b/src/armnn/layers/ConcatLayer.cpp
@@ -7,8 +7,8 @@
#include <armnn/TypesUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <queue>
diff --git a/src/armnn/layers/ConstantLayer.cpp b/src/armnn/layers/ConstantLayer.cpp
index e738e59bdb..0ab92cc2fb 100644
--- a/src/armnn/layers/ConstantLayer.cpp
+++ b/src/armnn/layers/ConstantLayer.cpp
@@ -6,9 +6,9 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ConvertBf16ToFp32Layer.cpp b/src/armnn/layers/ConvertBf16ToFp32Layer.cpp
index b7fa3a6b3f..e589008bd4 100644
--- a/src/armnn/layers/ConvertBf16ToFp32Layer.cpp
+++ b/src/armnn/layers/ConvertBf16ToFp32Layer.cpp
@@ -8,8 +8,8 @@
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ConvertFp16ToFp32Layer.cpp b/src/armnn/layers/ConvertFp16ToFp32Layer.cpp
index 77e6f668ac..656f59f192 100644
--- a/src/armnn/layers/ConvertFp16ToFp32Layer.cpp
+++ b/src/armnn/layers/ConvertFp16ToFp32Layer.cpp
@@ -8,8 +8,8 @@
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ConvertFp32ToBf16Layer.cpp b/src/armnn/layers/ConvertFp32ToBf16Layer.cpp
index 6a003dc922..b2f4eb11d0 100644
--- a/src/armnn/layers/ConvertFp32ToBf16Layer.cpp
+++ b/src/armnn/layers/ConvertFp32ToBf16Layer.cpp
@@ -8,8 +8,8 @@
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ConvertFp32ToFp16Layer.cpp b/src/armnn/layers/ConvertFp32ToFp16Layer.cpp
index 8c96909215..f5a8b01a23 100644
--- a/src/armnn/layers/ConvertFp32ToFp16Layer.cpp
+++ b/src/armnn/layers/ConvertFp32ToFp16Layer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/Convolution2dLayer.cpp b/src/armnn/layers/Convolution2dLayer.cpp
index d73e67badf..1c60f17b96 100644
--- a/src/armnn/layers/Convolution2dLayer.cpp
+++ b/src/armnn/layers/Convolution2dLayer.cpp
@@ -10,8 +10,8 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <string>
diff --git a/src/armnn/layers/Convolution3dLayer.cpp b/src/armnn/layers/Convolution3dLayer.cpp
index 1c2d1b9872..cc33eae613 100644
--- a/src/armnn/layers/Convolution3dLayer.cpp
+++ b/src/armnn/layers/Convolution3dLayer.cpp
@@ -8,7 +8,7 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
using namespace armnnUtils;
diff --git a/src/armnn/layers/DebugLayer.cpp b/src/armnn/layers/DebugLayer.cpp
index 07d59be7a3..96538feb93 100644
--- a/src/armnn/layers/DebugLayer.cpp
+++ b/src/armnn/layers/DebugLayer.cpp
@@ -6,8 +6,8 @@
#include "LayerCloneBase.hpp"
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
namespace armnn
diff --git a/src/armnn/layers/DepthToSpaceLayer.cpp b/src/armnn/layers/DepthToSpaceLayer.cpp
index ba06ad6c31..05d691e0d6 100644
--- a/src/armnn/layers/DepthToSpaceLayer.cpp
+++ b/src/armnn/layers/DepthToSpaceLayer.cpp
@@ -10,8 +10,8 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <numeric>
diff --git a/src/armnn/layers/DepthwiseConvolution2dLayer.cpp b/src/armnn/layers/DepthwiseConvolution2dLayer.cpp
index 86c994745c..b1b95faa4f 100644
--- a/src/armnn/layers/DepthwiseConvolution2dLayer.cpp
+++ b/src/armnn/layers/DepthwiseConvolution2dLayer.cpp
@@ -10,8 +10,8 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <string>
diff --git a/src/armnn/layers/DequantizeLayer.cpp b/src/armnn/layers/DequantizeLayer.cpp
index f8a2e057ac..84c90104d0 100644
--- a/src/armnn/layers/DequantizeLayer.cpp
+++ b/src/armnn/layers/DequantizeLayer.cpp
@@ -6,8 +6,8 @@
#include "LayerCloneBase.hpp"
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/DetectionPostProcessLayer.cpp b/src/armnn/layers/DetectionPostProcessLayer.cpp
index 41c44d08a9..5a7d888457 100644
--- a/src/armnn/layers/DetectionPostProcessLayer.cpp
+++ b/src/armnn/layers/DetectionPostProcessLayer.cpp
@@ -8,9 +8,9 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/DivisionLayer.cpp b/src/armnn/layers/DivisionLayer.cpp
index 17b671a5f4..c65e191f04 100644
--- a/src/armnn/layers/DivisionLayer.cpp
+++ b/src/armnn/layers/DivisionLayer.cpp
@@ -8,8 +8,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ElementwiseUnaryLayer.cpp b/src/armnn/layers/ElementwiseUnaryLayer.cpp
index 6f07cf93f9..37d6084d5b 100644
--- a/src/armnn/layers/ElementwiseUnaryLayer.cpp
+++ b/src/armnn/layers/ElementwiseUnaryLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <algorithm>
diff --git a/src/armnn/layers/FakeQuantizationLayer.cpp b/src/armnn/layers/FakeQuantizationLayer.cpp
index 69f0166d0e..453891fa60 100644
--- a/src/armnn/layers/FakeQuantizationLayer.cpp
+++ b/src/armnn/layers/FakeQuantizationLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/FillLayer.cpp b/src/armnn/layers/FillLayer.cpp
index 45fe07244b..9fb1bdaeaf 100644
--- a/src/armnn/layers/FillLayer.cpp
+++ b/src/armnn/layers/FillLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/FloorLayer.cpp b/src/armnn/layers/FloorLayer.cpp
index a975ee8d97..5dbbc28ac3 100644
--- a/src/armnn/layers/FloorLayer.cpp
+++ b/src/armnn/layers/FloorLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/FullyConnectedLayer.cpp b/src/armnn/layers/FullyConnectedLayer.cpp
index 2c41d74923..261932a15c 100644
--- a/src/armnn/layers/FullyConnectedLayer.cpp
+++ b/src/armnn/layers/FullyConnectedLayer.cpp
@@ -7,9 +7,9 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/GatherLayer.cpp b/src/armnn/layers/GatherLayer.cpp
index a808c42384..9b34c12a4b 100644
--- a/src/armnn/layers/GatherLayer.cpp
+++ b/src/armnn/layers/GatherLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/InputLayer.cpp b/src/armnn/layers/InputLayer.cpp
index 21246f146b..c05278faf5 100644
--- a/src/armnn/layers/InputLayer.cpp
+++ b/src/armnn/layers/InputLayer.cpp
@@ -6,8 +6,8 @@
#include "LayerCloneBase.hpp"
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/InstanceNormalizationLayer.cpp b/src/armnn/layers/InstanceNormalizationLayer.cpp
index 657b44220d..6d06c36404 100644
--- a/src/armnn/layers/InstanceNormalizationLayer.cpp
+++ b/src/armnn/layers/InstanceNormalizationLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/L2NormalizationLayer.cpp b/src/armnn/layers/L2NormalizationLayer.cpp
index 7bddbf1f18..7a01b073bf 100644
--- a/src/armnn/layers/L2NormalizationLayer.cpp
+++ b/src/armnn/layers/L2NormalizationLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/LogSoftmaxLayer.cpp b/src/armnn/layers/LogSoftmaxLayer.cpp
index ea2518289f..e3632025a3 100644
--- a/src/armnn/layers/LogSoftmaxLayer.cpp
+++ b/src/armnn/layers/LogSoftmaxLayer.cpp
@@ -9,8 +9,8 @@
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/LogicalBinaryLayer.cpp b/src/armnn/layers/LogicalBinaryLayer.cpp
index 3940b85e7b..cc0ed24827 100644
--- a/src/armnn/layers/LogicalBinaryLayer.cpp
+++ b/src/armnn/layers/LogicalBinaryLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <algorithm>
diff --git a/src/armnn/layers/LstmLayer.cpp b/src/armnn/layers/LstmLayer.cpp
index a18fdb062a..44da98687a 100644
--- a/src/armnn/layers/LstmLayer.cpp
+++ b/src/armnn/layers/LstmLayer.cpp
@@ -8,8 +8,8 @@
#include <armnn/LstmParams.hpp>
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/MapLayer.cpp b/src/armnn/layers/MapLayer.cpp
index 6defdab076..7a33890820 100644
--- a/src/armnn/layers/MapLayer.cpp
+++ b/src/armnn/layers/MapLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <backendsCommon/MapWorkload.hpp>
namespace armnn
diff --git a/src/armnn/layers/MaximumLayer.cpp b/src/armnn/layers/MaximumLayer.cpp
index 95faeea2f2..077f83f34d 100644
--- a/src/armnn/layers/MaximumLayer.cpp
+++ b/src/armnn/layers/MaximumLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/MeanLayer.cpp b/src/armnn/layers/MeanLayer.cpp
index b704e2a336..b56905fe99 100644
--- a/src/armnn/layers/MeanLayer.cpp
+++ b/src/armnn/layers/MeanLayer.cpp
@@ -8,9 +8,9 @@
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <cstring>
diff --git a/src/armnn/layers/MemCopyLayer.cpp b/src/armnn/layers/MemCopyLayer.cpp
index 61fa462e94..33b922cadc 100644
--- a/src/armnn/layers/MemCopyLayer.cpp
+++ b/src/armnn/layers/MemCopyLayer.cpp
@@ -7,9 +7,9 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
-#include <backendsCommon/MemCopyWorkload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
+#include <armnn/backends/MemCopyWorkload.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/MemImportLayer.cpp b/src/armnn/layers/MemImportLayer.cpp
index 689678e693..0a1082fd1e 100644
--- a/src/armnn/layers/MemImportLayer.cpp
+++ b/src/armnn/layers/MemImportLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <backendsCommon/MemImportWorkload.hpp>
namespace armnn
diff --git a/src/armnn/layers/MergeLayer.cpp b/src/armnn/layers/MergeLayer.cpp
index 2bd29f286d..c979df875b 100644
--- a/src/armnn/layers/MergeLayer.cpp
+++ b/src/armnn/layers/MergeLayer.cpp
@@ -6,8 +6,8 @@
#include "LayerCloneBase.hpp"
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/MinimumLayer.cpp b/src/armnn/layers/MinimumLayer.cpp
index 38ab442fd5..43715acc14 100644
--- a/src/armnn/layers/MinimumLayer.cpp
+++ b/src/armnn/layers/MinimumLayer.cpp
@@ -8,8 +8,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/MultiplicationLayer.cpp b/src/armnn/layers/MultiplicationLayer.cpp
index 4ff188cc37..05e266c793 100644
--- a/src/armnn/layers/MultiplicationLayer.cpp
+++ b/src/armnn/layers/MultiplicationLayer.cpp
@@ -8,8 +8,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/NormalizationLayer.cpp b/src/armnn/layers/NormalizationLayer.cpp
index bd38fa43b5..e7b6de5de4 100644
--- a/src/armnn/layers/NormalizationLayer.cpp
+++ b/src/armnn/layers/NormalizationLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/OutputLayer.cpp b/src/armnn/layers/OutputLayer.cpp
index 579aede6b0..241aaeb468 100644
--- a/src/armnn/layers/OutputLayer.cpp
+++ b/src/armnn/layers/OutputLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/utility/IgnoreUnused.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/PadLayer.cpp b/src/armnn/layers/PadLayer.cpp
index bbe92af912..667270a948 100644
--- a/src/armnn/layers/PadLayer.cpp
+++ b/src/armnn/layers/PadLayer.cpp
@@ -6,9 +6,9 @@
#include "PadLayer.hpp"
#include "LayerCloneBase.hpp"
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <cstring>
diff --git a/src/armnn/layers/PermuteLayer.cpp b/src/armnn/layers/PermuteLayer.cpp
index 1c563addf9..1a4d87b19a 100644
--- a/src/armnn/layers/PermuteLayer.cpp
+++ b/src/armnn/layers/PermuteLayer.cpp
@@ -11,8 +11,8 @@
#include <armnnUtils/Permute.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/Pooling2dLayer.cpp b/src/armnn/layers/Pooling2dLayer.cpp
index d22bce2022..ce58012493 100644
--- a/src/armnn/layers/Pooling2dLayer.cpp
+++ b/src/armnn/layers/Pooling2dLayer.cpp
@@ -11,8 +11,8 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
using namespace armnnUtils;
diff --git a/src/armnn/layers/Pooling3dLayer.cpp b/src/armnn/layers/Pooling3dLayer.cpp
index 884f8e0499..4c083f337c 100644
--- a/src/armnn/layers/Pooling3dLayer.cpp
+++ b/src/armnn/layers/Pooling3dLayer.cpp
@@ -11,8 +11,8 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
using namespace armnnUtils;
diff --git a/src/armnn/layers/PreCompiledLayer.cpp b/src/armnn/layers/PreCompiledLayer.cpp
index 14dffe5e80..80320e3ba2 100644
--- a/src/armnn/layers/PreCompiledLayer.cpp
+++ b/src/armnn/layers/PreCompiledLayer.cpp
@@ -7,7 +7,7 @@
#include "LayerCloneBase.hpp"
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <armnn/TypesUtils.hpp>
diff --git a/src/armnn/layers/PreCompiledLayer.hpp b/src/armnn/layers/PreCompiledLayer.hpp
index e2c5e802fb..65cf79b6d4 100644
--- a/src/armnn/layers/PreCompiledLayer.hpp
+++ b/src/armnn/layers/PreCompiledLayer.hpp
@@ -6,7 +6,7 @@
#pragma once
#include "LayerWithParameters.hpp"
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnn/Descriptors.hpp>
diff --git a/src/armnn/layers/PreluLayer.cpp b/src/armnn/layers/PreluLayer.cpp
index 9fb9f07f8c..8d88ed4829 100644
--- a/src/armnn/layers/PreluLayer.cpp
+++ b/src/armnn/layers/PreluLayer.cpp
@@ -9,9 +9,9 @@
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/QLstmLayer.cpp b/src/armnn/layers/QLstmLayer.cpp
index 493e3fe189..a09aaeeb95 100644
--- a/src/armnn/layers/QLstmLayer.cpp
+++ b/src/armnn/layers/QLstmLayer.cpp
@@ -8,8 +8,8 @@
#include <armnn/LstmParams.hpp>
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/QuantizedLstmLayer.cpp b/src/armnn/layers/QuantizedLstmLayer.cpp
index 81642198fb..6a09241645 100644
--- a/src/armnn/layers/QuantizedLstmLayer.cpp
+++ b/src/armnn/layers/QuantizedLstmLayer.cpp
@@ -8,8 +8,8 @@
#include <armnn/QuantizedLstmParams.hpp>
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/RankLayer.cpp b/src/armnn/layers/RankLayer.cpp
index a1e06efa11..17ca691c51 100644
--- a/src/armnn/layers/RankLayer.cpp
+++ b/src/armnn/layers/RankLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ReduceLayer.cpp b/src/armnn/layers/ReduceLayer.cpp
index 07651fca67..b03ac72e50 100644
--- a/src/armnn/layers/ReduceLayer.cpp
+++ b/src/armnn/layers/ReduceLayer.cpp
@@ -8,8 +8,8 @@
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ReshapeLayer.cpp b/src/armnn/layers/ReshapeLayer.cpp
index 1b9e691bcf..571013d2e6 100644
--- a/src/armnn/layers/ReshapeLayer.cpp
+++ b/src/armnn/layers/ReshapeLayer.cpp
@@ -8,8 +8,8 @@
#include <armnn/utility/IgnoreUnused.hpp>
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ResizeLayer.cpp b/src/armnn/layers/ResizeLayer.cpp
index c190f494d1..9c407c1af5 100644
--- a/src/armnn/layers/ResizeLayer.cpp
+++ b/src/armnn/layers/ResizeLayer.cpp
@@ -10,8 +10,8 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
using namespace armnnUtils;
diff --git a/src/armnn/layers/RsqrtLayer.cpp b/src/armnn/layers/RsqrtLayer.cpp
index a0572da7c3..adac012173 100644
--- a/src/armnn/layers/RsqrtLayer.cpp
+++ b/src/armnn/layers/RsqrtLayer.cpp
@@ -8,8 +8,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/ShapeLayer.cpp b/src/armnn/layers/ShapeLayer.cpp
index 6a55a2d296..318f38c5a2 100644
--- a/src/armnn/layers/ShapeLayer.cpp
+++ b/src/armnn/layers/ShapeLayer.cpp
@@ -10,8 +10,8 @@
#include <armnn/TypesUtils.hpp>
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/SliceLayer.cpp b/src/armnn/layers/SliceLayer.cpp
index e7d8f1ed19..c87cab342b 100644
--- a/src/armnn/layers/SliceLayer.cpp
+++ b/src/armnn/layers/SliceLayer.cpp
@@ -10,8 +10,8 @@
#include <armnn/TypesUtils.hpp>
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/SoftmaxLayer.cpp b/src/armnn/layers/SoftmaxLayer.cpp
index eab5b85e45..3a6dfc4958 100644
--- a/src/armnn/layers/SoftmaxLayer.cpp
+++ b/src/armnn/layers/SoftmaxLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/SpaceToBatchNdLayer.cpp b/src/armnn/layers/SpaceToBatchNdLayer.cpp
index 3f58b3f6c9..e801925f58 100644
--- a/src/armnn/layers/SpaceToBatchNdLayer.cpp
+++ b/src/armnn/layers/SpaceToBatchNdLayer.cpp
@@ -10,8 +10,8 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <numeric>
diff --git a/src/armnn/layers/SpaceToDepthLayer.cpp b/src/armnn/layers/SpaceToDepthLayer.cpp
index 1a3112c495..612d940615 100644
--- a/src/armnn/layers/SpaceToDepthLayer.cpp
+++ b/src/armnn/layers/SpaceToDepthLayer.cpp
@@ -10,8 +10,8 @@
#include <armnn/utility/IgnoreUnused.hpp>
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <numeric>
diff --git a/src/armnn/layers/SplitterLayer.cpp b/src/armnn/layers/SplitterLayer.cpp
index c1e191c1a8..5e658cebb3 100644
--- a/src/armnn/layers/SplitterLayer.cpp
+++ b/src/armnn/layers/SplitterLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/StackLayer.cpp b/src/armnn/layers/StackLayer.cpp
index fe2d123244..09f255bb2e 100644
--- a/src/armnn/layers/StackLayer.cpp
+++ b/src/armnn/layers/StackLayer.cpp
@@ -6,8 +6,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <queue>
diff --git a/src/armnn/layers/StridedSliceLayer.cpp b/src/armnn/layers/StridedSliceLayer.cpp
index aa7012c9a5..e80ec2277d 100644
--- a/src/armnn/layers/StridedSliceLayer.cpp
+++ b/src/armnn/layers/StridedSliceLayer.cpp
@@ -8,8 +8,8 @@
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/SubtractionLayer.cpp b/src/armnn/layers/SubtractionLayer.cpp
index bed708513e..c5f9ca9a7e 100644
--- a/src/armnn/layers/SubtractionLayer.cpp
+++ b/src/armnn/layers/SubtractionLayer.cpp
@@ -8,8 +8,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/SwitchLayer.cpp b/src/armnn/layers/SwitchLayer.cpp
index 258a7ffaec..810bd33911 100644
--- a/src/armnn/layers/SwitchLayer.cpp
+++ b/src/armnn/layers/SwitchLayer.cpp
@@ -6,8 +6,8 @@
#include "LayerCloneBase.hpp"
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/TransposeConvolution2dLayer.cpp b/src/armnn/layers/TransposeConvolution2dLayer.cpp
index acdbebe802..689a3f5be3 100644
--- a/src/armnn/layers/TransposeConvolution2dLayer.cpp
+++ b/src/armnn/layers/TransposeConvolution2dLayer.cpp
@@ -8,8 +8,8 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
using namespace armnnUtils;
diff --git a/src/armnn/layers/TransposeLayer.cpp b/src/armnn/layers/TransposeLayer.cpp
index ffd8693049..3c34df9372 100644
--- a/src/armnn/layers/TransposeLayer.cpp
+++ b/src/armnn/layers/TransposeLayer.cpp
@@ -11,8 +11,8 @@
#include <armnnUtils/Transpose.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/UnidirectionalSequenceLstmLayer.cpp b/src/armnn/layers/UnidirectionalSequenceLstmLayer.cpp
index a3671a0c42..911ba2e0ff 100644
--- a/src/armnn/layers/UnidirectionalSequenceLstmLayer.cpp
+++ b/src/armnn/layers/UnidirectionalSequenceLstmLayer.cpp
@@ -8,8 +8,8 @@
#include <armnn/LstmParams.hpp>
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/armnn/layers/UnmapLayer.cpp b/src/armnn/layers/UnmapLayer.cpp
index fa5dd9ebf2..9705e3ffee 100644
--- a/src/armnn/layers/UnmapLayer.cpp
+++ b/src/armnn/layers/UnmapLayer.cpp
@@ -7,8 +7,8 @@
#include "LayerCloneBase.hpp"
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <backendsCommon/UnmapWorkload.hpp>
namespace armnn
diff --git a/src/armnn/optimizations/AddBroadcastReshapeLayer.hpp b/src/armnn/optimizations/AddBroadcastReshapeLayer.hpp
index d243a807fd..b9e8584a5a 100644
--- a/src/armnn/optimizations/AddBroadcastReshapeLayer.hpp
+++ b/src/armnn/optimizations/AddBroadcastReshapeLayer.hpp
@@ -6,9 +6,9 @@
#include "Optimization.hpp"
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
namespace armnn
{
diff --git a/src/armnn/optimizations/ConvertConstants.hpp b/src/armnn/optimizations/ConvertConstants.hpp
index 65318af285..54c14e5c89 100644
--- a/src/armnn/optimizations/ConvertConstants.hpp
+++ b/src/armnn/optimizations/ConvertConstants.hpp
@@ -8,9 +8,7 @@
#include "Optimization.hpp"
#include <armnnUtils/FloatingPointConverter.hpp>
-
-#include <backendsCommon/TensorHandle.hpp>
-
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
#include <BFloat16.hpp>
diff --git a/src/armnn/test/CloneTests.cpp b/src/armnn/test/CloneTests.cpp
index b59e8a4806..e93b989aa1 100644
--- a/src/armnn/test/CloneTests.cpp
+++ b/src/armnn/test/CloneTests.cpp
@@ -10,9 +10,8 @@
#include <armnn/Exceptions.hpp>
#include <armnn/Optional.hpp>
#include <armnn/backends/IBackendInternal.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-
-#include <backendsCommon/TensorHandle.hpp>
#include <backendsCommon/WorkloadFactoryBase.hpp>
#include <doctest/doctest.h>
diff --git a/src/armnn/test/ConstTensorLayerVisitor.hpp b/src/armnn/test/ConstTensorLayerVisitor.hpp
index 5538852b60..4d887c8e37 100644
--- a/src/armnn/test/ConstTensorLayerVisitor.hpp
+++ b/src/armnn/test/ConstTensorLayerVisitor.hpp
@@ -10,7 +10,7 @@
#include <armnn/LstmParams.hpp>
#include <armnn/QuantizedLstmParams.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <doctest/doctest.h>
diff --git a/src/armnn/test/CreateWorkload.hpp b/src/armnn/test/CreateWorkload.hpp
index ae07253841..09b281be94 100644
--- a/src/armnn/test/CreateWorkload.hpp
+++ b/src/armnn/test/CreateWorkload.hpp
@@ -3,7 +3,6 @@
// SPDX-License-Identifier: MIT
//
-// This file is deprecated and will be removed soon.
-// Please use the new header in armnnTestUtils instead.
-// This will use the new armnnTestUtils header.
-#include "../../armnnTestUtils/CreateWorkload.hpp" \ No newline at end of file
+#include "../../armnnTestUtils/CreateWorkload.hpp"
+#pragma message("src/armnn/test/CreateWorkload.hpp has been deprecated, it is due for removal in"\
+ " 22.08 release. Please use src/armnnTestUtils/CreateWorkload.hpp instead.")
diff --git a/src/armnn/test/GraphTests.cpp b/src/armnn/test/GraphTests.cpp
index d246a082ec..6b3e611017 100644
--- a/src/armnn/test/GraphTests.cpp
+++ b/src/armnn/test/GraphTests.cpp
@@ -14,7 +14,7 @@
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <backendsCommon/TensorHandleFactoryRegistry.hpp>
#include <doctest/doctest.h>
diff --git a/src/armnn/test/OptimizerTests.cpp b/src/armnn/test/OptimizerTests.cpp
index a5db0ac0b0..900d4d6335 100644
--- a/src/armnn/test/OptimizerTests.cpp
+++ b/src/armnn/test/OptimizerTests.cpp
@@ -20,7 +20,7 @@
#include <armnn/backends/IBackendInternal.hpp>
#include <backendsCommon/LayerSupportBase.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <doctest/doctest.h>
diff --git a/src/armnn/test/ShapeInferenceTests.cpp b/src/armnn/test/ShapeInferenceTests.cpp
index f808a0e349..687462dfb5 100644
--- a/src/armnn/test/ShapeInferenceTests.cpp
+++ b/src/armnn/test/ShapeInferenceTests.cpp
@@ -9,8 +9,8 @@
#include <Graph.hpp>
#include <InternalTypes.hpp>
#include <layers/FullyConnectedLayer.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <string>
diff --git a/src/armnn/test/SubgraphViewTests.cpp b/src/armnn/test/SubgraphViewTests.cpp
index 4e509be78b..a1a57c1b56 100644
--- a/src/armnn/test/SubgraphViewTests.cpp
+++ b/src/armnn/test/SubgraphViewTests.cpp
@@ -11,7 +11,7 @@
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <fstream>
#include <map>
#include <queue>
diff --git a/src/armnn/test/TestLayerVisitor.hpp b/src/armnn/test/TestLayerVisitor.hpp
index eaf1667800..c39ea2670f 100644
--- a/src/armnn/test/TestLayerVisitor.hpp
+++ b/src/armnn/test/TestLayerVisitor.hpp
@@ -6,7 +6,7 @@
#include <armnn/StrategyBase.hpp>
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
namespace armnn
{
diff --git a/src/armnn/test/optimizations/FoldPadTests.cpp b/src/armnn/test/optimizations/FoldPadTests.cpp
index a64660f987..2f9e1c6d31 100644
--- a/src/armnn/test/optimizations/FoldPadTests.cpp
+++ b/src/armnn/test/optimizations/FoldPadTests.cpp
@@ -7,7 +7,7 @@
#include <Network.hpp>
#include <TestUtils.hpp>
#include <doctest/doctest.h>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <Optimizer.hpp>
TEST_SUITE("Optimizer")
diff --git a/src/armnnTestUtils/CMakeLists.txt b/src/armnnTestUtils/CMakeLists.txt
index 3738fad033..7f3726a478 100755
--- a/src/armnnTestUtils/CMakeLists.txt
+++ b/src/armnnTestUtils/CMakeLists.txt
@@ -10,6 +10,7 @@ list(APPEND armnnTestUtils_sources
../../include/armnnTestUtils/LayerTestResult.hpp
../../include/armnnTestUtils/PredicateResult.hpp
../../include/armnnTestUtils/TensorCopyUtils.hpp
+ ../../include/armnnTestUtils/WorkloadTestUtils.hpp
TensorHelpers.hpp
CreateWorkload.hpp
CommonTestUtils.cpp
@@ -22,7 +23,6 @@ list(APPEND armnnTestUtils_sources
TestUtils.hpp
UnitTests.cpp
UnitTests.hpp
- WorkloadTestUtils.hpp
)
add_library_ex(armnnTestUtils SHARED ${armnnTestUtils_sources})
diff --git a/src/armnnTestUtils/CommonTestUtils.hpp b/src/armnnTestUtils/CommonTestUtils.hpp
index a4babc5568..3fadc888b9 100644
--- a/src/armnnTestUtils/CommonTestUtils.hpp
+++ b/src/armnnTestUtils/CommonTestUtils.hpp
@@ -13,9 +13,8 @@
#include <ResolveType.hpp>
#include <armnn/BackendRegistry.hpp>
-
#include <armnn/Types.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <algorithm>
#include <random>
diff --git a/src/armnnTestUtils/CreateWorkload.hpp b/src/armnnTestUtils/CreateWorkload.hpp
index ea8a436177..15de5b5ddb 100644
--- a/src/armnnTestUtils/CreateWorkload.hpp
+++ b/src/armnnTestUtils/CreateWorkload.hpp
@@ -11,14 +11,13 @@
#include <ResolveType.hpp>
#include <armnnUtils/DataLayoutIndexed.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnn/utility/Assert.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
-
#include <doctest/doctest.h>
#include <utility>
diff --git a/src/armnnTestUtils/UnitTests.hpp b/src/armnnTestUtils/UnitTests.hpp
index 788ad87718..82b87a1cee 100644
--- a/src/armnnTestUtils/UnitTests.hpp
+++ b/src/armnnTestUtils/UnitTests.hpp
@@ -5,7 +5,6 @@
#pragma once
#include "TensorHelpers.hpp"
-#include "WorkloadTestUtils.hpp"
#include <armnn/Logging.hpp>
#include <armnn/Utils.hpp>
@@ -16,6 +15,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <doctest/doctest.h>
diff --git a/src/backends/aclCommon/ArmComputeUtils.hpp b/src/backends/aclCommon/ArmComputeUtils.hpp
index f096346c38..e76af02765 100644
--- a/src/backends/aclCommon/ArmComputeUtils.hpp
+++ b/src/backends/aclCommon/ArmComputeUtils.hpp
@@ -8,7 +8,7 @@
#include <armnn/Tensor.hpp>
#include <armnn/utility/Assert.hpp>
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <arm_compute/core/Types.h>
#include <arm_compute/runtime/FunctionDescriptors.h>
diff --git a/src/backends/aclCommon/BaseMemoryManager.hpp b/src/backends/aclCommon/BaseMemoryManager.hpp
index 732db61c52..af099f900a 100644
--- a/src/backends/aclCommon/BaseMemoryManager.hpp
+++ b/src/backends/aclCommon/BaseMemoryManager.hpp
@@ -5,7 +5,7 @@
#pragma once
#include <armnn/backends/IMemoryManager.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#if defined(ARMCOMPUTENEON_ENABLED) || defined(ARMCOMPUTECL_ENABLED)
#include <arm_compute/runtime/MemoryGroup.h>
diff --git a/src/backends/aclCommon/test/CreateWorkloadClNeon.hpp b/src/backends/aclCommon/test/CreateWorkloadClNeon.hpp
index 6a0d5cf766..a7783aa650 100644
--- a/src/backends/aclCommon/test/CreateWorkloadClNeon.hpp
+++ b/src/backends/aclCommon/test/CreateWorkloadClNeon.hpp
@@ -7,7 +7,7 @@
#include <CreateWorkload.hpp>
#include <armnnTestUtils/PredicateResult.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/MemCopyWorkload.hpp>
+#include <armnn/backends/MemCopyWorkload.hpp>
#include <reference/RefWorkloadFactory.hpp>
#include <reference/RefTensorHandle.hpp>
diff --git a/src/backends/aclCommon/test/MemCopyTestImpl.hpp b/src/backends/aclCommon/test/MemCopyTestImpl.hpp
index d943cfd8c0..db794b94da 100644
--- a/src/backends/aclCommon/test/MemCopyTestImpl.hpp
+++ b/src/backends/aclCommon/test/MemCopyTestImpl.hpp
@@ -8,10 +8,10 @@
#include <armnn/backends/IBackendInternal.hpp>
#include <test/TensorHelpers.hpp>
-#include <backendsCommon/test/WorkloadTestUtils.hpp>
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <backendsCommon/test/WorkloadFactoryHelper.hpp>
namespace
diff --git a/src/backends/backendsCommon/MapWorkload.hpp b/src/backends/backendsCommon/MapWorkload.hpp
index dbbf36a9ee..e8b5bd3285 100644
--- a/src/backends/backendsCommon/MapWorkload.hpp
+++ b/src/backends/backendsCommon/MapWorkload.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include "Workload.hpp"
+#include <armnn/backends/Workload.hpp>
namespace armnn
{
diff --git a/src/backends/backendsCommon/MemCopyWorkload.cpp b/src/backends/backendsCommon/MemCopyWorkload.cpp
index 946de30430..09d0e6c7d1 100644
--- a/src/backends/backendsCommon/MemCopyWorkload.cpp
+++ b/src/backends/backendsCommon/MemCopyWorkload.cpp
@@ -5,8 +5,10 @@
#include <ResolveType.hpp>
-#include <backendsCommon/MemCopyWorkload.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include "WorkloadUtils.hpp"
+
+#include <armnn/backends/MemCopyWorkload.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
diff --git a/src/backends/backendsCommon/MemCopyWorkload.hpp b/src/backends/backendsCommon/MemCopyWorkload.hpp
index 99845f397f..1c6fa70284 100644
--- a/src/backends/backendsCommon/MemCopyWorkload.hpp
+++ b/src/backends/backendsCommon/MemCopyWorkload.hpp
@@ -1,29 +1,8 @@
//
-// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
-#pragma once
-#include "Workload.hpp"
-#include "WorkloadUtils.hpp"
-
-#include <armnn/backends/TensorHandleFwd.hpp>
-
-#include <utility>
-
-namespace armnn
-{
-
-class CopyMemGenericWorkload : public BaseWorkload<MemCopyQueueDescriptor>
-{
-public:
- CopyMemGenericWorkload(const MemCopyQueueDescriptor& descriptor, const WorkloadInfo& info);
- void Execute() const override;
- void ExecuteAsync(WorkingMemDescriptor& descriptor) override;
-
-private:
- using TensorHandlePair = std::pair<const ITensorHandle*, ITensorHandle*>;
- std::vector<TensorHandlePair> m_TensorHandlePairs;
-};
-
-} //namespace armnn
+#include <armnn/backends/MemCopyWorkload.hpp>
+#pragma message("src/backends/backendsCommon/MemCopyWorkload.hpp has been deprecated, it is due for removal in"\
+ " 22.08 release. Please use public interface include/armnn/backends/MemCopyWorkload.hpp")
diff --git a/src/backends/backendsCommon/MemImportWorkload.cpp b/src/backends/backendsCommon/MemImportWorkload.cpp
index 844908f27b..22e919f4dc 100644
--- a/src/backends/backendsCommon/MemImportWorkload.cpp
+++ b/src/backends/backendsCommon/MemImportWorkload.cpp
@@ -6,7 +6,7 @@
#include <ResolveType.hpp>
#include <backendsCommon/MemImportWorkload.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cstring>
diff --git a/src/backends/backendsCommon/MemImportWorkload.hpp b/src/backends/backendsCommon/MemImportWorkload.hpp
index d3c57239bd..c5bdf31e3f 100644
--- a/src/backends/backendsCommon/MemImportWorkload.hpp
+++ b/src/backends/backendsCommon/MemImportWorkload.hpp
@@ -4,10 +4,10 @@
//
#pragma once
-#include "Workload.hpp"
#include "WorkloadUtils.hpp"
#include <armnn/backends/TensorHandleFwd.hpp>
+#include <armnn/backends/Workload.hpp>
#include <utility>
diff --git a/src/backends/backendsCommon/MemSyncWorkload.cpp b/src/backends/backendsCommon/MemSyncWorkload.cpp
index 9025e665c9..af68306557 100644
--- a/src/backends/backendsCommon/MemSyncWorkload.cpp
+++ b/src/backends/backendsCommon/MemSyncWorkload.cpp
@@ -6,7 +6,7 @@
#include <ResolveType.hpp>
#include <backendsCommon/MemSyncWorkload.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cstring>
diff --git a/src/backends/backendsCommon/MemSyncWorkload.hpp b/src/backends/backendsCommon/MemSyncWorkload.hpp
index 7b59a0b55f..eb2651731c 100644
--- a/src/backends/backendsCommon/MemSyncWorkload.hpp
+++ b/src/backends/backendsCommon/MemSyncWorkload.hpp
@@ -4,10 +4,10 @@
//
#pragma once
-#include "Workload.hpp"
#include "WorkloadUtils.hpp"
#include <armnn/backends/TensorHandleFwd.hpp>
+#include <armnn/backends/Workload.hpp>
#include <utility>
diff --git a/src/backends/backendsCommon/TensorHandle.cpp b/src/backends/backendsCommon/TensorHandle.cpp
index d4660d6de3..d55fca24d4 100644
--- a/src/backends/backendsCommon/TensorHandle.cpp
+++ b/src/backends/backendsCommon/TensorHandle.cpp
@@ -5,7 +5,7 @@
#include <armnn/Exceptions.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cstring>
diff --git a/src/backends/backendsCommon/TensorHandle.hpp b/src/backends/backendsCommon/TensorHandle.hpp
index ba1fc16378..99aac0ad5d 100644
--- a/src/backends/backendsCommon/TensorHandle.hpp
+++ b/src/backends/backendsCommon/TensorHandle.hpp
@@ -3,268 +3,6 @@
// SPDX-License-Identifier: MIT
//
-#pragma once
-
-#include <armnn/backends/TensorHandleFwd.hpp>
-#include <armnn/backends/ITensorHandle.hpp>
-
-#include <armnn/TypesUtils.hpp>
-
-#include <armnnUtils/CompatibleTypes.hpp>
-
-#include <algorithm>
-
-#include <armnn/utility/Assert.hpp>
-
-namespace armnn
-{
-
-// Get a TensorShape representing the strides (in bytes) for each dimension
-// of a tensor, assuming fully packed data with no padding
-TensorShape GetUnpaddedTensorStrides(const TensorInfo& tensorInfo);
-
-// Abstract tensor handles wrapping a readable region of memory, interpreting it as tensor data.
-class ConstTensorHandle : public ITensorHandle
-{
-public:
- template <typename T>
- const T* GetConstTensor() const
- {
- if (armnnUtils::CompatibleTypes<T>(GetTensorInfo().GetDataType()))
- {
- return reinterpret_cast<const T*>(m_Memory);
- }
- else
- {
- throw armnn::Exception("Attempting to get not compatible type tensor!");
- }
- }
-
- const TensorInfo& GetTensorInfo() const
- {
- return m_TensorInfo;
- }
-
- virtual void Manage() override {}
-
- virtual ITensorHandle* GetParent() const override { return nullptr; }
-
- virtual const void* Map(bool /* blocking = true */) const override { return m_Memory; }
- virtual void Unmap() const override {}
-
- TensorShape GetStrides() const override
- {
- return GetUnpaddedTensorStrides(m_TensorInfo);
- }
- TensorShape GetShape() const override { return m_TensorInfo.GetShape(); }
-
-protected:
- ConstTensorHandle(const TensorInfo& tensorInfo);
-
- void SetConstMemory(const void* mem) { m_Memory = mem; }
-
-private:
- // Only used for testing
- void CopyOutTo(void *) const override { ARMNN_ASSERT_MSG(false, "Unimplemented"); }
- void CopyInFrom(const void*) override { ARMNN_ASSERT_MSG(false, "Unimplemented"); }
-
- ConstTensorHandle(const ConstTensorHandle& other) = delete;
- ConstTensorHandle& operator=(const ConstTensorHandle& other) = delete;
-
- TensorInfo m_TensorInfo;
- const void* m_Memory;
-};
-
-template<>
-const void* ConstTensorHandle::GetConstTensor<void>() const;
-
-// Abstract specialization of ConstTensorHandle that allows write access to the same data.
-class TensorHandle : public ConstTensorHandle
-{
-public:
- template <typename T>
- T* GetTensor() const
- {
- if (armnnUtils::CompatibleTypes<T>(GetTensorInfo().GetDataType()))
- {
- return reinterpret_cast<T*>(m_MutableMemory);
- }
- else
- {
- throw armnn::Exception("Attempting to get not compatible type tensor!");
- }
- }
-
-protected:
- TensorHandle(const TensorInfo& tensorInfo);
-
- void SetMemory(void* mem)
- {
- m_MutableMemory = mem;
- SetConstMemory(m_MutableMemory);
- }
-
-private:
-
- TensorHandle(const TensorHandle& other) = delete;
- TensorHandle& operator=(const TensorHandle& other) = delete;
- void* m_MutableMemory;
-};
-
-template <>
-void* TensorHandle::GetTensor<void>() const;
-
-// A TensorHandle that owns the wrapped memory region.
-class ScopedTensorHandle : public TensorHandle
-{
-public:
- explicit ScopedTensorHandle(const TensorInfo& tensorInfo);
-
- // Copies contents from Tensor.
- explicit ScopedTensorHandle(const ConstTensor& tensor);
-
- // Copies contents from ConstTensorHandle
- explicit ScopedTensorHandle(const ConstTensorHandle& tensorHandle);
-
- ScopedTensorHandle(const ScopedTensorHandle& other);
- ScopedTensorHandle& operator=(const ScopedTensorHandle& other);
- ~ScopedTensorHandle();
-
- virtual void Allocate() override;
-
-private:
- // Only used for testing
- void CopyOutTo(void* memory) const override;
- void CopyInFrom(const void* memory) override;
-
- void CopyFrom(const ScopedTensorHandle& other);
- void CopyFrom(const void* srcMemory, unsigned int numBytes);
-};
-
-// A TensorHandle that wraps an already allocated memory region.
-//
-// Clients must make sure the passed in memory region stays alive for the lifetime of
-// the PassthroughTensorHandle instance.
-//
-// Note there is no polymorphism to/from ConstPassthroughTensorHandle.
-class PassthroughTensorHandle : public TensorHandle
-{
-public:
- PassthroughTensorHandle(const TensorInfo& tensorInfo, void* mem)
- : TensorHandle(tensorInfo)
- {
- SetMemory(mem);
- }
-
- virtual void Allocate() override;
-};
-
-// A ConstTensorHandle that wraps an already allocated memory region.
-//
-// This allows users to pass in const memory to a network.
-// Clients must make sure the passed in memory region stays alive for the lifetime of
-// the PassthroughTensorHandle instance.
-//
-// Note there is no polymorphism to/from PassthroughTensorHandle.
-class ConstPassthroughTensorHandle : public ConstTensorHandle
-{
-public:
- ConstPassthroughTensorHandle(const TensorInfo& tensorInfo, const void* mem)
- : ConstTensorHandle(tensorInfo)
- {
- SetConstMemory(mem);
- }
-
- virtual void Allocate() override;
-};
-
-
-// Template specializations.
-
-template <>
-const void* ConstTensorHandle::GetConstTensor() const;
-
-template <>
-void* TensorHandle::GetTensor() const;
-
-class ManagedConstTensorHandle
-{
-
-public:
- explicit ManagedConstTensorHandle(std::shared_ptr<ConstTensorHandle> ptr)
- : m_Mapped(false)
- , m_TensorHandle(std::move(ptr)) {};
-
- /// RAII Managed resource Unmaps MemoryArea once out of scope
- const void* Map(bool blocking = true)
- {
- if (m_TensorHandle)
- {
- auto pRet = m_TensorHandle->Map(blocking);
- m_Mapped = true;
- return pRet;
- }
- else
- {
- throw armnn::Exception("Attempting to Map null TensorHandle");
- }
-
- }
-
- // Delete copy constructor as it's unnecessary
- ManagedConstTensorHandle(const ConstTensorHandle& other) = delete;
-
- // Delete copy assignment as it's unnecessary
- ManagedConstTensorHandle& operator=(const ManagedConstTensorHandle& other) = delete;
-
- // Delete move assignment as it's unnecessary
- ManagedConstTensorHandle& operator=(ManagedConstTensorHandle&& other) noexcept = delete;
-
- ~ManagedConstTensorHandle()
- {
- // Bias tensor handles need to be initialized empty before entering scope of if statement checking if enabled
- if (m_TensorHandle)
- {
- Unmap();
- }
- }
-
- void Unmap()
- {
- // Only unmap if mapped and TensorHandle exists.
- if (m_Mapped && m_TensorHandle)
- {
- m_TensorHandle->Unmap();
- m_Mapped = false;
- }
- }
-
- const TensorInfo& GetTensorInfo() const
- {
- return m_TensorHandle->GetTensorInfo();
- }
-
- bool IsMapped() const
- {
- return m_Mapped;
- }
-
-private:
- bool m_Mapped;
- std::shared_ptr<ConstTensorHandle> m_TensorHandle;
-};
-
-using ConstCpuTensorHandle ARMNN_DEPRECATED_MSG_REMOVAL_DATE("ConstCpuTensorHandle is deprecated, "
- "use ConstTensorHandle instead", "22.05") = ConstTensorHandle;
-using CpuTensorHandle ARMNN_DEPRECATED_MSG_REMOVAL_DATE("CpuTensorHandle is deprecated, "
- "use TensorHandle instead", "22.05") = TensorHandle;
-using ScopedCpuTensorHandle ARMNN_DEPRECATED_MSG_REMOVAL_DATE("ScopedCpuTensorHandle is deprecated, "
- "use ScopedTensorHandle instead", "22.05") = ScopedTensorHandle;
-using PassthroughCpuTensorHandle ARMNN_DEPRECATED_MSG_REMOVAL_DATE("PassthroughCpuTensorHandle is deprecated, use "
- "PassthroughTensorHandle instead",
- "22.05") = PassthroughTensorHandle;
-using ConstPassthroughCpuTensorHandle ARMNN_DEPRECATED_MSG_REMOVAL_DATE("ConstPassthroughCpuTensorHandle is "
- "deprecated, use ConstPassthroughTensorHandle "
- "instead", "22.05") = ConstPassthroughTensorHandle;
-
-} // namespace armnn
+#include <armnn/backends/TensorHandle.hpp>
+#pragma message("src/backends/backendsCommon/TensorHandle.hpp has been deprecated, it is due for removal in"\
+ " 22.08 release. Please use public interface include/armnn/backends/TensorHandle.hpp")
diff --git a/src/backends/backendsCommon/UnmapWorkload.hpp b/src/backends/backendsCommon/UnmapWorkload.hpp
index 7f13f0d295..c6ac3e7e46 100644
--- a/src/backends/backendsCommon/UnmapWorkload.hpp
+++ b/src/backends/backendsCommon/UnmapWorkload.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include "Workload.hpp"
+#include <armnn/backends/Workload.hpp>
namespace armnn
{
diff --git a/src/backends/backendsCommon/Workload.hpp b/src/backends/backendsCommon/Workload.hpp
index 87869c9841..00b6bfe4a7 100644
--- a/src/backends/backendsCommon/Workload.hpp
+++ b/src/backends/backendsCommon/Workload.hpp
@@ -1,219 +1,8 @@
//
-// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
-#pragma once
-#include "WorkloadData.hpp"
-#include "WorkloadInfo.hpp"
-#include "WorkingMemDescriptor.hpp"
-
-#include <armnn/backends/IWorkload.hpp>
-#include <Profiling.hpp>
-#include <ProfilingService.hpp>
-
-#include <algorithm>
-
-namespace armnn
-{
-
-// NullWorkload used to denote an unsupported workload when used by the MakeWorkload<> template
-// in the various workload factories.
-// There should never be an instantiation of a NullWorkload.
-class NullWorkload : public IWorkload
-{
- NullWorkload()=delete;
-};
-
-template <typename QueueDescriptor>
-class BaseWorkload : public IWorkload
-{
-public:
-
- BaseWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
- : m_Data(descriptor),
- m_Guid(profiling::ProfilingService::GetNextGuid())
- {
- m_Data.Validate(info);
- }
-
- void ExecuteAsync(WorkingMemDescriptor& workingMemDescriptor) override
- {
- ARMNN_LOG(info) << "Using default async workload execution, this will network affect performance";
- std::lock_guard<std::mutex> lockGuard(m_AsyncWorkloadMutex);
-
- m_Data.m_Inputs = workingMemDescriptor.m_Inputs;
- m_Data.m_Outputs = workingMemDescriptor.m_Outputs;
-
- Execute();
- };
-
- void PostAllocationConfigure() override {}
-
- const QueueDescriptor& GetData() const { return m_Data; }
-
- profiling::ProfilingGuid GetGuid() const final { return m_Guid; }
-
-protected:
- QueueDescriptor m_Data;
- const profiling::ProfilingGuid m_Guid;
-
-private:
- std::mutex m_AsyncWorkloadMutex;
-};
-
-// TypedWorkload used
-template <typename QueueDescriptor, armnn::DataType... DataTypes>
-class TypedWorkload : public BaseWorkload<QueueDescriptor>
-{
-public:
-
- TypedWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
- : BaseWorkload<QueueDescriptor>(descriptor, info)
- {
- std::vector<armnn::DataType> dataTypes = {DataTypes...};
- armnn::DataType expectedInputType;
-
- if (!info.m_InputTensorInfos.empty())
- {
- expectedInputType = info.m_InputTensorInfos.front().GetDataType();
-
- if (std::find(dataTypes.begin(), dataTypes.end(), expectedInputType) == dataTypes.end())
- {
- ARMNN_ASSERT_MSG(false, "Trying to create workload with incorrect type");
- }
- ARMNN_ASSERT_MSG(std::all_of(std::next(info.m_InputTensorInfos.begin()),
- info.m_InputTensorInfos.end(),
- [&](auto it){
- return it.GetDataType() == expectedInputType;
- }),
- "Trying to create workload with incorrect type");
- }
- armnn::DataType expectedOutputType;
-
- if (!info.m_OutputTensorInfos.empty())
- {
- expectedOutputType = info.m_OutputTensorInfos.front().GetDataType();
-
- if (!info.m_InputTensorInfos.empty())
- {
- if (expectedOutputType != expectedInputType)
- {
- ARMNN_ASSERT_MSG(false, "Trying to create workload with incorrect type");
- }
- }
- else if (std::find(dataTypes.begin(), dataTypes.end(), expectedOutputType) == dataTypes.end())
- {
- ARMNN_ASSERT_MSG(false, "Trying to create workload with incorrect type");
- }
- ARMNN_ASSERT_MSG(std::all_of(std::next(info.m_OutputTensorInfos.begin()),
- info.m_OutputTensorInfos.end(),
- [&](auto it){
- return it.GetDataType() == expectedOutputType;
- }),
- "Trying to create workload with incorrect type");
- }
- }
-};
-
-template <typename QueueDescriptor, armnn::DataType InputDataType, armnn::DataType OutputDataType>
-class MultiTypedWorkload : public BaseWorkload<QueueDescriptor>
-{
-public:
-
- MultiTypedWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
- : BaseWorkload<QueueDescriptor>(descriptor, info)
- {
- ARMNN_ASSERT_MSG(std::all_of(info.m_InputTensorInfos.begin(),
- info.m_InputTensorInfos.end(),
- [&](auto it){
- return it.GetDataType() == InputDataType;
- }),
- "Trying to create workload with incorrect type");
-
- ARMNN_ASSERT_MSG(std::all_of(info.m_OutputTensorInfos.begin(),
- info.m_OutputTensorInfos.end(),
- [&](auto it){
- return it.GetDataType() == OutputDataType;
- }),
- "Trying to create workload with incorrect type");
- }
-};
-
-// FirstInputTypedWorkload used to check type of the first input
-template <typename QueueDescriptor, armnn::DataType DataType>
-class FirstInputTypedWorkload : public BaseWorkload<QueueDescriptor>
-{
-public:
-
- FirstInputTypedWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
- : BaseWorkload<QueueDescriptor>(descriptor, info)
- {
- if (!info.m_InputTensorInfos.empty())
- {
- ARMNN_ASSERT_MSG(info.m_InputTensorInfos.front().GetDataType() == DataType,
- "Trying to create workload with incorrect type");
- }
-
- ARMNN_ASSERT_MSG(std::all_of(info.m_OutputTensorInfos.begin(),
- info.m_OutputTensorInfos.end(),
- [&](auto it){
- return it.GetDataType() == DataType;
- }),
- "Trying to create workload with incorrect type");
- }
-};
-
-template <typename QueueDescriptor>
-using FloatWorkload = TypedWorkload<QueueDescriptor,
- armnn::DataType::Float16,
- armnn::DataType::Float32>;
-
-template <typename QueueDescriptor>
-using Float32Workload = TypedWorkload<QueueDescriptor, armnn::DataType::Float32>;
-
-template <typename QueueDescriptor>
-using Uint8Workload = TypedWorkload<QueueDescriptor, armnn::DataType::QAsymmU8>;
-
-template <typename QueueDescriptor>
-using Int32Workload = TypedWorkload<QueueDescriptor, armnn::DataType::Signed32>;
-
-template <typename QueueDescriptor>
-using BooleanWorkload = TypedWorkload<QueueDescriptor, armnn::DataType::Boolean>;
-
-template <typename QueueDescriptor>
-using BaseFloat32ComparisonWorkload = MultiTypedWorkload<QueueDescriptor,
- armnn::DataType::Float32,
- armnn::DataType::Boolean>;
-
-template <typename QueueDescriptor>
-using BaseUint8ComparisonWorkload = MultiTypedWorkload<QueueDescriptor,
- armnn::DataType::QAsymmU8,
- armnn::DataType::Boolean>;
-
-template <typename QueueDescriptor>
-using BFloat16ToFloat32Workload = MultiTypedWorkload<QueueDescriptor,
- armnn::DataType::BFloat16,
- armnn::DataType::Float32>;
-
-template <typename QueueDescriptor>
-using Float32ToBFloat16Workload = MultiTypedWorkload<QueueDescriptor,
- armnn::DataType::Float32,
- armnn::DataType::BFloat16>;
-
-template <typename QueueDescriptor>
-using Float16ToFloat32Workload = MultiTypedWorkload<QueueDescriptor,
- armnn::DataType::Float16,
- armnn::DataType::Float32>;
-
-template <typename QueueDescriptor>
-using Float32ToFloat16Workload = MultiTypedWorkload<QueueDescriptor,
- armnn::DataType::Float32,
- armnn::DataType::Float16>;
-
-template <typename QueueDescriptor>
-using Uint8ToFloat32Workload = MultiTypedWorkload<QueueDescriptor,
- armnn::DataType::QAsymmU8,
- armnn::DataType::Float32>;
-
-} //namespace armnn
+#include <armnn/backends/Workload.hpp>
+#pragma message("src/backends/backendsCommon/Workload.hpp has been deprecated, it is due for removal in"\
+ " 22.08 release. Please use public interface include/armnn/backends/Workload.hpp")
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp
index eb2ff4eff3..385affa5fa 100644
--- a/src/backends/backendsCommon/WorkloadData.cpp
+++ b/src/backends/backendsCommon/WorkloadData.cpp
@@ -3,8 +3,9 @@
// SPDX-License-Identifier: MIT
//
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadInfo.hpp>
#include <armnnUtils/DataLayoutIndexed.hpp>
#include <armnnUtils/TensorUtils.hpp>
#include <armnn/utility/NumericCast.hpp>
diff --git a/src/backends/backendsCommon/WorkloadData.hpp b/src/backends/backendsCommon/WorkloadData.hpp
index 15c79e31c0..359c33a839 100644
--- a/src/backends/backendsCommon/WorkloadData.hpp
+++ b/src/backends/backendsCommon/WorkloadData.hpp
@@ -1,773 +1,8 @@
//
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
-#pragma once
-#include <armnn/backends/TensorHandleFwd.hpp>
-#include <armnn/backends/ITensorHandle.hpp>
-
-#include <InternalTypes.hpp>
-
-#include <armnn/Deprecated.hpp>
-#include <armnn/Descriptors.hpp>
-#include <armnn/Exceptions.hpp>
-#include <armnn/Types.hpp>
-#include <armnn/Tensor.hpp>
-
-#include <backendsCommon/WorkloadInfo.hpp>
-
-namespace armnn
-{
-
-//A helper function that returns the bias data type required for given input data type.
-DataType GetBiasDataType(DataType inputDataType);
-
-struct WorkloadInfo;
-
-struct QueueDescriptor
-{
- std::vector<ITensorHandle*> m_Inputs;
- std::vector<ITensorHandle*> m_Outputs;
- void* m_AdditionalInfoObject;
-
- void ValidateInputsOutputs(const std::string& descName,
- unsigned int numExpectedIn,
- unsigned int numExpectedOut) const;
-
- template<typename T>
- const T* GetAdditionalInformation() const
- {
- return static_cast<T*>(m_AdditionalInfoObject);
- }
-
-protected:
- ~QueueDescriptor() = default;
- QueueDescriptor()
- : m_AdditionalInfoObject(nullptr)
- {}
- QueueDescriptor(QueueDescriptor const&) = default;
- QueueDescriptor& operator=(QueueDescriptor const&) = default;
-};
-
-// Base class for queue descriptors which contain parameters.
-template <typename LayerDescriptor>
-struct QueueDescriptorWithParameters : public QueueDescriptor
-{
- LayerDescriptor m_Parameters;
-
-protected:
- ~QueueDescriptorWithParameters() = default;
- QueueDescriptorWithParameters() = default;
- QueueDescriptorWithParameters(QueueDescriptorWithParameters const&) = default;
- QueueDescriptorWithParameters& operator=(QueueDescriptorWithParameters const&) = default;
-};
-
-struct MapQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct UnmapQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct MemCopyQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-using InputQueueDescriptor = MemCopyQueueDescriptor;
-using OutputQueueDescriptor = MemCopyQueueDescriptor;
-
-struct MemImportQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct MemSyncQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Softmax layer workload data.
-struct SoftmaxQueueDescriptor : QueueDescriptorWithParameters<SoftmaxDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Splitter layer workload data.
-struct SplitterQueueDescriptor : QueueDescriptorWithParameters<ViewsDescriptor>
-{
- struct ViewOrigin
- {
- ViewOrigin() {}
- ViewOrigin(std::vector<unsigned int> const& origin) : m_Origin(origin) {}
-
- //View origin (size of the vector is the same as number of dimensions of the view).
- std::vector<unsigned int> m_Origin;
- };
-
- //View defines a tensor that will be carved from the input tensor.
- //View origins are stored here, the extents are defined by sizes of the output tensors.
- std::vector<ViewOrigin> m_ViewOrigins;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Concat layer workload data.
-struct ConcatQueueDescriptor : QueueDescriptorWithParameters<OriginsDescriptor>
-{
- struct ViewOrigin
- {
- ViewOrigin() {}
- ViewOrigin(const std::vector<unsigned int>& origin) : m_Origin(origin) {}
-
- //View origin (size of the vector is the same as number of dimensions of the view).
- std::vector<unsigned int> m_Origin;
- };
-
- //View defines a sub-area of the output tensor that will be filled with the corresponding input tensor.
- //View origins are stored here, the extents are defined by sizes of the input tensors.
- std::vector<ViewOrigin> m_ViewOrigins;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Deprecated. Use ConcatQueueDescriptor instead
-using MergerQueueDescriptor = ConcatQueueDescriptor;
-
-// Stack layer workload data.
-struct StackQueueDescriptor : QueueDescriptorWithParameters<StackDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Activation layer workload data.
-struct ActivationQueueDescriptor : QueueDescriptorWithParameters<ActivationDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ArgMinMaxQueueDescriptor : QueueDescriptorWithParameters<ArgMinMaxDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct CastQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Fill layer workload data.
-struct FillQueueDescriptor : QueueDescriptorWithParameters<FillDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Fully connected layer workload data.
-struct FullyConnectedQueueDescriptor : QueueDescriptorWithParameters<FullyConnectedDescriptor>
-{
- FullyConnectedQueueDescriptor()
- : m_Weight(nullptr)
- , m_Bias(nullptr)
- {
- }
-
- const ConstTensorHandle* m_Weight;
- const ConstTensorHandle* m_Bias;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Permute layer workload data.
-struct PermuteQueueDescriptor : QueueDescriptorWithParameters<PermuteDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Pooling 2D layer workload data.
-struct Pooling2dQueueDescriptor : QueueDescriptorWithParameters<Pooling2dDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Pooling 3D layer workload data.
-struct Pooling3dQueueDescriptor : QueueDescriptorWithParameters<Pooling3dDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-
-// Convolution 2D layer workload data.
-struct Convolution2dQueueDescriptor : QueueDescriptorWithParameters<Convolution2dDescriptor>
-{
- Convolution2dQueueDescriptor()
- : m_Weight(nullptr)
- , m_Bias(nullptr)
- {
- }
-
- const ConstTensorHandle* m_Weight;
- const ConstTensorHandle* m_Bias;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Convolution 3D layer workload data.
-struct Convolution3dQueueDescriptor : QueueDescriptorWithParameters<Convolution3dDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-/// Depthwise Convolution 2D layer workload data.
-///
-/// @note
-/// The weights are in the format [1, H, W, I*M]. Where I is the input channel size, M the depthwise mutliplier and
-/// H, W is the height and width of the filter kernel. If per channel quantization is applied
-/// the weights will be quantized along the last dimension/axis (I*M) which corresponds to the output channel size.
-/// If per channel quantization is applied the weights tensor will have I*M scales, one for each dimension
-/// of the quantization axis. You have to be aware of this when reshaping the weights tensor.
-/// Splitting the I*M axis, e.g. [1, H, W, I*M] --> [H, W, I, M], won't work without taking care of the
-/// corresponding quantization scales.
-/// If there is no per channel quantization applied reshaping the weights tensor won't cause any issues. There are
-/// preconfigured permutation functions available @link WorkloadUtils.hpp here.
-///
-struct DepthwiseConvolution2dQueueDescriptor : QueueDescriptorWithParameters<DepthwiseConvolution2dDescriptor>
-{
- DepthwiseConvolution2dQueueDescriptor()
- : m_Weight(nullptr)
- , m_Bias(nullptr)
- {
- }
-
- const ConstTensorHandle* m_Weight;
- const ConstTensorHandle* m_Bias;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct DetectionPostProcessQueueDescriptor : QueueDescriptorWithParameters<DetectionPostProcessDescriptor>
-{
- DetectionPostProcessQueueDescriptor()
- : m_Anchors(nullptr)
- {
- }
-
- const ConstTensorHandle* m_Anchors;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Normalization layer workload data.
-struct NormalizationQueueDescriptor : QueueDescriptorWithParameters<NormalizationDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Add layer workload data.
-struct AdditionQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Multiplication layer workload data.
-struct MultiplicationQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Division layer workload data.
-struct DivisionQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Subtraction layer workload data.
-struct SubtractionQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Maximum layer workload data.
-struct MaximumQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Mean layer workload data.
-struct MeanQueueDescriptor : QueueDescriptorWithParameters<MeanDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Pad layer workload data
-struct PadQueueDescriptor : QueueDescriptorWithParameters<PadDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct QuantizeQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Deprecated use ComparisonQueueDescriptor instead
-struct EqualQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Batch norm layer workload data.
-struct BatchNormalizationQueueDescriptor : QueueDescriptorWithParameters<BatchNormalizationDescriptor>
-{
- BatchNormalizationQueueDescriptor()
- : m_Mean(nullptr)
- , m_Variance(nullptr)
- , m_Beta(nullptr)
- , m_Gamma(nullptr)
- {
- }
-
- const ConstTensorHandle* m_Mean;
- const ConstTensorHandle* m_Variance;
- const ConstTensorHandle* m_Beta;
- const ConstTensorHandle* m_Gamma;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct RankQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-ARMNN_NO_DEPRECATE_WARN_BEGIN
-struct
-ARMNN_DEPRECATED_MSG_REMOVAL_DATE("ResizeBilinearQueueDescriptor is deprecated use ResizeQueueDescriptor instead",
- "22.08")
-ResizeBilinearQueueDescriptor : QueueDescriptorWithParameters<ResizeBilinearDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-ARMNN_NO_DEPRECATE_WARN_END
-
-struct ResizeQueueDescriptor : QueueDescriptorWithParameters<ResizeDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct FakeQuantizationQueueDescriptor : QueueDescriptorWithParameters<FakeQuantizationDescriptor>
-{
- FakeQuantizationQueueDescriptor()
- : m_Min(nullptr)
- , m_Max(nullptr)
- {
- }
-
- const ConstTensorHandle* m_Min;
- const ConstTensorHandle* m_Max;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct InstanceNormalizationQueueDescriptor : QueueDescriptorWithParameters<InstanceNormalizationDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct L2NormalizationQueueDescriptor : QueueDescriptorWithParameters<L2NormalizationDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct LogSoftmaxQueueDescriptor : QueueDescriptorWithParameters<LogSoftmaxDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ConstantQueueDescriptor : QueueDescriptor
-{
- ConstantQueueDescriptor()
- : m_LayerOutput(nullptr)
- {
- }
-
- const ConstTensorHandle* m_LayerOutput;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ReshapeQueueDescriptor : QueueDescriptorWithParameters<ReshapeDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct SpaceToBatchNdQueueDescriptor : QueueDescriptorWithParameters<SpaceToBatchNdDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct SpaceToDepthQueueDescriptor : QueueDescriptorWithParameters<SpaceToDepthDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct FloorQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct LstmQueueDescriptor : QueueDescriptorWithParameters<LstmDescriptor>
-{
- LstmQueueDescriptor()
- : m_InputToInputWeights(nullptr)
- , m_InputToForgetWeights(nullptr)
- , m_InputToCellWeights(nullptr)
- , m_InputToOutputWeights(nullptr)
- , m_RecurrentToInputWeights(nullptr)
- , m_RecurrentToForgetWeights(nullptr)
- , m_RecurrentToCellWeights(nullptr)
- , m_RecurrentToOutputWeights(nullptr)
- , m_CellToInputWeights(nullptr)
- , m_CellToForgetWeights(nullptr)
- , m_CellToOutputWeights(nullptr)
- , m_InputGateBias(nullptr)
- , m_ForgetGateBias(nullptr)
- , m_CellBias(nullptr)
- , m_OutputGateBias(nullptr)
- , m_ProjectionWeights(nullptr)
- , m_ProjectionBias(nullptr)
- , m_InputLayerNormWeights(nullptr)
- , m_ForgetLayerNormWeights(nullptr)
- , m_CellLayerNormWeights(nullptr)
- , m_OutputLayerNormWeights(nullptr)
- {
- }
-
- const ConstTensorHandle* m_InputToInputWeights;
- const ConstTensorHandle* m_InputToForgetWeights;
- const ConstTensorHandle* m_InputToCellWeights;
- const ConstTensorHandle* m_InputToOutputWeights;
- const ConstTensorHandle* m_RecurrentToInputWeights;
- const ConstTensorHandle* m_RecurrentToForgetWeights;
- const ConstTensorHandle* m_RecurrentToCellWeights;
- const ConstTensorHandle* m_RecurrentToOutputWeights;
- const ConstTensorHandle* m_CellToInputWeights;
- const ConstTensorHandle* m_CellToForgetWeights;
- const ConstTensorHandle* m_CellToOutputWeights;
- const ConstTensorHandle* m_InputGateBias;
- const ConstTensorHandle* m_ForgetGateBias;
- const ConstTensorHandle* m_CellBias;
- const ConstTensorHandle* m_OutputGateBias;
- const ConstTensorHandle* m_ProjectionWeights;
- const ConstTensorHandle* m_ProjectionBias;
- const ConstTensorHandle* m_InputLayerNormWeights;
- const ConstTensorHandle* m_ForgetLayerNormWeights;
- const ConstTensorHandle* m_CellLayerNormWeights;
- const ConstTensorHandle* m_OutputLayerNormWeights;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ConvertBf16ToFp32QueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ConvertFp32ToBf16QueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ConvertFp16ToFp32QueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ConvertFp32ToFp16QueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct BatchToSpaceNdQueueDescriptor : QueueDescriptorWithParameters<BatchToSpaceNdDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct StridedSliceQueueDescriptor : QueueDescriptorWithParameters<StridedSliceDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Minimum layer workload data.
-struct MinimumQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-// Deprecated use ComparisonQueueDescriptor instead
-struct GreaterQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct DebugQueueDescriptor : QueueDescriptor
-{
- DebugQueueDescriptor() : m_Guid(0) {}
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-
- LayerGuid m_Guid;
- std::string m_LayerName;
- unsigned int m_SlotIndex;
-};
-
-struct RsqrtQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct GatherQueueDescriptor : QueueDescriptorWithParameters<GatherDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct PreCompiledQueueDescriptor : QueueDescriptorWithParameters<PreCompiledDescriptor>
-{
- PreCompiledQueueDescriptor()
- : m_PreCompiledObject(nullptr)
- {
- }
-
- void* m_PreCompiledObject;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct DequantizeQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct MergeQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct SwitchQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct PreluQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct TransposeConvolution2dQueueDescriptor : QueueDescriptorWithParameters<TransposeConvolution2dDescriptor>
-{
- TransposeConvolution2dQueueDescriptor() :
- m_Weight(nullptr),
- m_Bias(nullptr)
- {}
-
- const ConstTensorHandle* m_Weight;
- const ConstTensorHandle* m_Bias;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct TransposeQueueDescriptor : QueueDescriptorWithParameters<TransposeDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct QLstmQueueDescriptor : QueueDescriptorWithParameters<QLstmDescriptor>
-{
- QLstmQueueDescriptor()
- : m_InputToInputWeights(nullptr)
- , m_InputToForgetWeights(nullptr)
- , m_InputToCellWeights(nullptr)
- , m_InputToOutputWeights(nullptr)
- , m_RecurrentToInputWeights(nullptr)
- , m_RecurrentToForgetWeights(nullptr)
- , m_RecurrentToCellWeights(nullptr)
- , m_RecurrentToOutputWeights(nullptr)
- , m_CellToInputWeights(nullptr)
- , m_CellToForgetWeights(nullptr)
- , m_CellToOutputWeights(nullptr)
- , m_InputGateBias(nullptr)
- , m_ForgetGateBias(nullptr)
- , m_CellBias(nullptr)
- , m_OutputGateBias(nullptr)
- , m_ProjectionWeights(nullptr)
- , m_ProjectionBias(nullptr)
- , m_InputLayerNormWeights(nullptr)
- , m_ForgetLayerNormWeights(nullptr)
- , m_CellLayerNormWeights(nullptr)
- , m_OutputLayerNormWeights(nullptr)
- {
- }
-
- const ConstTensorHandle* m_InputToInputWeights;
- const ConstTensorHandle* m_InputToForgetWeights;
- const ConstTensorHandle* m_InputToCellWeights;
- const ConstTensorHandle* m_InputToOutputWeights;
- const ConstTensorHandle* m_RecurrentToInputWeights;
- const ConstTensorHandle* m_RecurrentToForgetWeights;
- const ConstTensorHandle* m_RecurrentToCellWeights;
- const ConstTensorHandle* m_RecurrentToOutputWeights;
- const ConstTensorHandle* m_CellToInputWeights;
- const ConstTensorHandle* m_CellToForgetWeights;
- const ConstTensorHandle* m_CellToOutputWeights;
- const ConstTensorHandle* m_InputGateBias;
- const ConstTensorHandle* m_ForgetGateBias;
- const ConstTensorHandle* m_CellBias;
- const ConstTensorHandle* m_OutputGateBias;
- const ConstTensorHandle* m_ProjectionWeights;
- const ConstTensorHandle* m_ProjectionBias;
- const ConstTensorHandle* m_InputLayerNormWeights;
- const ConstTensorHandle* m_ForgetLayerNormWeights;
- const ConstTensorHandle* m_CellLayerNormWeights;
- const ConstTensorHandle* m_OutputLayerNormWeights;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct QuantizedLstmQueueDescriptor : QueueDescriptor
-{
- QuantizedLstmQueueDescriptor()
- : m_InputToInputWeights(nullptr)
- , m_InputToForgetWeights(nullptr)
- , m_InputToCellWeights(nullptr)
- , m_InputToOutputWeights(nullptr)
-
- , m_RecurrentToInputWeights(nullptr)
- , m_RecurrentToForgetWeights(nullptr)
- , m_RecurrentToCellWeights(nullptr)
- , m_RecurrentToOutputWeights(nullptr)
-
- , m_InputGateBias(nullptr)
- , m_ForgetGateBias(nullptr)
- , m_CellBias(nullptr)
- , m_OutputGateBias(nullptr)
- {}
-
- const ConstTensorHandle* m_InputToInputWeights;
- const ConstTensorHandle* m_InputToForgetWeights;
- const ConstTensorHandle* m_InputToCellWeights;
- const ConstTensorHandle* m_InputToOutputWeights;
-
- const ConstTensorHandle* m_RecurrentToInputWeights;
- const ConstTensorHandle* m_RecurrentToForgetWeights;
- const ConstTensorHandle* m_RecurrentToCellWeights;
- const ConstTensorHandle* m_RecurrentToOutputWeights;
-
- const ConstTensorHandle* m_InputGateBias;
- const ConstTensorHandle* m_ForgetGateBias;
- const ConstTensorHandle* m_CellBias;
- const ConstTensorHandle* m_OutputGateBias;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct AbsQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct SliceQueueDescriptor : QueueDescriptorWithParameters<SliceDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct DepthToSpaceQueueDescriptor : QueueDescriptorWithParameters<DepthToSpaceDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ComparisonQueueDescriptor : QueueDescriptorWithParameters<ComparisonDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ElementwiseUnaryQueueDescriptor : QueueDescriptorWithParameters<ElementwiseUnaryDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct LogicalBinaryQueueDescriptor : QueueDescriptorWithParameters<LogicalBinaryDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ReduceQueueDescriptor : QueueDescriptorWithParameters<ReduceDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ShapeQueueDescriptor : QueueDescriptor
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct UnidirectionalSequenceLstmQueueDescriptor : QueueDescriptorWithParameters<LstmDescriptor>
-{
- UnidirectionalSequenceLstmQueueDescriptor()
- : m_InputToInputWeights(nullptr)
- , m_InputToForgetWeights(nullptr)
- , m_InputToCellWeights(nullptr)
- , m_InputToOutputWeights(nullptr)
- , m_RecurrentToInputWeights(nullptr)
- , m_RecurrentToForgetWeights(nullptr)
- , m_RecurrentToCellWeights(nullptr)
- , m_RecurrentToOutputWeights(nullptr)
- , m_CellToInputWeights(nullptr)
- , m_CellToForgetWeights(nullptr)
- , m_CellToOutputWeights(nullptr)
- , m_InputGateBias(nullptr)
- , m_ForgetGateBias(nullptr)
- , m_CellBias(nullptr)
- , m_OutputGateBias(nullptr)
- , m_ProjectionWeights(nullptr)
- , m_ProjectionBias(nullptr)
- , m_InputLayerNormWeights(nullptr)
- , m_ForgetLayerNormWeights(nullptr)
- , m_CellLayerNormWeights(nullptr)
- , m_OutputLayerNormWeights(nullptr)
- {
- }
-
- const ConstTensorHandle* m_InputToInputWeights;
- const ConstTensorHandle* m_InputToForgetWeights;
- const ConstTensorHandle* m_InputToCellWeights;
- const ConstTensorHandle* m_InputToOutputWeights;
- const ConstTensorHandle* m_RecurrentToInputWeights;
- const ConstTensorHandle* m_RecurrentToForgetWeights;
- const ConstTensorHandle* m_RecurrentToCellWeights;
- const ConstTensorHandle* m_RecurrentToOutputWeights;
- const ConstTensorHandle* m_CellToInputWeights;
- const ConstTensorHandle* m_CellToForgetWeights;
- const ConstTensorHandle* m_CellToOutputWeights;
- const ConstTensorHandle* m_InputGateBias;
- const ConstTensorHandle* m_ForgetGateBias;
- const ConstTensorHandle* m_CellBias;
- const ConstTensorHandle* m_OutputGateBias;
- const ConstTensorHandle* m_ProjectionWeights;
- const ConstTensorHandle* m_ProjectionBias;
- const ConstTensorHandle* m_InputLayerNormWeights;
- const ConstTensorHandle* m_ForgetLayerNormWeights;
- const ConstTensorHandle* m_CellLayerNormWeights;
- const ConstTensorHandle* m_OutputLayerNormWeights;
-
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-struct ChannelShuffleQueueDescriptor : QueueDescriptorWithParameters<ChannelShuffleDescriptor>
-{
- void Validate(const WorkloadInfo& workloadInfo) const;
-};
-
-} // namespace armnn
+#include <armnn/backends/WorkloadData.hpp>
+#pragma message("src/backends/backendsCommon/WorkloadData.hpp has been deprecated, it is due for removal in"\
+ " 22.08 release. Please use public interface include/armnn/backends/WorkloadData.hpp")
diff --git a/src/backends/backendsCommon/WorkloadFactory.cpp b/src/backends/backendsCommon/WorkloadFactory.cpp
index 93932a83a1..9c47a19208 100644
--- a/src/backends/backendsCommon/WorkloadFactory.cpp
+++ b/src/backends/backendsCommon/WorkloadFactory.cpp
@@ -15,10 +15,8 @@
#include <armnn/utility/PolymorphicDowncast.hpp>
#include <armnn/utility/TransformIterator.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-
-//#include <WorkloadTestUtils.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <sstream>
diff --git a/src/backends/backendsCommon/WorkloadFactory.hpp b/src/backends/backendsCommon/WorkloadFactory.hpp
index d624d1b3df..0300c7f1c8 100644
--- a/src/backends/backendsCommon/WorkloadFactory.hpp
+++ b/src/backends/backendsCommon/WorkloadFactory.hpp
@@ -1,289 +1,8 @@
//
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
-#pragma once
-#include <armnn/TensorFwd.hpp>
-#include <armnn/Optional.hpp>
-#include <armnn/backends/ITensorHandle.hpp>
-#include <armnn/INetwork.hpp>
-
-#include <backendsCommon/Workload.hpp>
-
-#include <memory>
-
-namespace armnn
-{
-
-class Layer;
-
-// Workload factory interface for compute backends.
-class IWorkloadFactory
-{
-public:
- virtual ~IWorkloadFactory() { }
-
- virtual void AfterWorkloadsCreated() {};
-
- virtual const BackendId& GetBackendId() const = 0;
-
- static bool IsLayerSupported(const BackendId& backendId,
- const IConnectableLayer& layer,
- Optional<DataType> dataType,
- std::string& outReasonIfUnsupported);
-
- static bool IsLayerSupported(const IConnectableLayer& layer,
- Optional<DataType> dataType,
- std::string& outReasonIfUnsupported);
-
- static bool IsLayerSupported(const IConnectableLayer& layer,
- Optional<DataType> dataType,
- std::string& outReasonIfUnsupported,
- const ModelOptions& modelOptions);
-
- static bool IsLayerSupported(const BackendId& backendId,
- const IConnectableLayer& layer,
- Optional<DataType> dataType,
- std::string& outReasonIfUnsupported,
- const ModelOptions& modelOptions);
-
- virtual bool SupportsSubTensors() const = 0;
-
- ARMNN_DEPRECATED_MSG("Use ITensorHandleFactory::CreateSubTensorHandle instead")
- virtual std::unique_ptr<ITensorHandle> CreateSubTensorHandle(ITensorHandle& parent,
- TensorShape const& subTensorShape,
- unsigned int const* subTensorOrigin
- ) const = 0;
-
- virtual std::unique_ptr<IWorkload> CreateInput(const InputQueueDescriptor& descriptor,
- const WorkloadInfo& info) const = 0;
-
- ARMNN_DEPRECATED_MSG("Use ITensorHandleFactory::CreateTensorHandle instead")
- virtual std::unique_ptr<ITensorHandle> CreateTensorHandle(const TensorInfo& tensorInfo,
- const bool IsMemoryManaged = true) const = 0;
-
- ARMNN_DEPRECATED_MSG("Use ITensorHandleFactory::CreateTensorHandle instead")
- virtual std::unique_ptr<ITensorHandle> CreateTensorHandle(const TensorInfo& tensorInfo,
- DataLayout dataLayout,
- const bool IsMemoryManaged = true) const = 0;
-
- virtual std::unique_ptr<IWorkload> CreateActivation(const ActivationQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateAddition(const AdditionQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateArgMinMax(const ArgMinMaxQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateBatchNormalization(const BatchNormalizationQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateBatchToSpaceNd(const BatchToSpaceNdQueueDescriptor& descriptor,
- const WorkloadInfo& Info) const;
-
- virtual std::unique_ptr<IWorkload> CreateCast(const CastQueueDescriptor& descriptor,
- const WorkloadInfo& Info) const;
-
- virtual std::unique_ptr<IWorkload> CreateChannelShuffle(const ChannelShuffleQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateComparison(const ComparisonQueueDescriptor& descriptor,
- const WorkloadInfo& Info) const;
-
- virtual std::unique_ptr<IWorkload> CreateConcat(const ConcatQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateConstant(const ConstantQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateConvertBf16ToFp32(const ConvertBf16ToFp32QueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateConvertFp16ToFp32(const ConvertFp16ToFp32QueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateConvertFp32ToBf16(const ConvertFp32ToBf16QueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateConvertFp32ToFp16(const ConvertFp32ToFp16QueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateConvolution2d(const Convolution2dQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateConvolution3d(const Convolution3dQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateDebug(const DebugQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateDepthToSpace(const DepthToSpaceQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateDepthwiseConvolution2d(
- const DepthwiseConvolution2dQueueDescriptor& descriptor, const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateDequantize(const DequantizeQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateDetectionPostProcess(
- const DetectionPostProcessQueueDescriptor& descriptor, const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateDivision(const DivisionQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateElementwiseUnary(const ElementwiseUnaryQueueDescriptor& descriptor,
- const WorkloadInfo& Info) const;
-
- virtual std::unique_ptr<IWorkload> CreateFakeQuantization(const FakeQuantizationQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateFill(const FillQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateFloor(const FloorQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateFullyConnected(const FullyConnectedQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateGather(const GatherQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateInstanceNormalization(
- const InstanceNormalizationQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateL2Normalization(const L2NormalizationQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateLogicalBinary(const LogicalBinaryQueueDescriptor& descriptor,
- const WorkloadInfo& Info) const;
-
- virtual std::unique_ptr<IWorkload> CreateLogicalUnary(const ElementwiseUnaryQueueDescriptor& descriptor,
- const WorkloadInfo& Info) const;
-
- virtual std::unique_ptr<IWorkload> CreateLogSoftmax(const LogSoftmaxQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateLstm(const LstmQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateMaximum(const MaximumQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateMean(const MeanQueueDescriptor& descriptor,
- const WorkloadInfo& Info) const;
-
- virtual std::unique_ptr<IWorkload> CreateMemCopy(const MemCopyQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateMemImport(const MemImportQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateMerge(const MergeQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateMinimum(const MinimumQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateMultiplication(const MultiplicationQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateNormalization(const NormalizationQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateOutput(const OutputQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreatePad(const PadQueueDescriptor& descriptor,
- const WorkloadInfo& Info) const;
-
- virtual std::unique_ptr<IWorkload> CreatePermute(const PermuteQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreatePooling2d(const Pooling2dQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreatePooling3d(const Pooling3dQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreatePreCompiled(const PreCompiledQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreatePrelu(const PreluQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateQuantize(const QuantizeQueueDescriptor& descriptor,
- const WorkloadInfo& Info) const;
-
- virtual std::unique_ptr<IWorkload> CreateQLstm(const QLstmQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateQuantizedLstm(const QuantizedLstmQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateRank(const RankQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateReduce(const ReduceQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateReshape(const ReshapeQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateResize(const ResizeQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateShape(const ShapeQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateSlice(const SliceQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateSoftmax(const SoftmaxQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateSpaceToBatchNd(const SpaceToBatchNdQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateSpaceToDepth(const SpaceToDepthQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateSubtraction(const SubtractionQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateSplitter(const SplitterQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateStack(const StackQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateStridedSlice(const StridedSliceQueueDescriptor& descriptor,
- const WorkloadInfo& Info) const;
-
- virtual std::unique_ptr<IWorkload> CreateSwitch(const SwitchQueueDescriptor& descriptor,
- const WorkloadInfo& Info) const;
-
- virtual std::unique_ptr<IWorkload> CreateTranspose(const TransposeQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateTransposeConvolution2d(
- const TransposeConvolution2dQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
- virtual std::unique_ptr<IWorkload> CreateUnidirectionalSequenceLstm(
- const UnidirectionalSequenceLstmQueueDescriptor& descriptor,
- const WorkloadInfo& info) const;
-
-private:
- static bool IsLayerConfigurationSupported(const BackendId& backendId,
- const IConnectableLayer& connectableLayer,
- Optional<DataType> dataType,
- std::string& outReasonIfUnsupported,
- const ModelOptions& modelOptions = {});
-};
-
-} // namespace armnn
+#include <armnn/backends/WorkloadFactory.hpp>
+#pragma message("src/backends/backendsCommon/WorkloadFactory.hpp has been deprecated, it is due for removal in"\
+ " 22.08 release. Please use public interface include/armnn/backends/WorkloadFactory.hpp")
diff --git a/src/backends/backendsCommon/WorkloadFactoryBase.hpp b/src/backends/backendsCommon/WorkloadFactoryBase.hpp
index 4a67df5bb4..42a506afe0 100644
--- a/src/backends/backendsCommon/WorkloadFactoryBase.hpp
+++ b/src/backends/backendsCommon/WorkloadFactoryBase.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include "WorkloadFactory.hpp"
+#include <armnn/backends/WorkloadFactory.hpp>
namespace armnn
{
diff --git a/src/backends/backendsCommon/WorkloadUtils.hpp b/src/backends/backendsCommon/WorkloadUtils.hpp
index d2f9ca5862..2f1c5c47f0 100644
--- a/src/backends/backendsCommon/WorkloadUtils.hpp
+++ b/src/backends/backendsCommon/WorkloadUtils.hpp
@@ -5,9 +5,8 @@
#pragma once
-#include "TensorHandle.hpp"
-
#include <armnn/backends/ITensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/Tensor.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
#include <armnnUtils/Permute.hpp>
diff --git a/src/backends/backendsCommon/test/ActivationFixture.hpp b/src/backends/backendsCommon/test/ActivationFixture.hpp
index caa67aca37..446c77b1f9 100644
--- a/src/backends/backendsCommon/test/ActivationFixture.hpp
+++ b/src/backends/backendsCommon/test/ActivationFixture.hpp
@@ -5,7 +5,7 @@
#pragma once
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <armnn/utility/NumericCast.hpp>
diff --git a/src/backends/backendsCommon/test/CommonTestUtils.hpp b/src/backends/backendsCommon/test/CommonTestUtils.hpp
index 72e3860ecb..963d5de728 100644
--- a/src/backends/backendsCommon/test/CommonTestUtils.hpp
+++ b/src/backends/backendsCommon/test/CommonTestUtils.hpp
@@ -3,10 +3,6 @@
// SPDX-License-Identifier: MIT
//
-// This file is deprecated and will be removed soon.
-// Please use the new header in armnnTestUtils instead.
-// This will use the new armnnTestUtils header.
-#include "../../../armnnTestUtils/CommonTestUtils.hpp"
-
+#include "../../armnnTestUtils/CommonTestUtils.hpp"
#pragma message("backendsCommon/test/CommonTestUtils.hpp has been deprecated, it is due for removal in 22.08 release." \
- " Please use from armnnTestUtils library, /src/armnnTestUtils/CommonTestUtils.hpp) \ No newline at end of file
+ " Please use from armnnTestUtils library, /src/armnnTestUtils/CommonTestUtils.hpp)
diff --git a/src/backends/backendsCommon/test/DefaultAsyncExecuteTest.cpp b/src/backends/backendsCommon/test/DefaultAsyncExecuteTest.cpp
index 0a4c29b56d..7070c1fad9 100644
--- a/src/backends/backendsCommon/test/DefaultAsyncExecuteTest.cpp
+++ b/src/backends/backendsCommon/test/DefaultAsyncExecuteTest.cpp
@@ -5,8 +5,8 @@
#include <armnn/Exceptions.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/Workload.hpp>
#include <doctest/doctest.h>
diff --git a/src/backends/backendsCommon/test/DynamicBackendTests.hpp b/src/backends/backendsCommon/test/DynamicBackendTests.hpp
index 0d9d3dd31b..1782fa44f6 100644
--- a/src/backends/backendsCommon/test/DynamicBackendTests.hpp
+++ b/src/backends/backendsCommon/test/DynamicBackendTests.hpp
@@ -10,7 +10,7 @@
#include <armnn/backends/ILayerSupport.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
#include <backendsCommon/DynamicBackendUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnnUtils/Filesystem.hpp>
#include <reference/workloads/RefConvolution2dWorkload.hpp>
#include <Runtime.hpp>
diff --git a/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp b/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp
index aa55557ca4..bc5e335a93 100644
--- a/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp
+++ b/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp
@@ -8,7 +8,7 @@
#include <backendsCommon/MapWorkload.hpp>
#include <backendsCommon/UnmapWorkload.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
diff --git a/src/backends/backendsCommon/test/LayerReleaseConstantDataTest.cpp b/src/backends/backendsCommon/test/LayerReleaseConstantDataTest.cpp
index f55a3c31ce..56f15a51e5 100644
--- a/src/backends/backendsCommon/test/LayerReleaseConstantDataTest.cpp
+++ b/src/backends/backendsCommon/test/LayerReleaseConstantDataTest.cpp
@@ -7,8 +7,8 @@
#include <Graph.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <doctest/doctest.h>
diff --git a/src/backends/backendsCommon/test/WorkloadDataValidation.cpp b/src/backends/backendsCommon/test/WorkloadDataValidation.cpp
index ee632ff41b..119f8744d3 100644
--- a/src/backends/backendsCommon/test/WorkloadDataValidation.cpp
+++ b/src/backends/backendsCommon/test/WorkloadDataValidation.cpp
@@ -3,12 +3,12 @@
// SPDX-License-Identifier: MIT
//
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <armnn/Exceptions.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/Workload.hpp>
#include <reference/workloads/RefWorkloads.hpp>
#include <reference/RefWorkloadFactory.hpp>
diff --git a/src/backends/backendsCommon/test/WorkloadTestUtils.hpp b/src/backends/backendsCommon/test/WorkloadTestUtils.hpp
index cb605af2d3..cdd028cc6b 100644
--- a/src/backends/backendsCommon/test/WorkloadTestUtils.hpp
+++ b/src/backends/backendsCommon/test/WorkloadTestUtils.hpp
@@ -3,7 +3,6 @@
// SPDX-License-Identifier: MIT
//
-// This file is deprecated and will be removed soon.
-// Please use the new header in armnnTestUtils instead.
-// This will use the new armnnTestUtils header.
#include "../../../armnnTestUtils/WorkloadTestUtils.hpp"
+#pragma message("src/backends/backendsCommon/test/WorkloadTestUtils.hpp has been deprecated, it is due for removal in"\
+ " 22.08 release. Please use src/armnnTestUtils/WorkloadTestUtils.hpp instead.")
diff --git a/src/backends/backendsCommon/test/layerTests/AbsTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/AbsTestImpl.hpp
index 7f2d1be972..afde32889b 100644
--- a/src/backends/backendsCommon/test/layerTests/AbsTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/AbsTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 2> Abs2dTest(
diff --git a/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.cpp
index 5ec8e13430..57687051b6 100644
--- a/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.cpp
@@ -10,7 +10,7 @@
#include <backendsCommon/test/ActivationFixture.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <reference/test/RefWorkloadFactoryHelper.hpp>
#include <armnn/utility/NumericCast.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.hpp
index 9e8b3a2b29..e23cd32583 100644
--- a/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
//
// Sigmoid
diff --git a/src/backends/backendsCommon/test/layerTests/AdditionTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/AdditionTestImpl.hpp
index a66d474f22..75684797c2 100644
--- a/src/backends/backendsCommon/test/layerTests/AdditionTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/AdditionTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> AdditionTest(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp
index 4f82b599f2..e98708fd02 100644
--- a/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp
@@ -8,7 +8,7 @@
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.hpp
index 941470590a..b850af39f0 100644
--- a/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<int32_t, 3> ArgMaxSimpleTest(armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/BatchNormalizationTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/BatchNormalizationTestImpl.cpp
index 90bc8d76c1..b4414050e7 100644
--- a/src/backends/backendsCommon/test/layerTests/BatchNormalizationTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/BatchNormalizationTestImpl.cpp
@@ -11,13 +11,13 @@
#include <armnn/utility/IgnoreUnused.hpp>
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <reference/test/RefWorkloadFactoryHelper.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/BatchNormalizationTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/BatchNormalizationTestImpl.hpp
index 11bc2973a2..87d0760471 100644
--- a/src/backends/backendsCommon/test/layerTests/BatchNormalizationTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/BatchNormalizationTestImpl.hpp
@@ -10,7 +10,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> BatchNormFloat32Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/BatchToSpaceNdTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/BatchToSpaceNdTestImpl.hpp
index 19d472bb0f..23e790f15a 100644
--- a/src/backends/backendsCommon/test/layerTests/BatchToSpaceNdTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/BatchToSpaceNdTestImpl.hpp
@@ -8,13 +8,13 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
#include <DataTypeUtils.hpp>
#include <TensorHelpers.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
namespace
{
diff --git a/src/backends/backendsCommon/test/layerTests/CastTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/CastTestImpl.hpp
index 556909860e..a727950bb8 100644
--- a/src/backends/backendsCommon/test/layerTests/CastTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/CastTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <Half.hpp>
template<armnn::DataType inputDataType, armnn::DataType outputDataType,
diff --git a/src/backends/backendsCommon/test/layerTests/ChannelShuffleTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ChannelShuffleTestImpl.cpp
index 598f205694..08a68cc04c 100644
--- a/src/backends/backendsCommon/test/layerTests/ChannelShuffleTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ChannelShuffleTestImpl.cpp
@@ -7,7 +7,7 @@
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
namespace
{
diff --git a/src/backends/backendsCommon/test/layerTests/ChannelShuffleTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ChannelShuffleTestImpl.hpp
index 9c5f40d550..d3498f0506 100644
--- a/src/backends/backendsCommon/test/layerTests/ChannelShuffleTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ChannelShuffleTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 4> SimpleChannelShuffleTest(
diff --git a/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.cpp
index 5eccd011f6..2640c329b3 100644
--- a/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.cpp
@@ -10,11 +10,11 @@
#include <QuantizeHelper.hpp>
#include <ResolveType.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.hpp
index 8a920e5f5f..6ac28ecd0e 100644
--- a/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
// Equal
LayerTestResult<uint8_t, 4> EqualSimpleTest(
diff --git a/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.cpp
index 52387298c6..8fbd3e39d8 100644
--- a/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.cpp
@@ -12,7 +12,7 @@
#include <armnnUtils/Permute.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.hpp
index c91ee86cf9..99adcea9f5 100644
--- a/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.hpp
@@ -12,7 +12,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 3> ConcatDifferentInputOutputQParamTest(
diff --git a/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.cpp
index dd339badb2..f7d84157ad 100644
--- a/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.cpp
@@ -11,10 +11,10 @@
#include <armnnUtils/Permute.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.hpp
index 34491b1c76..99cd317298 100644
--- a/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> ConstantTest(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp
index 61e000a891..0982d01e2e 100644
--- a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp
@@ -13,11 +13,11 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
#include <armnnUtils/Permute.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnnTestUtils/DataLayoutUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.hpp
index f54a6f85f5..70e43c8555 100644
--- a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.hpp
@@ -12,7 +12,7 @@
#include <armnn/Types.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
//
// Convolution2d
diff --git a/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.cpp
index 4adc6ef63f..45cf48b40e 100644
--- a/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.cpp
@@ -9,11 +9,11 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnnTestUtils/DataLayoutUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.hpp
index 127e7ef883..e17a9193d4 100644
--- a/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.hpp
@@ -14,7 +14,7 @@
#include <armnn/Types.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
//
// Convolution3d
diff --git a/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.cpp
index 7699daa21d..e4ba0b8c0b 100644
--- a/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.cpp
@@ -6,7 +6,7 @@
#include "ConvertBf16ToFp32TestImpl.hpp"
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.hpp
index db92d42aca..bcb0d6f124 100644
--- a/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.hpp
@@ -10,7 +10,7 @@
#include <BFloat16.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> ConvertBf16ToFp32Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.cpp
index 2c1f9b9407..74c03d939b 100644
--- a/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.cpp
@@ -9,7 +9,7 @@
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.hpp
index 9e64cdd823..95d2a6194c 100644
--- a/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> SimpleConvertFp16ToFp32Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.cpp
index 14a75c13de..667fd29c24 100644
--- a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.cpp
@@ -6,7 +6,7 @@
#include "ConvertFp32ToBf16TestImpl.hpp"
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.hpp
index 737181def1..c2286d9c41 100644
--- a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.hpp
@@ -10,7 +10,7 @@
#include <BFloat16.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<armnn::BFloat16, 4> ConvertFp32ToBf16Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.cpp
index 8210b2d2d1..13dde067b0 100644
--- a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.cpp
@@ -7,7 +7,7 @@
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.hpp
index 8b6617c8ef..409353c99e 100644
--- a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.hpp
@@ -10,7 +10,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<armnn::Half, 4> SimpleConvertFp32ToFp16Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/DebugTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/DebugTestImpl.cpp
index 5475dbfae7..2938489d63 100644
--- a/src/backends/backendsCommon/test/layerTests/DebugTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/DebugTestImpl.cpp
@@ -10,7 +10,7 @@
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/DebugTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/DebugTestImpl.hpp
index beab583cab..ac068e8939 100644
--- a/src/backends/backendsCommon/test/layerTests/DebugTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/DebugTestImpl.hpp
@@ -10,7 +10,7 @@
#include <BFloat16.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> Debug4dFloat32Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.cpp
index be88e77456..ee4f1b3660 100644
--- a/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.cpp
@@ -10,7 +10,7 @@
#include <armnnTestUtils/DataLayoutUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.hpp
index c6781a99c3..0cb96fc4a1 100644
--- a/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.hpp
@@ -9,7 +9,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 4> DepthToSpaceTest1(
diff --git a/src/backends/backendsCommon/test/layerTests/DequantizeTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/DequantizeTestImpl.cpp
index 61fb4078c4..98bf74f833 100644
--- a/src/backends/backendsCommon/test/layerTests/DequantizeTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/DequantizeTestImpl.cpp
@@ -9,7 +9,7 @@
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/DequantizeTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/DequantizeTestImpl.hpp
index 8f120d3b03..b965dec284 100644
--- a/src/backends/backendsCommon/test/layerTests/DequantizeTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/DequantizeTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <Half.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/DetectionPostProcessTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/DetectionPostProcessTestImpl.hpp
index b9f06deaa1..52aacad38c 100644
--- a/src/backends/backendsCommon/test/layerTests/DetectionPostProcessTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/DetectionPostProcessTestImpl.hpp
@@ -8,13 +8,13 @@
#include <armnn/Types.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
#include <backendsCommon/test/WorkloadFactoryHelper.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/DivisionTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/DivisionTestImpl.hpp
index b5d04e5f43..d4a66af2be 100644
--- a/src/backends/backendsCommon/test/layerTests/DivisionTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/DivisionTestImpl.hpp
@@ -10,7 +10,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> DivisionByZeroTest(
armnn::IWorkloadFactory& workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
diff --git a/src/backends/backendsCommon/test/layerTests/ElementwiseTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ElementwiseTestImpl.hpp
index 3175aaf4c3..1d42e2096f 100644
--- a/src/backends/backendsCommon/test/layerTests/ElementwiseTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ElementwiseTestImpl.hpp
@@ -11,13 +11,13 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ElementwiseUnaryTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ElementwiseUnaryTestImpl.hpp
index a15add049f..01aff65170 100644
--- a/src/backends/backendsCommon/test/layerTests/ElementwiseUnaryTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ElementwiseUnaryTestImpl.hpp
@@ -12,13 +12,13 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ExpTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ExpTestImpl.hpp
index c7008a744f..5504c1e8be 100644
--- a/src/backends/backendsCommon/test/layerTests/ExpTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ExpTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 2> Exp2dTest(
diff --git a/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.cpp
index f433f9dd17..613f8b7f6a 100644
--- a/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.cpp
@@ -6,10 +6,10 @@
#include "FakeQuantizationTestImpl.hpp"
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.hpp
index d8af8c561e..9591b0ede5 100644
--- a/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 2> FakeQuantizationTest(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp
index 41fcf59ba8..fae2691af7 100644
--- a/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp
@@ -7,7 +7,7 @@
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/FillTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/FillTestImpl.hpp
index beaf35c050..973ab1f82a 100644
--- a/src/backends/backendsCommon/test/layerTests/FillTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/FillTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 4> SimpleFillTest(
diff --git a/src/backends/backendsCommon/test/layerTests/FloorTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/FloorTestImpl.cpp
index c05e1d833e..527b0dbd13 100644
--- a/src/backends/backendsCommon/test/layerTests/FloorTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/FloorTestImpl.cpp
@@ -7,7 +7,7 @@
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/FloorTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/FloorTestImpl.hpp
index ff25252d14..f4c7cfbe18 100644
--- a/src/backends/backendsCommon/test/layerTests/FloorTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/FloorTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 4> SimpleFloorTest(
diff --git a/src/backends/backendsCommon/test/layerTests/FullyConnectedTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/FullyConnectedTestImpl.cpp
index 59e67febdf..9361f4d2b3 100644
--- a/src/backends/backendsCommon/test/layerTests/FullyConnectedTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/FullyConnectedTestImpl.cpp
@@ -8,11 +8,11 @@
#include <QuantizeHelper.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/FullyConnectedTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/FullyConnectedTestImpl.hpp
index 76cea90c04..759a908a34 100644
--- a/src/backends/backendsCommon/test/layerTests/FullyConnectedTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/FullyConnectedTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 2> FullyConnectedTest(
diff --git a/src/backends/backendsCommon/test/layerTests/GatherTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/GatherTestImpl.cpp
index edcc900f5e..ad81968b71 100644
--- a/src/backends/backendsCommon/test/layerTests/GatherTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/GatherTestImpl.cpp
@@ -9,7 +9,7 @@
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/GatherTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/GatherTestImpl.hpp
index 363478dd30..92b63e50b5 100644
--- a/src/backends/backendsCommon/test/layerTests/GatherTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/GatherTestImpl.hpp
@@ -10,7 +10,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 1> Gather1dParamsFloat32Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/InstanceNormalizationTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/InstanceNormalizationTestImpl.cpp
index da9608c122..9de7df7029 100644
--- a/src/backends/backendsCommon/test/layerTests/InstanceNormalizationTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/InstanceNormalizationTestImpl.cpp
@@ -9,13 +9,13 @@
#include <ResolveType.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnnTestUtils/DataLayoutUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/InstanceNormalizationTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/InstanceNormalizationTestImpl.hpp
index be771441a2..9637673838 100644
--- a/src/backends/backendsCommon/test/layerTests/InstanceNormalizationTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/InstanceNormalizationTestImpl.hpp
@@ -12,7 +12,7 @@
#include <armnn/Types.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> InstanceNormFloat32Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/L2NormalizationTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/L2NormalizationTestImpl.cpp
index 67f1c3c221..f7566fd014 100644
--- a/src/backends/backendsCommon/test/layerTests/L2NormalizationTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/L2NormalizationTestImpl.cpp
@@ -12,7 +12,7 @@
#include <armnnUtils/Permute.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/L2NormalizationTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/L2NormalizationTestImpl.hpp
index 283a25b187..3c30201202 100644
--- a/src/backends/backendsCommon/test/layerTests/L2NormalizationTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/L2NormalizationTestImpl.hpp
@@ -10,7 +10,7 @@
#include <armnn/Types.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> L2NormalizationDefaultEpsilonTest(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/LogSoftmaxTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/LogSoftmaxTestImpl.cpp
index 94f5a5be1c..016d143e35 100644
--- a/src/backends/backendsCommon/test/layerTests/LogSoftmaxTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/LogSoftmaxTestImpl.cpp
@@ -10,12 +10,12 @@
#include <ResolveType.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/LogSoftmaxTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/LogSoftmaxTestImpl.hpp
index b293337554..bc329d2b18 100644
--- a/src/backends/backendsCommon/test/layerTests/LogSoftmaxTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/LogSoftmaxTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 4> LogSoftmaxTest1(
diff --git a/src/backends/backendsCommon/test/layerTests/LogTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/LogTestImpl.hpp
index cf9878f592..597d02ea12 100644
--- a/src/backends/backendsCommon/test/layerTests/LogTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/LogTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 2> Log2dTest(
diff --git a/src/backends/backendsCommon/test/layerTests/LogicalTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/LogicalTestImpl.cpp
index a2ce5af2f3..d2fa2bd6f7 100644
--- a/src/backends/backendsCommon/test/layerTests/LogicalTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/LogicalTestImpl.cpp
@@ -8,11 +8,11 @@
#include <armnn/utility/Assert.hpp>
#include <ResolveType.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/LogicalTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/LogicalTestImpl.hpp
index b81d2f38a1..271680747d 100644
--- a/src/backends/backendsCommon/test/layerTests/LogicalTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/LogicalTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
// Unary - Logical Not
LayerTestResult<uint8_t, 4> LogicalNotTest(
diff --git a/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp
index 56bc23cf9c..c04e97bb0f 100644
--- a/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp
@@ -9,10 +9,10 @@
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <reference/workloads/Decoders.hpp>
#include <reference/workloads/Encoders.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/LstmTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/LstmTestImpl.hpp
index 62bb125519..3228ea8645 100644
--- a/src/backends/backendsCommon/test/layerTests/LstmTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/LstmTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#if defined(ARMNNREF_ENABLED)
void LstmUtilsZeroVectorTest();
diff --git a/src/backends/backendsCommon/test/layerTests/MaximumTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/MaximumTestImpl.hpp
index c13059b445..3f88c707e8 100644
--- a/src/backends/backendsCommon/test/layerTests/MaximumTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/MaximumTestImpl.hpp
@@ -10,7 +10,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> MaximumSimpleTest(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/MeanTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/MeanTestImpl.hpp
index 9cc45e2e69..29dba2f152 100644
--- a/src/backends/backendsCommon/test/layerTests/MeanTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/MeanTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace
{
diff --git a/src/backends/backendsCommon/test/layerTests/MinimumTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/MinimumTestImpl.hpp
index bd60b20af0..126193d59b 100644
--- a/src/backends/backendsCommon/test/layerTests/MinimumTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/MinimumTestImpl.hpp
@@ -10,7 +10,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> MinimumBroadcast1ElementTest1(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/MirrorPadTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/MirrorPadTestImpl.cpp
index 60fbfb0548..2647bb976f 100644
--- a/src/backends/backendsCommon/test/layerTests/MirrorPadTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/MirrorPadTestImpl.cpp
@@ -8,7 +8,7 @@
#include <QuantizeHelper.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/MirrorPadTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/MirrorPadTestImpl.hpp
index 60475fdeb8..7b94f62492 100644
--- a/src/backends/backendsCommon/test/layerTests/MirrorPadTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/MirrorPadTestImpl.hpp
@@ -14,7 +14,7 @@
#include <armnn/Types.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 2> PadSymmetric2dFloat32Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/MultiplicationTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/MultiplicationTestImpl.hpp
index 72154dbc33..0aee77c8e1 100644
--- a/src/backends/backendsCommon/test/layerTests/MultiplicationTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/MultiplicationTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> MultiplicationTest(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/NegTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/NegTestImpl.hpp
index 0296ca2993..9c84b901a2 100644
--- a/src/backends/backendsCommon/test/layerTests/NegTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/NegTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 2> Neg2dTest(
diff --git a/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.cpp
index e3a3bea798..4f2add51ff 100644
--- a/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.cpp
@@ -10,10 +10,10 @@
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.hpp
index 30cd57ca05..c304a250da 100644
--- a/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.hpp
@@ -10,7 +10,7 @@
#include <armnn/Types.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> SimpleNormalizationAcrossTest(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/PadTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/PadTestImpl.cpp
index 628eed04b0..ab2ef24a2b 100644
--- a/src/backends/backendsCommon/test/layerTests/PadTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/PadTestImpl.cpp
@@ -8,7 +8,7 @@
#include <QuantizeHelper.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/PadTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/PadTestImpl.hpp
index 1d19aa84ff..b62fc78ba3 100644
--- a/src/backends/backendsCommon/test/layerTests/PadTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/PadTestImpl.hpp
@@ -12,7 +12,7 @@
#include <armnn/Types.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 2> Pad2dTestCommon(
diff --git a/src/backends/backendsCommon/test/layerTests/PermuteTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/PermuteTestImpl.hpp
index 26fb5044b1..fb55f08c54 100644
--- a/src/backends/backendsCommon/test/layerTests/PermuteTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/PermuteTestImpl.hpp
@@ -9,9 +9,9 @@
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp
index 7bb0e59547..248f9726a1 100644
--- a/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp
@@ -20,7 +20,7 @@
#include <backendsCommon/WorkloadInfo.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.hpp
index 0a25339ff5..eb29870fa4 100644
--- a/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.hpp
@@ -10,7 +10,7 @@
#include <armnn/Types.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> SimpleMaxPooling2dSize2x2Stride2x2Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/Pooling3dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/Pooling3dTestImpl.cpp
index ad438eaf6e..3befc7c585 100644
--- a/src/backends/backendsCommon/test/layerTests/Pooling3dTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/Pooling3dTestImpl.cpp
@@ -20,7 +20,7 @@
#include <backendsCommon/WorkloadInfo.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/Pooling3dTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/Pooling3dTestImpl.hpp
index 6c1d5defff..8ad8111961 100644
--- a/src/backends/backendsCommon/test/layerTests/Pooling3dTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/Pooling3dTestImpl.hpp
@@ -10,7 +10,7 @@
#include <armnn/Types.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 5> SimpleMaxPooling3dSize2x2x2Stride1x1x1Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/PreluTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/PreluTestImpl.hpp
index 6b9aaed742..a74be62b66 100644
--- a/src/backends/backendsCommon/test/layerTests/PreluTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/PreluTestImpl.hpp
@@ -12,11 +12,11 @@
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
#include <backendsCommon/test/WorkloadFactoryHelper.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/QuantizeTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/QuantizeTestImpl.cpp
index b593620326..5878ec8d9b 100644
--- a/src/backends/backendsCommon/test/layerTests/QuantizeTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/QuantizeTestImpl.cpp
@@ -9,10 +9,10 @@
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/QuantizeTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/QuantizeTestImpl.hpp
index 967155061d..04f46e4e3d 100644
--- a/src/backends/backendsCommon/test/layerTests/QuantizeTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/QuantizeTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<uint8_t, 4> QuantizeSimpleUint8Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/RankTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/RankTestImpl.cpp
index c04d7b2e82..ef45eec8c5 100644
--- a/src/backends/backendsCommon/test/layerTests/RankTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/RankTestImpl.cpp
@@ -7,7 +7,7 @@
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/RankTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/RankTestImpl.hpp
index 27b0fcc609..ebc9893a73 100644
--- a/src/backends/backendsCommon/test/layerTests/RankTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/RankTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<typename T , std::size_t n>
LayerTestResult<int32_t, 1> RankTest(
diff --git a/src/backends/backendsCommon/test/layerTests/ReduceProdTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ReduceProdTestImpl.cpp
index b93eb55104..a8b1fda8dc 100644
--- a/src/backends/backendsCommon/test/layerTests/ReduceProdTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ReduceProdTestImpl.cpp
@@ -7,7 +7,7 @@
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ReduceProdTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ReduceProdTestImpl.hpp
index 4d7ddde92c..9ab2d874e6 100644
--- a/src/backends/backendsCommon/test/layerTests/ReduceProdTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ReduceProdTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<float, 4> ReduceProdSimpleTest(
diff --git a/src/backends/backendsCommon/test/layerTests/ReduceSumTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ReduceSumTestImpl.cpp
index c50fe75394..acb2990c98 100644
--- a/src/backends/backendsCommon/test/layerTests/ReduceSumTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ReduceSumTestImpl.cpp
@@ -7,7 +7,7 @@
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ReduceSumTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ReduceSumTestImpl.hpp
index a5249b41da..283f0dfec4 100644
--- a/src/backends/backendsCommon/test/layerTests/ReduceSumTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ReduceSumTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<float, 4> ReduceSumSimpleTest(
diff --git a/src/backends/backendsCommon/test/layerTests/ReductionTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ReductionTestImpl.cpp
index a69afb8438..47cb1d730a 100644
--- a/src/backends/backendsCommon/test/layerTests/ReductionTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ReductionTestImpl.cpp
@@ -7,7 +7,7 @@
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ReductionTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ReductionTestImpl.hpp
index 14809353d7..76dfbf084a 100644
--- a/src/backends/backendsCommon/test/layerTests/ReductionTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ReductionTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<float, 4> ReduceMaxSimpleTest(
diff --git a/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp
index ccf234588a..ae9280b10f 100644
--- a/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp
@@ -7,7 +7,7 @@
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.hpp
index c692c95bc7..f79d13ac88 100644
--- a/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 4> SimpleReshapeTest(
diff --git a/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.cpp
index aa5bbae8d7..1773809d70 100644
--- a/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.cpp
@@ -14,7 +14,7 @@
#include <armnnTestUtils/DataLayoutUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.hpp
index bbbe861658..5f600d93ef 100644
--- a/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.hpp
@@ -12,7 +12,7 @@
#include <armnn/Types.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
// Bilinear
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
diff --git a/src/backends/backendsCommon/test/layerTests/RsqrtTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/RsqrtTestImpl.hpp
index 33d965bdac..54748e8adc 100644
--- a/src/backends/backendsCommon/test/layerTests/RsqrtTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/RsqrtTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 2> Rsqrt2dTest(
diff --git a/src/backends/backendsCommon/test/layerTests/ShapeTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ShapeTestImpl.cpp
index 3ebb5236bc..5aa3b7ca24 100644
--- a/src/backends/backendsCommon/test/layerTests/ShapeTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ShapeTestImpl.cpp
@@ -7,7 +7,7 @@
#include <DataTypeUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/ShapeTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ShapeTestImpl.hpp
index 8b95aa50c3..44cfe18f21 100644
--- a/src/backends/backendsCommon/test/layerTests/ShapeTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/ShapeTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<typename T , std::size_t n>
LayerTestResult<int32_t, 1> ShapeTest(
diff --git a/src/backends/backendsCommon/test/layerTests/SinTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/SinTestImpl.hpp
index ee7bcb94ac..eb772c2f5d 100644
--- a/src/backends/backendsCommon/test/layerTests/SinTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/SinTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 2> Sin2dTest(
diff --git a/src/backends/backendsCommon/test/layerTests/SliceTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/SliceTestImpl.cpp
index ddf216dec0..32abf35576 100644
--- a/src/backends/backendsCommon/test/layerTests/SliceTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/SliceTestImpl.cpp
@@ -10,7 +10,7 @@
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/SliceTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/SliceTestImpl.hpp
index c4d62ccd71..40c153c79a 100644
--- a/src/backends/backendsCommon/test/layerTests/SliceTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/SliceTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
// Float32 tests
LayerTestResult<float, 4> Slice4dFloat32Test(armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/SoftmaxTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/SoftmaxTestImpl.cpp
index 05c4784bfb..e8b4ee5af3 100644
--- a/src/backends/backendsCommon/test/layerTests/SoftmaxTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/SoftmaxTestImpl.cpp
@@ -9,10 +9,10 @@
#include <ResolveType.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/SoftmaxTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/SoftmaxTestImpl.hpp
index 9f93c025b3..4e070e1fb9 100644
--- a/src/backends/backendsCommon/test/layerTests/SoftmaxTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/SoftmaxTestImpl.hpp
@@ -10,7 +10,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 2> SimpleSoftmaxTest(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/SpaceToBatchNdTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/SpaceToBatchNdTestImpl.cpp
index 69f5f5aae4..fe6aa70b87 100644
--- a/src/backends/backendsCommon/test/layerTests/SpaceToBatchNdTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/SpaceToBatchNdTestImpl.cpp
@@ -12,7 +12,7 @@
#include <armnnUtils/Permute.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/SpaceToBatchNdTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/SpaceToBatchNdTestImpl.hpp
index 1f446b7b41..7768b162f2 100644
--- a/src/backends/backendsCommon/test/layerTests/SpaceToBatchNdTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/SpaceToBatchNdTestImpl.hpp
@@ -9,7 +9,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> SpaceToBatchNdSimpleFloat32Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.cpp
index d8c5747917..0080bb6243 100644
--- a/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.cpp
@@ -12,7 +12,7 @@
#include <armnnUtils/Permute.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.hpp
index 5a3e4934ef..0c460cdcad 100644
--- a/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.hpp
@@ -9,7 +9,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<uint8_t, 4> SpaceToDepthNchwAsymmQ8Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.cpp
index bf95a9fec8..cfb6a1f9c7 100644
--- a/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.cpp
@@ -10,7 +10,7 @@
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.hpp
index dc76bc9233..53475072d9 100644
--- a/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.hpp
@@ -8,7 +8,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <vector>
diff --git a/src/backends/backendsCommon/test/layerTests/StackTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/StackTestImpl.cpp
index 2a0e049937..5250c3af73 100644
--- a/src/backends/backendsCommon/test/layerTests/StackTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/StackTestImpl.cpp
@@ -10,10 +10,10 @@
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/StackTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/StackTestImpl.hpp
index 24e88c4f24..96728cf975 100644
--- a/src/backends/backendsCommon/test/layerTests/StackTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/StackTestImpl.hpp
@@ -10,7 +10,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> StackAxis0Float32Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.cpp
index 72ba681c7d..b4818bb12b 100644
--- a/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.cpp
@@ -10,7 +10,7 @@
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.hpp
index 3806d33cae..e53f439da5 100644
--- a/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> StridedSlice4dFloat32Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/SubtractionTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/SubtractionTestImpl.hpp
index eba0d0ab85..612b2f4726 100644
--- a/src/backends/backendsCommon/test/layerTests/SubtractionTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/SubtractionTestImpl.hpp
@@ -10,7 +10,7 @@
#include <Half.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 4> SubtractionTest(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.cpp
index 34abc86400..95687e3c25 100644
--- a/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.cpp
@@ -10,11 +10,11 @@
#include <armnnUtils/Permute.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnnTestUtils/DataLayoutUtils.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <reference/RefWorkloadFactory.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.hpp
index 6af9e32dec..0ea459dd67 100644
--- a/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.hpp
@@ -10,7 +10,7 @@
#include <ResolveType.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
LayerTestResult<T, 4> SimpleTransposeConvolution2dTest(
diff --git a/src/backends/backendsCommon/test/layerTests/TransposeTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/TransposeTestImpl.hpp
index dceb386b31..82bd487d3c 100644
--- a/src/backends/backendsCommon/test/layerTests/TransposeTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/TransposeTestImpl.hpp
@@ -9,10 +9,10 @@
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <backendsCommon/test/WorkloadFactoryHelper.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <TensorHelpers.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/UnidirectionalSequenceLstmTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/UnidirectionalSequenceLstmTestImpl.cpp
index 5315dd3685..e6b50f614a 100644
--- a/src/backends/backendsCommon/test/layerTests/UnidirectionalSequenceLstmTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/UnidirectionalSequenceLstmTestImpl.cpp
@@ -7,10 +7,10 @@
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <ResolveType.hpp>
diff --git a/src/backends/backendsCommon/test/layerTests/UnidirectionalSequenceLstmTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/UnidirectionalSequenceLstmTestImpl.hpp
index 88b09b9606..3a1d178ccb 100644
--- a/src/backends/backendsCommon/test/layerTests/UnidirectionalSequenceLstmTestImpl.hpp
+++ b/src/backends/backendsCommon/test/layerTests/UnidirectionalSequenceLstmTestImpl.hpp
@@ -8,7 +8,7 @@
#include <armnnTestUtils/LayerTestResult.hpp>
#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
LayerTestResult<float, 3> UnidirectionalSequenceLstmLayerFloat32Test(
armnn::IWorkloadFactory& workloadFactory,
diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp
index 45e50860af..4bdb84a5a5 100644
--- a/src/backends/cl/ClWorkloadFactory.cpp
+++ b/src/backends/cl/ClWorkloadFactory.cpp
@@ -18,9 +18,9 @@
#include <armnn/utility/PolymorphicDowncast.hpp>
#include <backendsCommon/MakeWorkloadHelper.hpp>
-#include <backendsCommon/MemCopyWorkload.hpp>
+#include <armnn/backends/MemCopyWorkload.hpp>
#include <backendsCommon/MemImportWorkload.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClTensorHandle.hpp>
#include <cl/workloads/ClWorkloads.hpp>
diff --git a/src/backends/cl/test/ClContextControlFixture.hpp b/src/backends/cl/test/ClContextControlFixture.hpp
index 14970be139..d1b2514693 100644
--- a/src/backends/cl/test/ClContextControlFixture.hpp
+++ b/src/backends/cl/test/ClContextControlFixture.hpp
@@ -6,7 +6,7 @@
#pragma once
#include <cl/ClContextControl.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
template<bool ProfilingEnabled>
struct ClContextControlFixtureBase
diff --git a/src/backends/cl/test/ClCreateWorkloadTests.cpp b/src/backends/cl/test/ClCreateWorkloadTests.cpp
index dd53f38382..34914fca50 100644
--- a/src/backends/cl/test/ClCreateWorkloadTests.cpp
+++ b/src/backends/cl/test/ClCreateWorkloadTests.cpp
@@ -9,9 +9,9 @@
#include <armnn/utility/Assert.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/MemCopyWorkload.hpp>
+#include <armnn/backends/MemCopyWorkload.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <aclCommon/test/CreateWorkloadClNeon.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
diff --git a/src/backends/cl/test/ClLayerSupportTests.cpp b/src/backends/cl/test/ClLayerSupportTests.cpp
index 1747cb6763..f3df594762 100644
--- a/src/backends/cl/test/ClLayerSupportTests.cpp
+++ b/src/backends/cl/test/ClLayerSupportTests.cpp
@@ -10,7 +10,7 @@
#include <layers/MeanLayer.hpp>
#include <TensorHelpers.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClWorkloadFactory.hpp>
#include <cl/test/ClContextControlFixture.hpp>
#include <backendsCommon/test/IsLayerSupportedTestImpl.hpp>
diff --git a/src/backends/cl/test/DefaultAllocatorTests.cpp b/src/backends/cl/test/DefaultAllocatorTests.cpp
index 3132bc2acb..6bb11a1aa1 100644
--- a/src/backends/cl/test/DefaultAllocatorTests.cpp
+++ b/src/backends/cl/test/DefaultAllocatorTests.cpp
@@ -7,7 +7,7 @@
#include <armnn/Descriptors.hpp>
#include <armnn/Exceptions.hpp>
#include <armnn/IRuntime.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
// Requires the OpenCl backend to be included (GpuAcc)
#include <cl/ClBackend.hpp>
#include <doctest/doctest.h>
diff --git a/src/backends/cl/test/Fp16SupportTest.cpp b/src/backends/cl/test/Fp16SupportTest.cpp
index b30a447f9f..da6ea10926 100644
--- a/src/backends/cl/test/Fp16SupportTest.cpp
+++ b/src/backends/cl/test/Fp16SupportTest.cpp
@@ -10,7 +10,7 @@
#include <Graph.hpp>
#include <Optimizer.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
#include <doctest/doctest.h>
diff --git a/src/backends/cl/test/OpenClTimerTest.cpp b/src/backends/cl/test/OpenClTimerTest.cpp
index 85fdc81a94..43387d8e4e 100644
--- a/src/backends/cl/test/OpenClTimerTest.cpp
+++ b/src/backends/cl/test/OpenClTimerTest.cpp
@@ -9,15 +9,15 @@
#include <TensorHelpers.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <cl/ClContextControl.hpp>
#include <cl/ClWorkloadFactory.hpp>
#include <cl/OpenClTimer.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <arm_compute/runtime/CL/CLScheduler.h>
diff --git a/src/backends/cl/workloads/ClAbsWorkload.hpp b/src/backends/cl/workloads/ClAbsWorkload.hpp
index 07dbaafb9e..fb34fe3918 100644
--- a/src/backends/cl/workloads/ClAbsWorkload.hpp
+++ b/src/backends/cl/workloads/ClAbsWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLElementwiseUnaryLayer.h>
diff --git a/src/backends/cl/workloads/ClActivationWorkload.cpp b/src/backends/cl/workloads/ClActivationWorkload.cpp
index 229a291026..91a44f430a 100644
--- a/src/backends/cl/workloads/ClActivationWorkload.cpp
+++ b/src/backends/cl/workloads/ClActivationWorkload.cpp
@@ -7,7 +7,7 @@
#include "ClWorkloadUtils.hpp"
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
#include <cl/ClTensorHandle.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
diff --git a/src/backends/cl/workloads/ClActivationWorkload.hpp b/src/backends/cl/workloads/ClActivationWorkload.hpp
index 6b71e8653a..683229e1f3 100644
--- a/src/backends/cl/workloads/ClActivationWorkload.hpp
+++ b/src/backends/cl/workloads/ClActivationWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLActivationLayer.h>
diff --git a/src/backends/cl/workloads/ClAdditionWorkload.cpp b/src/backends/cl/workloads/ClAdditionWorkload.cpp
index 55957d794a..ce51b9f4fe 100644
--- a/src/backends/cl/workloads/ClAdditionWorkload.cpp
+++ b/src/backends/cl/workloads/ClAdditionWorkload.cpp
@@ -6,7 +6,7 @@
#include "ClAdditionWorkload.hpp"
#include <cl/ClTensorHandle.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
diff --git a/src/backends/cl/workloads/ClAdditionWorkload.hpp b/src/backends/cl/workloads/ClAdditionWorkload.hpp
index cd25be12e7..4b26be333f 100644
--- a/src/backends/cl/workloads/ClAdditionWorkload.hpp
+++ b/src/backends/cl/workloads/ClAdditionWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLElementwiseOperations.h>
diff --git a/src/backends/cl/workloads/ClArgMinMaxWorkload.cpp b/src/backends/cl/workloads/ClArgMinMaxWorkload.cpp
index 0bfb4e219b..4b1dc1ea81 100644
--- a/src/backends/cl/workloads/ClArgMinMaxWorkload.cpp
+++ b/src/backends/cl/workloads/ClArgMinMaxWorkload.cpp
@@ -8,7 +8,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnnUtils/TensorUtils.hpp>
#include <armnn/utility/NumericCast.hpp>
diff --git a/src/backends/cl/workloads/ClArgMinMaxWorkload.hpp b/src/backends/cl/workloads/ClArgMinMaxWorkload.hpp
index 3ec137d49e..aa36e0847a 100644
--- a/src/backends/cl/workloads/ClArgMinMaxWorkload.hpp
+++ b/src/backends/cl/workloads/ClArgMinMaxWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLArgMinMaxLayer.h>
diff --git a/src/backends/cl/workloads/ClBatchNormalizationFloatWorkload.cpp b/src/backends/cl/workloads/ClBatchNormalizationFloatWorkload.cpp
index fba1679a29..8e314fcdf0 100644
--- a/src/backends/cl/workloads/ClBatchNormalizationFloatWorkload.cpp
+++ b/src/backends/cl/workloads/ClBatchNormalizationFloatWorkload.cpp
@@ -8,7 +8,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
#include <cl/ClTensorHandle.hpp>
diff --git a/src/backends/cl/workloads/ClBatchNormalizationFloatWorkload.hpp b/src/backends/cl/workloads/ClBatchNormalizationFloatWorkload.hpp
index 0ba2d97e8f..e36ab68ba5 100644
--- a/src/backends/cl/workloads/ClBatchNormalizationFloatWorkload.hpp
+++ b/src/backends/cl/workloads/ClBatchNormalizationFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/CLTensor.h>
#include <arm_compute/runtime/CL/functions/CLBatchNormalizationLayer.h>
diff --git a/src/backends/cl/workloads/ClBatchToSpaceNdWorkload.cpp b/src/backends/cl/workloads/ClBatchToSpaceNdWorkload.cpp
index 28b408d0a2..c6bd624815 100644
--- a/src/backends/cl/workloads/ClBatchToSpaceNdWorkload.cpp
+++ b/src/backends/cl/workloads/ClBatchToSpaceNdWorkload.cpp
@@ -6,7 +6,7 @@
#include "ClBatchToSpaceNdWorkload.hpp"
#include <cl/ClTensorHandle.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/NumericCast.hpp>
diff --git a/src/backends/cl/workloads/ClBatchToSpaceNdWorkload.hpp b/src/backends/cl/workloads/ClBatchToSpaceNdWorkload.hpp
index 7ef8300f89..9e5ebff842 100644
--- a/src/backends/cl/workloads/ClBatchToSpaceNdWorkload.hpp
+++ b/src/backends/cl/workloads/ClBatchToSpaceNdWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLBatchToSpaceLayer.h>
namespace armnn
diff --git a/src/backends/cl/workloads/ClCastWorkload.hpp b/src/backends/cl/workloads/ClCastWorkload.hpp
index ef4c7672f4..d36c1b19e8 100644
--- a/src/backends/cl/workloads/ClCastWorkload.hpp
+++ b/src/backends/cl/workloads/ClCastWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLCast.h>
diff --git a/src/backends/cl/workloads/ClChannelShuffleWorkload.hpp b/src/backends/cl/workloads/ClChannelShuffleWorkload.hpp
index 5ef84e6a1e..972b2dd54a 100644
--- a/src/backends/cl/workloads/ClChannelShuffleWorkload.hpp
+++ b/src/backends/cl/workloads/ClChannelShuffleWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLChannelShuffleLayer.h>
diff --git a/src/backends/cl/workloads/ClComparisonWorkload.cpp b/src/backends/cl/workloads/ClComparisonWorkload.cpp
index 3d59e08475..a66bd6cba1 100644
--- a/src/backends/cl/workloads/ClComparisonWorkload.cpp
+++ b/src/backends/cl/workloads/ClComparisonWorkload.cpp
@@ -10,7 +10,7 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
#include <cl/ClTensorHandle.hpp>
diff --git a/src/backends/cl/workloads/ClComparisonWorkload.hpp b/src/backends/cl/workloads/ClComparisonWorkload.hpp
index 4a92e6b6dc..662c1fa826 100644
--- a/src/backends/cl/workloads/ClComparisonWorkload.hpp
+++ b/src/backends/cl/workloads/ClComparisonWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLComparison.h>
diff --git a/src/backends/cl/workloads/ClConcatWorkload.cpp b/src/backends/cl/workloads/ClConcatWorkload.cpp
index 58983c8896..50f2acb62b 100644
--- a/src/backends/cl/workloads/ClConcatWorkload.cpp
+++ b/src/backends/cl/workloads/ClConcatWorkload.cpp
@@ -6,7 +6,7 @@
#include "ClWorkloadUtils.hpp"
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClTensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
diff --git a/src/backends/cl/workloads/ClConcatWorkload.hpp b/src/backends/cl/workloads/ClConcatWorkload.hpp
index 3120b423b6..f1d780e914 100644
--- a/src/backends/cl/workloads/ClConcatWorkload.hpp
+++ b/src/backends/cl/workloads/ClConcatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/cl/workloads/ClConstantWorkload.cpp b/src/backends/cl/workloads/ClConstantWorkload.cpp
index 1ff7504058..cd493057a2 100644
--- a/src/backends/cl/workloads/ClConstantWorkload.cpp
+++ b/src/backends/cl/workloads/ClConstantWorkload.cpp
@@ -8,7 +8,7 @@
#include <Half.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <cl/ClTensorHandle.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/cl/workloads/ClConstantWorkload.hpp b/src/backends/cl/workloads/ClConstantWorkload.hpp
index 8fa5d632c2..39e49e7d14 100644
--- a/src/backends/cl/workloads/ClConstantWorkload.hpp
+++ b/src/backends/cl/workloads/ClConstantWorkload.hpp
@@ -6,7 +6,7 @@
#pragma once
#include <arm_compute/core/Error.h>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/CL/CLCompileContext.h>
diff --git a/src/backends/cl/workloads/ClConvertFp16ToFp32Workload.hpp b/src/backends/cl/workloads/ClConvertFp16ToFp32Workload.hpp
index e8e6c98014..d831cc1dc0 100644
--- a/src/backends/cl/workloads/ClConvertFp16ToFp32Workload.hpp
+++ b/src/backends/cl/workloads/ClConvertFp16ToFp32Workload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLDepthConvertLayer.h>
diff --git a/src/backends/cl/workloads/ClConvertFp32ToFp16Workload.hpp b/src/backends/cl/workloads/ClConvertFp32ToFp16Workload.hpp
index 17eac7d23b..df25072840 100644
--- a/src/backends/cl/workloads/ClConvertFp32ToFp16Workload.hpp
+++ b/src/backends/cl/workloads/ClConvertFp32ToFp16Workload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLDepthConvertLayer.h>
diff --git a/src/backends/cl/workloads/ClConvolution2dWorkload.cpp b/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
index a5f4c7f254..95753053dd 100644
--- a/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
+++ b/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
@@ -12,7 +12,7 @@
#include <cl/ClLayerSupport.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <arm_compute/runtime/CL/functions/CLConvolutionLayer.h>
diff --git a/src/backends/cl/workloads/ClConvolution2dWorkload.hpp b/src/backends/cl/workloads/ClConvolution2dWorkload.hpp
index d0f7a5b251..e0921ed7ce 100644
--- a/src/backends/cl/workloads/ClConvolution2dWorkload.hpp
+++ b/src/backends/cl/workloads/ClConvolution2dWorkload.hpp
@@ -8,7 +8,7 @@
#include <armnn/Tensor.hpp>
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLConvolutionLayer.h>
#include <arm_compute/runtime/MemoryManagerOnDemand.h>
diff --git a/src/backends/cl/workloads/ClConvolution3dWorkload.cpp b/src/backends/cl/workloads/ClConvolution3dWorkload.cpp
index baa2f05909..a47a3be2df 100644
--- a/src/backends/cl/workloads/ClConvolution3dWorkload.cpp
+++ b/src/backends/cl/workloads/ClConvolution3dWorkload.cpp
@@ -12,7 +12,7 @@
#include <cl/ClLayerSupport.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <arm_compute/runtime/CL/functions/CLConv3D.h>
diff --git a/src/backends/cl/workloads/ClConvolution3dWorkload.hpp b/src/backends/cl/workloads/ClConvolution3dWorkload.hpp
index 93654ecad8..850cf9b1f2 100644
--- a/src/backends/cl/workloads/ClConvolution3dWorkload.hpp
+++ b/src/backends/cl/workloads/ClConvolution3dWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLConv3D.h>
#include <arm_compute/runtime/MemoryManagerOnDemand.h>
diff --git a/src/backends/cl/workloads/ClDepthToSpaceWorkload.hpp b/src/backends/cl/workloads/ClDepthToSpaceWorkload.hpp
index 01f83331c5..014fbb6472 100644
--- a/src/backends/cl/workloads/ClDepthToSpaceWorkload.hpp
+++ b/src/backends/cl/workloads/ClDepthToSpaceWorkload.hpp
@@ -7,7 +7,7 @@
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLDepthToSpaceLayer.h>
diff --git a/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp b/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp
index 91c0018c93..73396d6045 100644
--- a/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp
+++ b/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp
@@ -12,9 +12,9 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <cl/ClTensorHandle.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <backendsCommon/WorkloadUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <arm_compute/runtime/CL/functions/CLDepthwiseConvolutionLayer.h>
diff --git a/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.hpp b/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.hpp
index d490012cd9..aab8c852c1 100644
--- a/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.hpp
+++ b/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/IFunction.h>
#include <arm_compute/core/Error.h>
diff --git a/src/backends/cl/workloads/ClDequantizeWorkload.cpp b/src/backends/cl/workloads/ClDequantizeWorkload.cpp
index 00d849c603..772d126d65 100644
--- a/src/backends/cl/workloads/ClDequantizeWorkload.cpp
+++ b/src/backends/cl/workloads/ClDequantizeWorkload.cpp
@@ -8,7 +8,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <arm_compute/core/Types.h>
diff --git a/src/backends/cl/workloads/ClDequantizeWorkload.hpp b/src/backends/cl/workloads/ClDequantizeWorkload.hpp
index 628ea20f1b..24babd36c9 100644
--- a/src/backends/cl/workloads/ClDequantizeWorkload.hpp
+++ b/src/backends/cl/workloads/ClDequantizeWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLDequantizationLayer.h>
diff --git a/src/backends/cl/workloads/ClDivisionWorkload.cpp b/src/backends/cl/workloads/ClDivisionWorkload.cpp
index 5df4c61bf5..9c30d9143e 100644
--- a/src/backends/cl/workloads/ClDivisionWorkload.cpp
+++ b/src/backends/cl/workloads/ClDivisionWorkload.cpp
@@ -6,7 +6,7 @@
#include "ClDivisionWorkload.hpp"
#include <aclCommon/ArmComputeUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClTensorHandle.hpp>
diff --git a/src/backends/cl/workloads/ClDivisionWorkload.hpp b/src/backends/cl/workloads/ClDivisionWorkload.hpp
index d0c27bb310..8018f5a522 100644
--- a/src/backends/cl/workloads/ClDivisionWorkload.hpp
+++ b/src/backends/cl/workloads/ClDivisionWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLElementwiseOperations.h>
diff --git a/src/backends/cl/workloads/ClExpWorkload.hpp b/src/backends/cl/workloads/ClExpWorkload.hpp
index d2d1954870..e1f74f8db3 100644
--- a/src/backends/cl/workloads/ClExpWorkload.hpp
+++ b/src/backends/cl/workloads/ClExpWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLElementwiseUnaryLayer.h>
diff --git a/src/backends/cl/workloads/ClFillWorkload.hpp b/src/backends/cl/workloads/ClFillWorkload.hpp
index 8539501f17..b0f9fe19e1 100644
--- a/src/backends/cl/workloads/ClFillWorkload.hpp
+++ b/src/backends/cl/workloads/ClFillWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLFill.h>
namespace armnn {
diff --git a/src/backends/cl/workloads/ClFloorFloatWorkload.hpp b/src/backends/cl/workloads/ClFloorFloatWorkload.hpp
index 1c755c5b57..4e09311867 100644
--- a/src/backends/cl/workloads/ClFloorFloatWorkload.hpp
+++ b/src/backends/cl/workloads/ClFloorFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLFloor.h>
diff --git a/src/backends/cl/workloads/ClFullyConnectedWorkload.cpp b/src/backends/cl/workloads/ClFullyConnectedWorkload.cpp
index cc4ce9082c..532d0d45da 100644
--- a/src/backends/cl/workloads/ClFullyConnectedWorkload.cpp
+++ b/src/backends/cl/workloads/ClFullyConnectedWorkload.cpp
@@ -5,7 +5,7 @@
#include "ClFullyConnectedWorkload.hpp"
#include <cl/ClTensorHandle.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
#include <cl/ClLayerSupport.hpp>
diff --git a/src/backends/cl/workloads/ClFullyConnectedWorkload.hpp b/src/backends/cl/workloads/ClFullyConnectedWorkload.hpp
index 45394da97f..6576fb2078 100644
--- a/src/backends/cl/workloads/ClFullyConnectedWorkload.hpp
+++ b/src/backends/cl/workloads/ClFullyConnectedWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLFullyConnectedLayer.h>
#include <arm_compute/runtime/MemoryManagerOnDemand.h>
diff --git a/src/backends/cl/workloads/ClGatherWorkload.hpp b/src/backends/cl/workloads/ClGatherWorkload.hpp
index 8199aaf338..e6d198dc27 100644
--- a/src/backends/cl/workloads/ClGatherWorkload.hpp
+++ b/src/backends/cl/workloads/ClGatherWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLGather.h>
diff --git a/src/backends/cl/workloads/ClInstanceNormalizationWorkload.hpp b/src/backends/cl/workloads/ClInstanceNormalizationWorkload.hpp
index 957ba34685..250cd4d1b1 100644
--- a/src/backends/cl/workloads/ClInstanceNormalizationWorkload.hpp
+++ b/src/backends/cl/workloads/ClInstanceNormalizationWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLInstanceNormalizationLayer.h>
diff --git a/src/backends/cl/workloads/ClL2NormalizationFloatWorkload.cpp b/src/backends/cl/workloads/ClL2NormalizationFloatWorkload.cpp
index 3b20ace1ed..39cbe711e2 100644
--- a/src/backends/cl/workloads/ClL2NormalizationFloatWorkload.cpp
+++ b/src/backends/cl/workloads/ClL2NormalizationFloatWorkload.cpp
@@ -5,7 +5,7 @@
#include "ClL2NormalizationFloatWorkload.hpp"
#include <cl/ClTensorHandle.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/cl/workloads/ClL2NormalizationFloatWorkload.hpp b/src/backends/cl/workloads/ClL2NormalizationFloatWorkload.hpp
index 8648da4492..12ca0a10b1 100644
--- a/src/backends/cl/workloads/ClL2NormalizationFloatWorkload.hpp
+++ b/src/backends/cl/workloads/ClL2NormalizationFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLL2NormalizeLayer.h>
diff --git a/src/backends/cl/workloads/ClLogSoftmaxWorkload.hpp b/src/backends/cl/workloads/ClLogSoftmaxWorkload.hpp
index a2835887e0..4eb86eac8a 100644
--- a/src/backends/cl/workloads/ClLogSoftmaxWorkload.hpp
+++ b/src/backends/cl/workloads/ClLogSoftmaxWorkload.hpp
@@ -12,7 +12,7 @@
#include <arm_compute/runtime/CL/functions/CLSoftmaxLayer.h>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
namespace armnn
{
diff --git a/src/backends/cl/workloads/ClLogWorkload.hpp b/src/backends/cl/workloads/ClLogWorkload.hpp
index 9eb55c138f..5a2992a64c 100644
--- a/src/backends/cl/workloads/ClLogWorkload.hpp
+++ b/src/backends/cl/workloads/ClLogWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLElementwiseUnaryLayer.h>
diff --git a/src/backends/cl/workloads/ClLogicalAndWorkload.hpp b/src/backends/cl/workloads/ClLogicalAndWorkload.hpp
index c7cbf5a7cc..547995eed9 100644
--- a/src/backends/cl/workloads/ClLogicalAndWorkload.hpp
+++ b/src/backends/cl/workloads/ClLogicalAndWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLLogicalAnd.h>
diff --git a/src/backends/cl/workloads/ClLogicalNotWorkload.hpp b/src/backends/cl/workloads/ClLogicalNotWorkload.hpp
index 9c6c3d15a6..2dc0d095f8 100644
--- a/src/backends/cl/workloads/ClLogicalNotWorkload.hpp
+++ b/src/backends/cl/workloads/ClLogicalNotWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLLogicalNot.h>
diff --git a/src/backends/cl/workloads/ClLogicalOrWorkload.hpp b/src/backends/cl/workloads/ClLogicalOrWorkload.hpp
index a6db9908bb..ada72c2654 100644
--- a/src/backends/cl/workloads/ClLogicalOrWorkload.hpp
+++ b/src/backends/cl/workloads/ClLogicalOrWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLLogicalOr.h>
diff --git a/src/backends/cl/workloads/ClLstmFloatWorkload.cpp b/src/backends/cl/workloads/ClLstmFloatWorkload.cpp
index 9cbbff3dd9..c7b644c46a 100644
--- a/src/backends/cl/workloads/ClLstmFloatWorkload.cpp
+++ b/src/backends/cl/workloads/ClLstmFloatWorkload.cpp
@@ -5,7 +5,7 @@
#include "ClLstmFloatWorkload.hpp"
#include <cl/ClTensorHandle.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
diff --git a/src/backends/cl/workloads/ClLstmFloatWorkload.hpp b/src/backends/cl/workloads/ClLstmFloatWorkload.hpp
index b0847503d9..bfa98d46b2 100644
--- a/src/backends/cl/workloads/ClLstmFloatWorkload.hpp
+++ b/src/backends/cl/workloads/ClLstmFloatWorkload.hpp
@@ -7,8 +7,8 @@
#include <armnn/Descriptors.hpp>
#include <armnn/LstmParams.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <arm_compute/runtime/CL/functions/CLLSTMLayer.h>
diff --git a/src/backends/cl/workloads/ClMaximumWorkload.cpp b/src/backends/cl/workloads/ClMaximumWorkload.cpp
index f10c609ef9..421a5310a7 100644
--- a/src/backends/cl/workloads/ClMaximumWorkload.cpp
+++ b/src/backends/cl/workloads/ClMaximumWorkload.cpp
@@ -10,7 +10,7 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
#include <cl/ClTensorHandle.hpp>
diff --git a/src/backends/cl/workloads/ClMaximumWorkload.hpp b/src/backends/cl/workloads/ClMaximumWorkload.hpp
index f6681c79a3..55a375b939 100644
--- a/src/backends/cl/workloads/ClMaximumWorkload.hpp
+++ b/src/backends/cl/workloads/ClMaximumWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLElementwiseOperations.h>
diff --git a/src/backends/cl/workloads/ClMeanWorkload.hpp b/src/backends/cl/workloads/ClMeanWorkload.hpp
index c9229acf17..0ea6c595d7 100644
--- a/src/backends/cl/workloads/ClMeanWorkload.hpp
+++ b/src/backends/cl/workloads/ClMeanWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLReduceMean.h>
diff --git a/src/backends/cl/workloads/ClMinimumWorkload.cpp b/src/backends/cl/workloads/ClMinimumWorkload.cpp
index d29dcc2950..934598c3dc 100644
--- a/src/backends/cl/workloads/ClMinimumWorkload.cpp
+++ b/src/backends/cl/workloads/ClMinimumWorkload.cpp
@@ -10,7 +10,7 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
#include <cl/ClTensorHandle.hpp>
diff --git a/src/backends/cl/workloads/ClMinimumWorkload.hpp b/src/backends/cl/workloads/ClMinimumWorkload.hpp
index 34e7bb8d14..061788f81a 100644
--- a/src/backends/cl/workloads/ClMinimumWorkload.hpp
+++ b/src/backends/cl/workloads/ClMinimumWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLElementwiseOperations.h>
diff --git a/src/backends/cl/workloads/ClMultiplicationWorkload.cpp b/src/backends/cl/workloads/ClMultiplicationWorkload.cpp
index e19a7a24b6..0ef4d9a3de 100644
--- a/src/backends/cl/workloads/ClMultiplicationWorkload.cpp
+++ b/src/backends/cl/workloads/ClMultiplicationWorkload.cpp
@@ -6,7 +6,7 @@
#include "ClMultiplicationWorkload.hpp"
#include <aclCommon/ArmComputeUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClTensorHandle.hpp>
diff --git a/src/backends/cl/workloads/ClMultiplicationWorkload.hpp b/src/backends/cl/workloads/ClMultiplicationWorkload.hpp
index 7bc0db7ce9..5db81d6f86 100644
--- a/src/backends/cl/workloads/ClMultiplicationWorkload.hpp
+++ b/src/backends/cl/workloads/ClMultiplicationWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLPixelWiseMultiplication.h>
diff --git a/src/backends/cl/workloads/ClNegWorkload.hpp b/src/backends/cl/workloads/ClNegWorkload.hpp
index 5622a48f04..77092e1d7d 100644
--- a/src/backends/cl/workloads/ClNegWorkload.hpp
+++ b/src/backends/cl/workloads/ClNegWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLElementwiseUnaryLayer.h>
diff --git a/src/backends/cl/workloads/ClNormalizationFloatWorkload.cpp b/src/backends/cl/workloads/ClNormalizationFloatWorkload.cpp
index 9234a8a88b..b61869b852 100644
--- a/src/backends/cl/workloads/ClNormalizationFloatWorkload.cpp
+++ b/src/backends/cl/workloads/ClNormalizationFloatWorkload.cpp
@@ -5,7 +5,7 @@
#include "ClNormalizationFloatWorkload.hpp"
#include <cl/ClTensorHandle.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
diff --git a/src/backends/cl/workloads/ClNormalizationFloatWorkload.hpp b/src/backends/cl/workloads/ClNormalizationFloatWorkload.hpp
index dd309b44c2..b3a16351cc 100644
--- a/src/backends/cl/workloads/ClNormalizationFloatWorkload.hpp
+++ b/src/backends/cl/workloads/ClNormalizationFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLNormalizationLayer.h>
diff --git a/src/backends/cl/workloads/ClPadWorkload.hpp b/src/backends/cl/workloads/ClPadWorkload.hpp
index ac9b4b7c65..83ec5a4825 100644
--- a/src/backends/cl/workloads/ClPadWorkload.hpp
+++ b/src/backends/cl/workloads/ClPadWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLPadLayer.h>
namespace armnn {
diff --git a/src/backends/cl/workloads/ClPermuteWorkload.hpp b/src/backends/cl/workloads/ClPermuteWorkload.hpp
index 2df2b26a11..f0f12d7b7a 100644
--- a/src/backends/cl/workloads/ClPermuteWorkload.hpp
+++ b/src/backends/cl/workloads/ClPermuteWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <armnn/TypesUtils.hpp>
#include <arm_compute/runtime/CL/functions/CLPermute.h>
diff --git a/src/backends/cl/workloads/ClPooling2dWorkload.hpp b/src/backends/cl/workloads/ClPooling2dWorkload.hpp
index f4117aca2e..451a28501a 100644
--- a/src/backends/cl/workloads/ClPooling2dWorkload.hpp
+++ b/src/backends/cl/workloads/ClPooling2dWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLPoolingLayer.h>
diff --git a/src/backends/cl/workloads/ClPreluWorkload.cpp b/src/backends/cl/workloads/ClPreluWorkload.cpp
index 449e4de48c..81d40db7b1 100644
--- a/src/backends/cl/workloads/ClPreluWorkload.cpp
+++ b/src/backends/cl/workloads/ClPreluWorkload.cpp
@@ -5,7 +5,7 @@
#include "ClPreluWorkload.hpp"
#include "ClWorkloadUtils.hpp"
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
#include <cl/ClLayerSupport.hpp>
#include <cl/ClTensorHandle.hpp>
diff --git a/src/backends/cl/workloads/ClPreluWorkload.hpp b/src/backends/cl/workloads/ClPreluWorkload.hpp
index ac8932c9d1..6b0520f2e6 100644
--- a/src/backends/cl/workloads/ClPreluWorkload.hpp
+++ b/src/backends/cl/workloads/ClPreluWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLPReluLayer.h>
diff --git a/src/backends/cl/workloads/ClQLstmWorkload.hpp b/src/backends/cl/workloads/ClQLstmWorkload.hpp
index 6758abcde9..6c389064d0 100644
--- a/src/backends/cl/workloads/ClQLstmWorkload.hpp
+++ b/src/backends/cl/workloads/ClQLstmWorkload.hpp
@@ -7,8 +7,8 @@
#include <armnn/Descriptors.hpp>
#include <armnn/LstmParams.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "arm_compute/graph/Tensor.h"
#include "arm_compute/runtime/CL/functions/CLQLSTMLayer.h"
diff --git a/src/backends/cl/workloads/ClQuantizeWorkload.cpp b/src/backends/cl/workloads/ClQuantizeWorkload.cpp
index 5321e6292a..be17edd7fd 100644
--- a/src/backends/cl/workloads/ClQuantizeWorkload.cpp
+++ b/src/backends/cl/workloads/ClQuantizeWorkload.cpp
@@ -9,7 +9,7 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
#include <cl/ClTensorHandle.hpp>
diff --git a/src/backends/cl/workloads/ClQuantizeWorkload.hpp b/src/backends/cl/workloads/ClQuantizeWorkload.hpp
index 9bb1572c5c..cf459b20e0 100644
--- a/src/backends/cl/workloads/ClQuantizeWorkload.hpp
+++ b/src/backends/cl/workloads/ClQuantizeWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLQuantizationLayer.h>
diff --git a/src/backends/cl/workloads/ClQuantizedLstmWorkload.cpp b/src/backends/cl/workloads/ClQuantizedLstmWorkload.cpp
index 05ae89c93b..ad1d143aa7 100644
--- a/src/backends/cl/workloads/ClQuantizedLstmWorkload.cpp
+++ b/src/backends/cl/workloads/ClQuantizedLstmWorkload.cpp
@@ -6,7 +6,7 @@
#include "ClQuantizedLstmWorkload.hpp"
#include "ClWorkloadUtils.hpp"
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <cl/ClTensorHandle.hpp>
diff --git a/src/backends/cl/workloads/ClQuantizedLstmWorkload.hpp b/src/backends/cl/workloads/ClQuantizedLstmWorkload.hpp
index 6561850d79..48b0b27525 100644
--- a/src/backends/cl/workloads/ClQuantizedLstmWorkload.hpp
+++ b/src/backends/cl/workloads/ClQuantizedLstmWorkload.hpp
@@ -6,8 +6,8 @@
#pragma once
#include <armnn/QuantizedLstmParams.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <arm_compute/runtime/CL/functions/CLLSTMLayerQuantized.h>
diff --git a/src/backends/cl/workloads/ClRankWorkload.hpp b/src/backends/cl/workloads/ClRankWorkload.hpp
index 0a7bccf6c6..b5a856ff07 100644
--- a/src/backends/cl/workloads/ClRankWorkload.hpp
+++ b/src/backends/cl/workloads/ClRankWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/cl/workloads/ClReduceWorkload.hpp b/src/backends/cl/workloads/ClReduceWorkload.hpp
index 8b0aadb1ae..a9c1409dcf 100644
--- a/src/backends/cl/workloads/ClReduceWorkload.hpp
+++ b/src/backends/cl/workloads/ClReduceWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLReductionOperation.h>
diff --git a/src/backends/cl/workloads/ClReshapeWorkload.cpp b/src/backends/cl/workloads/ClReshapeWorkload.cpp
index ece3166eea..8ca05d0af1 100644
--- a/src/backends/cl/workloads/ClReshapeWorkload.cpp
+++ b/src/backends/cl/workloads/ClReshapeWorkload.cpp
@@ -5,7 +5,7 @@
#include "ClReshapeWorkload.hpp"
#include <cl/ClTensorHandle.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/cl/workloads/ClReshapeWorkload.hpp b/src/backends/cl/workloads/ClReshapeWorkload.hpp
index 70d72879f5..9acfc838b4 100644
--- a/src/backends/cl/workloads/ClReshapeWorkload.hpp
+++ b/src/backends/cl/workloads/ClReshapeWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLReshapeLayer.h>
diff --git a/src/backends/cl/workloads/ClResizeWorkload.cpp b/src/backends/cl/workloads/ClResizeWorkload.cpp
index 8121429560..628cbbd752 100644
--- a/src/backends/cl/workloads/ClResizeWorkload.cpp
+++ b/src/backends/cl/workloads/ClResizeWorkload.cpp
@@ -10,7 +10,7 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClTensorHandle.hpp>
diff --git a/src/backends/cl/workloads/ClResizeWorkload.hpp b/src/backends/cl/workloads/ClResizeWorkload.hpp
index 9549a32165..f062eb70b5 100644
--- a/src/backends/cl/workloads/ClResizeWorkload.hpp
+++ b/src/backends/cl/workloads/ClResizeWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLScale.h>
diff --git a/src/backends/cl/workloads/ClRsqrtWorkload.hpp b/src/backends/cl/workloads/ClRsqrtWorkload.hpp
index 8010c78afd..e53d576d6e 100644
--- a/src/backends/cl/workloads/ClRsqrtWorkload.hpp
+++ b/src/backends/cl/workloads/ClRsqrtWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLElementwiseUnaryLayer.h>
diff --git a/src/backends/cl/workloads/ClSinWorkload.hpp b/src/backends/cl/workloads/ClSinWorkload.hpp
index 8675ab3476..d6e799bf7e 100644
--- a/src/backends/cl/workloads/ClSinWorkload.hpp
+++ b/src/backends/cl/workloads/ClSinWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLElementwiseUnaryLayer.h>
diff --git a/src/backends/cl/workloads/ClSliceWorkload.hpp b/src/backends/cl/workloads/ClSliceWorkload.hpp
index 67836c2b5c..1451a6df79 100644
--- a/src/backends/cl/workloads/ClSliceWorkload.hpp
+++ b/src/backends/cl/workloads/ClSliceWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/CL/functions/CLSlice.h>
diff --git a/src/backends/cl/workloads/ClSoftmaxWorkload.hpp b/src/backends/cl/workloads/ClSoftmaxWorkload.hpp
index 1742c60511..04b03c8f2b 100644
--- a/src/backends/cl/workloads/ClSoftmaxWorkload.hpp
+++ b/src/backends/cl/workloads/ClSoftmaxWorkload.hpp
@@ -11,7 +11,7 @@
#include <arm_compute/runtime/MemoryManagerOnDemand.h>
#include <arm_compute/runtime/CL/functions/CLSoftmaxLayer.h>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
namespace armnn
{
diff --git a/src/backends/cl/workloads/ClSpaceToBatchNdWorkload.cpp b/src/backends/cl/workloads/ClSpaceToBatchNdWorkload.cpp
index 2bdfb38ade..9e6c00e9d0 100644
--- a/src/backends/cl/workloads/ClSpaceToBatchNdWorkload.cpp
+++ b/src/backends/cl/workloads/ClSpaceToBatchNdWorkload.cpp
@@ -11,7 +11,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/NumericCast.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
#include <cl/ClTensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
diff --git a/src/backends/cl/workloads/ClSpaceToBatchNdWorkload.hpp b/src/backends/cl/workloads/ClSpaceToBatchNdWorkload.hpp
index 06d243a6d1..ed9870da5e 100644
--- a/src/backends/cl/workloads/ClSpaceToBatchNdWorkload.hpp
+++ b/src/backends/cl/workloads/ClSpaceToBatchNdWorkload.hpp
@@ -8,7 +8,7 @@
#include <armnn/Tensor.hpp>
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLSpaceToBatchLayer.h>
diff --git a/src/backends/cl/workloads/ClSpaceToDepthWorkload.cpp b/src/backends/cl/workloads/ClSpaceToDepthWorkload.cpp
index a2c9026f9f..23b4d97c04 100644
--- a/src/backends/cl/workloads/ClSpaceToDepthWorkload.cpp
+++ b/src/backends/cl/workloads/ClSpaceToDepthWorkload.cpp
@@ -8,7 +8,7 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClTensorHandle.hpp>
#include <armnn/utility/NumericCast.hpp>
diff --git a/src/backends/cl/workloads/ClSpaceToDepthWorkload.hpp b/src/backends/cl/workloads/ClSpaceToDepthWorkload.hpp
index 3674bda1b6..ace3116b3e 100644
--- a/src/backends/cl/workloads/ClSpaceToDepthWorkload.hpp
+++ b/src/backends/cl/workloads/ClSpaceToDepthWorkload.hpp
@@ -7,7 +7,7 @@
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLSpaceToDepthLayer.h>
namespace armnn
diff --git a/src/backends/cl/workloads/ClSplitterWorkload.cpp b/src/backends/cl/workloads/ClSplitterWorkload.cpp
index a7d8a1aa7e..54454412e6 100644
--- a/src/backends/cl/workloads/ClSplitterWorkload.cpp
+++ b/src/backends/cl/workloads/ClSplitterWorkload.cpp
@@ -10,7 +10,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClTensorHandle.hpp>
diff --git a/src/backends/cl/workloads/ClSplitterWorkload.hpp b/src/backends/cl/workloads/ClSplitterWorkload.hpp
index c59aa023bf..eaeeebe55f 100644
--- a/src/backends/cl/workloads/ClSplitterWorkload.hpp
+++ b/src/backends/cl/workloads/ClSplitterWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/cl/workloads/ClStackWorkload.cpp b/src/backends/cl/workloads/ClStackWorkload.cpp
index 75842a2b06..d239f00ed5 100644
--- a/src/backends/cl/workloads/ClStackWorkload.cpp
+++ b/src/backends/cl/workloads/ClStackWorkload.cpp
@@ -7,7 +7,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/NumericCast.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <cl/ClTensorHandle.hpp>
#include <cl/ClLayerSupport.hpp>
diff --git a/src/backends/cl/workloads/ClStackWorkload.hpp b/src/backends/cl/workloads/ClStackWorkload.hpp
index 3f1e642f60..a7aa84d624 100644
--- a/src/backends/cl/workloads/ClStackWorkload.hpp
+++ b/src/backends/cl/workloads/ClStackWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLStackLayer.h>
diff --git a/src/backends/cl/workloads/ClStridedSliceWorkload.cpp b/src/backends/cl/workloads/ClStridedSliceWorkload.cpp
index b2e73cb684..cf8fc37456 100644
--- a/src/backends/cl/workloads/ClStridedSliceWorkload.cpp
+++ b/src/backends/cl/workloads/ClStridedSliceWorkload.cpp
@@ -10,7 +10,7 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <backendsCommon/WorkloadUtils.hpp>
#include <armnn/utility/NumericCast.hpp>
diff --git a/src/backends/cl/workloads/ClStridedSliceWorkload.hpp b/src/backends/cl/workloads/ClStridedSliceWorkload.hpp
index 1229599847..1cd5a1df17 100644
--- a/src/backends/cl/workloads/ClStridedSliceWorkload.hpp
+++ b/src/backends/cl/workloads/ClStridedSliceWorkload.hpp
@@ -8,7 +8,7 @@
#include <armnn/Tensor.hpp>
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLStridedSlice.h>
diff --git a/src/backends/cl/workloads/ClSubtractionWorkload.cpp b/src/backends/cl/workloads/ClSubtractionWorkload.cpp
index 797763d381..3766c05a2b 100644
--- a/src/backends/cl/workloads/ClSubtractionWorkload.cpp
+++ b/src/backends/cl/workloads/ClSubtractionWorkload.cpp
@@ -6,7 +6,7 @@
#include "ClSubtractionWorkload.hpp"
#include <cl/ClTensorHandle.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
diff --git a/src/backends/cl/workloads/ClSubtractionWorkload.hpp b/src/backends/cl/workloads/ClSubtractionWorkload.hpp
index 28440b0938..7107bcc035 100644
--- a/src/backends/cl/workloads/ClSubtractionWorkload.hpp
+++ b/src/backends/cl/workloads/ClSubtractionWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLElementwiseOperations.h>
diff --git a/src/backends/cl/workloads/ClTransposeConvolution2dWorkload.cpp b/src/backends/cl/workloads/ClTransposeConvolution2dWorkload.cpp
index 9277bb0b19..385bece6fb 100644
--- a/src/backends/cl/workloads/ClTransposeConvolution2dWorkload.cpp
+++ b/src/backends/cl/workloads/ClTransposeConvolution2dWorkload.cpp
@@ -14,7 +14,7 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <arm_compute/runtime/CL/functions/CLDeconvolutionLayer.h>
diff --git a/src/backends/cl/workloads/ClTransposeConvolution2dWorkload.hpp b/src/backends/cl/workloads/ClTransposeConvolution2dWorkload.hpp
index 8a24e6d391..c0ba8139fd 100644
--- a/src/backends/cl/workloads/ClTransposeConvolution2dWorkload.hpp
+++ b/src/backends/cl/workloads/ClTransposeConvolution2dWorkload.hpp
@@ -8,7 +8,7 @@
#include <armnn/Tensor.hpp>
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/CL/functions/CLDeconvolutionLayer.h>
#include <arm_compute/runtime/MemoryManagerOnDemand.h>
diff --git a/src/backends/cl/workloads/ClTransposeWorkload.hpp b/src/backends/cl/workloads/ClTransposeWorkload.hpp
index 4677bdc3f5..8186cac52e 100644
--- a/src/backends/cl/workloads/ClTransposeWorkload.hpp
+++ b/src/backends/cl/workloads/ClTransposeWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <armnn/TypesUtils.hpp>
#include <arm_compute/runtime/CL/functions/CLPermute.h>
diff --git a/src/backends/cl/workloads/ClWorkloadUtils.hpp b/src/backends/cl/workloads/ClWorkloadUtils.hpp
index 7d378fc656..16f6c6156d 100644
--- a/src/backends/cl/workloads/ClWorkloadUtils.hpp
+++ b/src/backends/cl/workloads/ClWorkloadUtils.hpp
@@ -8,7 +8,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <cl/OpenClTimer.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/Utils.hpp>
diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp
index 4c9397b950..2d0b8907f7 100644
--- a/src/backends/neon/NeonWorkloadFactory.cpp
+++ b/src/backends/neon/NeonWorkloadFactory.cpp
@@ -16,9 +16,9 @@
#include <armnn/utility/PolymorphicDowncast.hpp>
#include <backendsCommon/MakeWorkloadHelper.hpp>
-#include <backendsCommon/MemCopyWorkload.hpp>
+#include <armnn/backends/MemCopyWorkload.hpp>
#include <backendsCommon/MemImportWorkload.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/workloads/NeonWorkloadUtils.hpp>
#include <neon/workloads/NeonWorkloads.hpp>
diff --git a/src/backends/neon/test/NeonCreateWorkloadTests.cpp b/src/backends/neon/test/NeonCreateWorkloadTests.cpp
index e3d73be9d1..c1563fe046 100644
--- a/src/backends/neon/test/NeonCreateWorkloadTests.cpp
+++ b/src/backends/neon/test/NeonCreateWorkloadTests.cpp
@@ -9,7 +9,7 @@
#include <armnn/utility/Assert.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/MemCopyWorkload.hpp>
+#include <armnn/backends/MemCopyWorkload.hpp>
#include <aclCommon/test/CreateWorkloadClNeon.hpp>
diff --git a/src/backends/neon/test/NeonLayerSupportTests.cpp b/src/backends/neon/test/NeonLayerSupportTests.cpp
index fbb91a96c7..e5bdfb9251 100644
--- a/src/backends/neon/test/NeonLayerSupportTests.cpp
+++ b/src/backends/neon/test/NeonLayerSupportTests.cpp
@@ -9,7 +9,7 @@
#include <layers/ConvertFp32ToFp16Layer.hpp>
#include <TensorHelpers.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/NeonWorkloadFactory.hpp>
#include <backendsCommon/test/IsLayerSupportedTestImpl.hpp>
#include <backendsCommon/test/LayerTests.hpp>
diff --git a/src/backends/neon/test/NeonTimerTest.cpp b/src/backends/neon/test/NeonTimerTest.cpp
index 3596dfa87c..6f96df54cd 100644
--- a/src/backends/neon/test/NeonTimerTest.cpp
+++ b/src/backends/neon/test/NeonTimerTest.cpp
@@ -8,15 +8,15 @@
#include <TensorHelpers.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <neon/NeonTimer.hpp>
#include <neon/NeonWorkloadFactory.hpp>
#include <backendsCommon/test/LayerTests.hpp>
#include <armnnTestUtils/TensorCopyUtils.hpp>
-#include <WorkloadTestUtils.hpp>
+#include <armnnTestUtils/WorkloadTestUtils.hpp>
#include <doctest/doctest.h>
diff --git a/src/backends/neon/workloads/NeonAbsWorkload.hpp b/src/backends/neon/workloads/NeonAbsWorkload.hpp
index 0024d19cac..3440af5a05 100644
--- a/src/backends/neon/workloads/NeonAbsWorkload.hpp
+++ b/src/backends/neon/workloads/NeonAbsWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NEElementwiseUnaryLayer.h>
diff --git a/src/backends/neon/workloads/NeonActivationWorkload.hpp b/src/backends/neon/workloads/NeonActivationWorkload.hpp
index eefbfb6522..c3d6cc1bce 100644
--- a/src/backends/neon/workloads/NeonActivationWorkload.hpp
+++ b/src/backends/neon/workloads/NeonActivationWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonAdditionWorkload.cpp b/src/backends/neon/workloads/NeonAdditionWorkload.cpp
index dfbb992e05..fdfe8b5b55 100644
--- a/src/backends/neon/workloads/NeonAdditionWorkload.cpp
+++ b/src/backends/neon/workloads/NeonAdditionWorkload.cpp
@@ -10,7 +10,7 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <arm_compute/runtime/NEON/functions/NEArithmeticAddition.h>
diff --git a/src/backends/neon/workloads/NeonAdditionWorkload.hpp b/src/backends/neon/workloads/NeonAdditionWorkload.hpp
index 8e43cbdb6d..b691e66a06 100644
--- a/src/backends/neon/workloads/NeonAdditionWorkload.hpp
+++ b/src/backends/neon/workloads/NeonAdditionWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/core/Types.h>
diff --git a/src/backends/neon/workloads/NeonArgMinMaxWorkload.cpp b/src/backends/neon/workloads/NeonArgMinMaxWorkload.cpp
index 7e9d2c7ec6..aea5fe5abe 100644
--- a/src/backends/neon/workloads/NeonArgMinMaxWorkload.cpp
+++ b/src/backends/neon/workloads/NeonArgMinMaxWorkload.cpp
@@ -8,7 +8,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/utility/NumericCast.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
diff --git a/src/backends/neon/workloads/NeonArgMinMaxWorkload.hpp b/src/backends/neon/workloads/NeonArgMinMaxWorkload.hpp
index 6e1cc46c13..f5d33b3eae 100644
--- a/src/backends/neon/workloads/NeonArgMinMaxWorkload.hpp
+++ b/src/backends/neon/workloads/NeonArgMinMaxWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonBatchNormalizationWorkload.cpp b/src/backends/neon/workloads/NeonBatchNormalizationWorkload.cpp
index 3d0a90bc7d..897a54d0d6 100644
--- a/src/backends/neon/workloads/NeonBatchNormalizationWorkload.cpp
+++ b/src/backends/neon/workloads/NeonBatchNormalizationWorkload.cpp
@@ -12,7 +12,7 @@
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <arm_compute/runtime/NEON/functions/NEBatchNormalizationLayer.h>
diff --git a/src/backends/neon/workloads/NeonBatchNormalizationWorkload.hpp b/src/backends/neon/workloads/NeonBatchNormalizationWorkload.hpp
index fea778fb1c..3cceefe615 100644
--- a/src/backends/neon/workloads/NeonBatchNormalizationWorkload.hpp
+++ b/src/backends/neon/workloads/NeonBatchNormalizationWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/IFunction.h>
#include <arm_compute/runtime/Tensor.h>
diff --git a/src/backends/neon/workloads/NeonBatchToSpaceNdWorkload.hpp b/src/backends/neon/workloads/NeonBatchToSpaceNdWorkload.hpp
index dd146e5681..21eebe0a0f 100644
--- a/src/backends/neon/workloads/NeonBatchToSpaceNdWorkload.hpp
+++ b/src/backends/neon/workloads/NeonBatchToSpaceNdWorkload.hpp
@@ -8,7 +8,7 @@
#include <armnn/Tensor.hpp>
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/NEON/functions/NEBatchToSpaceLayer.h>
diff --git a/src/backends/neon/workloads/NeonCastWorkload.hpp b/src/backends/neon/workloads/NeonCastWorkload.hpp
index 4247c2e712..86edd90dc1 100644
--- a/src/backends/neon/workloads/NeonCastWorkload.hpp
+++ b/src/backends/neon/workloads/NeonCastWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NECast.h>
diff --git a/src/backends/neon/workloads/NeonChannelShuffleWorkload.hpp b/src/backends/neon/workloads/NeonChannelShuffleWorkload.hpp
index f0f20ae711..73d645f7b3 100644
--- a/src/backends/neon/workloads/NeonChannelShuffleWorkload.hpp
+++ b/src/backends/neon/workloads/NeonChannelShuffleWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NEChannelShuffleLayer.h>
diff --git a/src/backends/neon/workloads/NeonComparisonWorkload.cpp b/src/backends/neon/workloads/NeonComparisonWorkload.cpp
index 129921abe2..bd66c2f59a 100644
--- a/src/backends/neon/workloads/NeonComparisonWorkload.cpp
+++ b/src/backends/neon/workloads/NeonComparisonWorkload.cpp
@@ -7,7 +7,7 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
namespace armnn
{
diff --git a/src/backends/neon/workloads/NeonConcatWorkload.cpp b/src/backends/neon/workloads/NeonConcatWorkload.cpp
index 657a9402ef..88e0e8d118 100644
--- a/src/backends/neon/workloads/NeonConcatWorkload.cpp
+++ b/src/backends/neon/workloads/NeonConcatWorkload.cpp
@@ -9,7 +9,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/NeonTensorHandle.hpp>
namespace armnn
diff --git a/src/backends/neon/workloads/NeonConcatWorkload.hpp b/src/backends/neon/workloads/NeonConcatWorkload.hpp
index bf0733b431..cf93035548 100644
--- a/src/backends/neon/workloads/NeonConcatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonConcatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonConstantWorkload.cpp b/src/backends/neon/workloads/NeonConstantWorkload.cpp
index 16bb211816..471a0bb0fc 100644
--- a/src/backends/neon/workloads/NeonConstantWorkload.cpp
+++ b/src/backends/neon/workloads/NeonConstantWorkload.cpp
@@ -11,8 +11,8 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
#include <neon/NeonTensorHandle.hpp>
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/Workload.hpp>
namespace armnn
{
diff --git a/src/backends/neon/workloads/NeonConvertBf16ToFp32Workload.hpp b/src/backends/neon/workloads/NeonConvertBf16ToFp32Workload.hpp
index 0969088b92..eb2091264c 100644
--- a/src/backends/neon/workloads/NeonConvertBf16ToFp32Workload.hpp
+++ b/src/backends/neon/workloads/NeonConvertBf16ToFp32Workload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
diff --git a/src/backends/neon/workloads/NeonConvertFp16ToFp32Workload.hpp b/src/backends/neon/workloads/NeonConvertFp16ToFp32Workload.hpp
index 6db370174a..9d98f92ec4 100644
--- a/src/backends/neon/workloads/NeonConvertFp16ToFp32Workload.hpp
+++ b/src/backends/neon/workloads/NeonConvertFp16ToFp32Workload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
diff --git a/src/backends/neon/workloads/NeonConvertFp32ToBf16Workload.hpp b/src/backends/neon/workloads/NeonConvertFp32ToBf16Workload.hpp
index bc96c16287..7c8d45d253 100644
--- a/src/backends/neon/workloads/NeonConvertFp32ToBf16Workload.hpp
+++ b/src/backends/neon/workloads/NeonConvertFp32ToBf16Workload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
diff --git a/src/backends/neon/workloads/NeonConvertFp32ToFp16Workload.hpp b/src/backends/neon/workloads/NeonConvertFp32ToFp16Workload.hpp
index 29cac85d88..71a71590d1 100644
--- a/src/backends/neon/workloads/NeonConvertFp32ToFp16Workload.hpp
+++ b/src/backends/neon/workloads/NeonConvertFp32ToFp16Workload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
diff --git a/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp b/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp
index 0b0a72cb46..6fb34d7218 100644
--- a/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp
+++ b/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp
@@ -8,7 +8,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/workloads/NeonWorkloadUtils.hpp>
#include <arm_compute/runtime/NEON/functions/NEConvolutionLayer.h>
diff --git a/src/backends/neon/workloads/NeonConvolution2dWorkload.hpp b/src/backends/neon/workloads/NeonConvolution2dWorkload.hpp
index 4b6e58ce41..a28321d041 100644
--- a/src/backends/neon/workloads/NeonConvolution2dWorkload.hpp
+++ b/src/backends/neon/workloads/NeonConvolution2dWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/IFunction.h>
#include <arm_compute/runtime/Tensor.h>
diff --git a/src/backends/neon/workloads/NeonConvolution3dWorkload.cpp b/src/backends/neon/workloads/NeonConvolution3dWorkload.cpp
index 1891981162..5d19737b06 100644
--- a/src/backends/neon/workloads/NeonConvolution3dWorkload.cpp
+++ b/src/backends/neon/workloads/NeonConvolution3dWorkload.cpp
@@ -8,7 +8,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/workloads/NeonWorkloadUtils.hpp>
#include <arm_compute/runtime/NEON/functions/NEConv3D.h>
diff --git a/src/backends/neon/workloads/NeonConvolution3dWorkload.hpp b/src/backends/neon/workloads/NeonConvolution3dWorkload.hpp
index b5175e963f..a14dc24cc4 100644
--- a/src/backends/neon/workloads/NeonConvolution3dWorkload.hpp
+++ b/src/backends/neon/workloads/NeonConvolution3dWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/IFunction.h>
#include <arm_compute/runtime/Tensor.h>
diff --git a/src/backends/neon/workloads/NeonDepthToSpaceWorkload.hpp b/src/backends/neon/workloads/NeonDepthToSpaceWorkload.hpp
index 95b5e44e4d..09d9293307 100644
--- a/src/backends/neon/workloads/NeonDepthToSpaceWorkload.hpp
+++ b/src/backends/neon/workloads/NeonDepthToSpaceWorkload.hpp
@@ -7,7 +7,7 @@
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/NEON/functions/NEDepthToSpaceLayer.h>
diff --git a/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.cpp b/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.cpp
index 138c237aba..cdb3368699 100644
--- a/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.cpp
+++ b/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.cpp
@@ -14,7 +14,7 @@
#include <neon/NeonLayerSupport.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <backendsCommon/WorkloadUtils.hpp>
#include <arm_compute/runtime/NEON/functions/NEDepthwiseConvolutionLayer.h>
diff --git a/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.hpp b/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.hpp
index d257b91638..acb190f384 100644
--- a/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.hpp
+++ b/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/IFunction.h>
#include <arm_compute/runtime/Tensor.h>
diff --git a/src/backends/neon/workloads/NeonDequantizeWorkload.cpp b/src/backends/neon/workloads/NeonDequantizeWorkload.cpp
index 32c1134c35..62c76fcd06 100644
--- a/src/backends/neon/workloads/NeonDequantizeWorkload.cpp
+++ b/src/backends/neon/workloads/NeonDequantizeWorkload.cpp
@@ -11,7 +11,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/NeonTensorHandle.hpp>
namespace armnn
diff --git a/src/backends/neon/workloads/NeonDequantizeWorkload.hpp b/src/backends/neon/workloads/NeonDequantizeWorkload.hpp
index 63ea783474..f9ffb7860c 100644
--- a/src/backends/neon/workloads/NeonDequantizeWorkload.hpp
+++ b/src/backends/neon/workloads/NeonDequantizeWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonDetectionPostProcessWorkload.hpp b/src/backends/neon/workloads/NeonDetectionPostProcessWorkload.hpp
index 82ef1e2f19..fd26bef334 100644
--- a/src/backends/neon/workloads/NeonDetectionPostProcessWorkload.hpp
+++ b/src/backends/neon/workloads/NeonDetectionPostProcessWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NEDetectionPostProcessLayer.h>
diff --git a/src/backends/neon/workloads/NeonDivisionWorkload.cpp b/src/backends/neon/workloads/NeonDivisionWorkload.cpp
index 8c5d2b80f6..08caef6a7e 100644
--- a/src/backends/neon/workloads/NeonDivisionWorkload.cpp
+++ b/src/backends/neon/workloads/NeonDivisionWorkload.cpp
@@ -10,7 +10,7 @@
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
namespace armnn
{
diff --git a/src/backends/neon/workloads/NeonExpWorkload.hpp b/src/backends/neon/workloads/NeonExpWorkload.hpp
index d64340cb6d..d7053effd6 100644
--- a/src/backends/neon/workloads/NeonExpWorkload.hpp
+++ b/src/backends/neon/workloads/NeonExpWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NEElementwiseUnaryLayer.h>
diff --git a/src/backends/neon/workloads/NeonFillWorkload.hpp b/src/backends/neon/workloads/NeonFillWorkload.hpp
index 40e4aa68c4..adffaa37ee 100644
--- a/src/backends/neon/workloads/NeonFillWorkload.hpp
+++ b/src/backends/neon/workloads/NeonFillWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/IFunction.h>
#include <arm_compute/core/Error.h>
diff --git a/src/backends/neon/workloads/NeonFloorFloatWorkload.hpp b/src/backends/neon/workloads/NeonFloorFloatWorkload.hpp
index 01b86a6706..75b3546c5d 100644
--- a/src/backends/neon/workloads/NeonFloorFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonFloorFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/IFunction.h>
#include <arm_compute/runtime/Tensor.h>
diff --git a/src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp b/src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp
index 94dc07704d..39927889cf 100644
--- a/src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp
+++ b/src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp
@@ -12,7 +12,7 @@
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <arm_compute/runtime/NEON/functions/NEFullyConnectedLayer.h>
diff --git a/src/backends/neon/workloads/NeonFullyConnectedWorkload.hpp b/src/backends/neon/workloads/NeonFullyConnectedWorkload.hpp
index 8dc7fdcd6c..129fb73323 100644
--- a/src/backends/neon/workloads/NeonFullyConnectedWorkload.hpp
+++ b/src/backends/neon/workloads/NeonFullyConnectedWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonGatherWorkload.hpp b/src/backends/neon/workloads/NeonGatherWorkload.hpp
index e5b7b57629..4c208fe35c 100644
--- a/src/backends/neon/workloads/NeonGatherWorkload.hpp
+++ b/src/backends/neon/workloads/NeonGatherWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/NEON/functions/NEGather.h>
diff --git a/src/backends/neon/workloads/NeonInstanceNormalizationWorkload.cpp b/src/backends/neon/workloads/NeonInstanceNormalizationWorkload.cpp
index a68ea65602..8ece5b00e0 100644
--- a/src/backends/neon/workloads/NeonInstanceNormalizationWorkload.cpp
+++ b/src/backends/neon/workloads/NeonInstanceNormalizationWorkload.cpp
@@ -8,7 +8,7 @@
#include "NeonWorkloadUtils.hpp"
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/NeonTensorHandle.hpp>
using namespace armnn::armcomputetensorutils;
diff --git a/src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.hpp b/src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.hpp
index 2a8eb38ef9..d87e5d067c 100644
--- a/src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonLogSoftmaxWorkload.hpp b/src/backends/neon/workloads/NeonLogSoftmaxWorkload.hpp
index dbfa28dd11..4cae08e758 100644
--- a/src/backends/neon/workloads/NeonLogSoftmaxWorkload.hpp
+++ b/src/backends/neon/workloads/NeonLogSoftmaxWorkload.hpp
@@ -6,7 +6,7 @@
#pragma once
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonLogWorkload.hpp b/src/backends/neon/workloads/NeonLogWorkload.hpp
index 965a845ea8..d505aa8300 100644
--- a/src/backends/neon/workloads/NeonLogWorkload.hpp
+++ b/src/backends/neon/workloads/NeonLogWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NEElementwiseUnaryLayer.h>
diff --git a/src/backends/neon/workloads/NeonLogicalAndWorkload.hpp b/src/backends/neon/workloads/NeonLogicalAndWorkload.hpp
index 1daadab9bb..550266867e 100644
--- a/src/backends/neon/workloads/NeonLogicalAndWorkload.hpp
+++ b/src/backends/neon/workloads/NeonLogicalAndWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NELogical.h>
diff --git a/src/backends/neon/workloads/NeonLogicalNotWorkload.hpp b/src/backends/neon/workloads/NeonLogicalNotWorkload.hpp
index 31420f7e9b..74da027394 100644
--- a/src/backends/neon/workloads/NeonLogicalNotWorkload.hpp
+++ b/src/backends/neon/workloads/NeonLogicalNotWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NELogical.h>
diff --git a/src/backends/neon/workloads/NeonLogicalOrWorkload.hpp b/src/backends/neon/workloads/NeonLogicalOrWorkload.hpp
index 3b4ddb2d86..40df557563 100644
--- a/src/backends/neon/workloads/NeonLogicalOrWorkload.hpp
+++ b/src/backends/neon/workloads/NeonLogicalOrWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NELogical.h>
diff --git a/src/backends/neon/workloads/NeonLstmFloatWorkload.hpp b/src/backends/neon/workloads/NeonLstmFloatWorkload.hpp
index 9a9a878574..84194b625d 100644
--- a/src/backends/neon/workloads/NeonLstmFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonLstmFloatWorkload.hpp
@@ -7,8 +7,8 @@
#include <armnn/Descriptors.hpp>
#include <armnn/LstmParams.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "arm_compute/graph/Tensor.h"
#include "arm_compute/runtime/NEON/functions/NELSTMLayer.h"
diff --git a/src/backends/neon/workloads/NeonMaximumWorkload.cpp b/src/backends/neon/workloads/NeonMaximumWorkload.cpp
index 0f95af5f98..e24063616c 100644
--- a/src/backends/neon/workloads/NeonMaximumWorkload.cpp
+++ b/src/backends/neon/workloads/NeonMaximumWorkload.cpp
@@ -6,7 +6,7 @@
#include "NeonMaximumWorkload.hpp"
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
namespace armnn
{
diff --git a/src/backends/neon/workloads/NeonMeanWorkload.hpp b/src/backends/neon/workloads/NeonMeanWorkload.hpp
index 5d16588da2..e5b9edb918 100644
--- a/src/backends/neon/workloads/NeonMeanWorkload.hpp
+++ b/src/backends/neon/workloads/NeonMeanWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/NEON/functions/NEReduceMean.h>
diff --git a/src/backends/neon/workloads/NeonMinimumWorkload.cpp b/src/backends/neon/workloads/NeonMinimumWorkload.cpp
index 5212947022..228b856ed0 100644
--- a/src/backends/neon/workloads/NeonMinimumWorkload.cpp
+++ b/src/backends/neon/workloads/NeonMinimumWorkload.cpp
@@ -7,7 +7,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
namespace armnn
{
diff --git a/src/backends/neon/workloads/NeonMultiplicationWorkload.hpp b/src/backends/neon/workloads/NeonMultiplicationWorkload.hpp
index d2bcd04482..a5d7b76d67 100644
--- a/src/backends/neon/workloads/NeonMultiplicationWorkload.hpp
+++ b/src/backends/neon/workloads/NeonMultiplicationWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/core/Types.h>
diff --git a/src/backends/neon/workloads/NeonNegWorkload.hpp b/src/backends/neon/workloads/NeonNegWorkload.hpp
index 7b2ed17a3e..0b081a1c84 100644
--- a/src/backends/neon/workloads/NeonNegWorkload.hpp
+++ b/src/backends/neon/workloads/NeonNegWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NEElementwiseUnaryLayer.h>
diff --git a/src/backends/neon/workloads/NeonNormalizationFloatWorkload.hpp b/src/backends/neon/workloads/NeonNormalizationFloatWorkload.hpp
index 17bbeb41ab..892722c4ca 100644
--- a/src/backends/neon/workloads/NeonNormalizationFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonNormalizationFloatWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonPadWorkload.hpp b/src/backends/neon/workloads/NeonPadWorkload.hpp
index ab0e821ae5..76c5c572c9 100644
--- a/src/backends/neon/workloads/NeonPadWorkload.hpp
+++ b/src/backends/neon/workloads/NeonPadWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/WorkloadData.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/IFunction.h>
#include <arm_compute/core/Error.h>
diff --git a/src/backends/neon/workloads/NeonPermuteWorkload.hpp b/src/backends/neon/workloads/NeonPermuteWorkload.hpp
index 37db490b95..934dda0762 100644
--- a/src/backends/neon/workloads/NeonPermuteWorkload.hpp
+++ b/src/backends/neon/workloads/NeonPermuteWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <neon/workloads/NeonWorkloadUtils.hpp>
#include <armnn/TypesUtils.hpp>
diff --git a/src/backends/neon/workloads/NeonPooling2dWorkload.hpp b/src/backends/neon/workloads/NeonPooling2dWorkload.hpp
index b0e3aa8c59..705f6ede21 100644
--- a/src/backends/neon/workloads/NeonPooling2dWorkload.hpp
+++ b/src/backends/neon/workloads/NeonPooling2dWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonPreluWorkload.hpp b/src/backends/neon/workloads/NeonPreluWorkload.hpp
index a0d46c2e94..f6267938d9 100644
--- a/src/backends/neon/workloads/NeonPreluWorkload.hpp
+++ b/src/backends/neon/workloads/NeonPreluWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonQLstmWorkload.hpp b/src/backends/neon/workloads/NeonQLstmWorkload.hpp
index 5da1518a85..ec01919578 100644
--- a/src/backends/neon/workloads/NeonQLstmWorkload.hpp
+++ b/src/backends/neon/workloads/NeonQLstmWorkload.hpp
@@ -7,8 +7,8 @@
#include <armnn/Descriptors.hpp>
#include <armnn/LstmParams.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "arm_compute/graph/Tensor.h"
#include "arm_compute/runtime/NEON/functions/NEQLSTMLayer.h"
diff --git a/src/backends/neon/workloads/NeonQuantizeWorkload.hpp b/src/backends/neon/workloads/NeonQuantizeWorkload.hpp
index 7f5a145371..f0d4a3ccce 100644
--- a/src/backends/neon/workloads/NeonQuantizeWorkload.hpp
+++ b/src/backends/neon/workloads/NeonQuantizeWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/NEON/functions/NEQuantizationLayer.h>
diff --git a/src/backends/neon/workloads/NeonQuantizedLstmWorkload.cpp b/src/backends/neon/workloads/NeonQuantizedLstmWorkload.cpp
index e36fde4d89..6771418af2 100644
--- a/src/backends/neon/workloads/NeonQuantizedLstmWorkload.cpp
+++ b/src/backends/neon/workloads/NeonQuantizedLstmWorkload.cpp
@@ -7,7 +7,7 @@
#include "NeonWorkloadUtils.hpp"
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/NeonTensorHandle.hpp>
namespace armnn
diff --git a/src/backends/neon/workloads/NeonQuantizedLstmWorkload.hpp b/src/backends/neon/workloads/NeonQuantizedLstmWorkload.hpp
index 740cb4a316..9f769841ed 100644
--- a/src/backends/neon/workloads/NeonQuantizedLstmWorkload.hpp
+++ b/src/backends/neon/workloads/NeonQuantizedLstmWorkload.hpp
@@ -6,8 +6,8 @@
#pragma once
#include <armnn/QuantizedLstmParams.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <arm_compute/graph/Tensor.h>
#include <arm_compute/runtime/NEON/functions/NELSTMLayerQuantized.h>
diff --git a/src/backends/neon/workloads/NeonRankWorkload.hpp b/src/backends/neon/workloads/NeonRankWorkload.hpp
index e9c7dab283..b8b83af886 100644
--- a/src/backends/neon/workloads/NeonRankWorkload.hpp
+++ b/src/backends/neon/workloads/NeonRankWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "NeonWorkloadUtils.hpp"
diff --git a/src/backends/neon/workloads/NeonReduceWorkload.hpp b/src/backends/neon/workloads/NeonReduceWorkload.hpp
index ddeac1267c..026cc8b12c 100644
--- a/src/backends/neon/workloads/NeonReduceWorkload.hpp
+++ b/src/backends/neon/workloads/NeonReduceWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/NEON/functions/NEReductionOperation.h>
diff --git a/src/backends/neon/workloads/NeonReshapeWorkload.hpp b/src/backends/neon/workloads/NeonReshapeWorkload.hpp
index 186a02ba26..7c71f1404b 100644
--- a/src/backends/neon/workloads/NeonReshapeWorkload.hpp
+++ b/src/backends/neon/workloads/NeonReshapeWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <neon/workloads/NeonWorkloadUtils.hpp>
#include <armnn/TypesUtils.hpp>
diff --git a/src/backends/neon/workloads/NeonResizeWorkload.cpp b/src/backends/neon/workloads/NeonResizeWorkload.cpp
index ecb43ae740..e21352e28b 100644
--- a/src/backends/neon/workloads/NeonResizeWorkload.cpp
+++ b/src/backends/neon/workloads/NeonResizeWorkload.cpp
@@ -10,7 +10,7 @@
#include <aclCommon/ArmComputeUtils.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/NeonTensorHandle.hpp>
diff --git a/src/backends/neon/workloads/NeonResizeWorkload.hpp b/src/backends/neon/workloads/NeonResizeWorkload.hpp
index 69995c6311..feef7eb781 100644
--- a/src/backends/neon/workloads/NeonResizeWorkload.hpp
+++ b/src/backends/neon/workloads/NeonResizeWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/NEON/functions/NEScale.h>
diff --git a/src/backends/neon/workloads/NeonRsqrtWorkload.hpp b/src/backends/neon/workloads/NeonRsqrtWorkload.hpp
index 6f6031ef77..104a556ef8 100644
--- a/src/backends/neon/workloads/NeonRsqrtWorkload.hpp
+++ b/src/backends/neon/workloads/NeonRsqrtWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NEElementwiseUnaryLayer.h>
diff --git a/src/backends/neon/workloads/NeonSinWorkload.hpp b/src/backends/neon/workloads/NeonSinWorkload.hpp
index 9405c3c734..a1a8965e45 100644
--- a/src/backends/neon/workloads/NeonSinWorkload.hpp
+++ b/src/backends/neon/workloads/NeonSinWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/NEON/functions/NEElementwiseUnaryLayer.h>
diff --git a/src/backends/neon/workloads/NeonSliceWorkload.hpp b/src/backends/neon/workloads/NeonSliceWorkload.hpp
index d1f32a9d7e..303f46f6b1 100644
--- a/src/backends/neon/workloads/NeonSliceWorkload.hpp
+++ b/src/backends/neon/workloads/NeonSliceWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonSoftmaxWorkload.hpp b/src/backends/neon/workloads/NeonSoftmaxWorkload.hpp
index 26081e10fb..747aaba85b 100644
--- a/src/backends/neon/workloads/NeonSoftmaxWorkload.hpp
+++ b/src/backends/neon/workloads/NeonSoftmaxWorkload.hpp
@@ -6,7 +6,7 @@
#pragma once
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonSpaceToBatchNdWorkload.hpp b/src/backends/neon/workloads/NeonSpaceToBatchNdWorkload.hpp
index feb8dba16f..d82b065821 100644
--- a/src/backends/neon/workloads/NeonSpaceToBatchNdWorkload.hpp
+++ b/src/backends/neon/workloads/NeonSpaceToBatchNdWorkload.hpp
@@ -8,7 +8,7 @@
#include <armnn/Tensor.hpp>
#include <armnn/Descriptors.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/NEON/functions/NESpaceToBatchLayer.h>
diff --git a/src/backends/neon/workloads/NeonSpaceToDepthWorkload.hpp b/src/backends/neon/workloads/NeonSpaceToDepthWorkload.hpp
index f2de26b3c6..613eea6863 100644
--- a/src/backends/neon/workloads/NeonSpaceToDepthWorkload.hpp
+++ b/src/backends/neon/workloads/NeonSpaceToDepthWorkload.hpp
@@ -7,7 +7,7 @@
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/NEON/functions/NESpaceToDepthLayer.h>
diff --git a/src/backends/neon/workloads/NeonSplitterWorkload.cpp b/src/backends/neon/workloads/NeonSplitterWorkload.cpp
index ea1def63d6..f5a55d64c2 100644
--- a/src/backends/neon/workloads/NeonSplitterWorkload.cpp
+++ b/src/backends/neon/workloads/NeonSplitterWorkload.cpp
@@ -10,7 +10,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <aclCommon/ArmComputeUtils.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/NeonTensorHandle.hpp>
#include "NeonWorkloadUtils.hpp"
diff --git a/src/backends/neon/workloads/NeonSplitterWorkload.hpp b/src/backends/neon/workloads/NeonSplitterWorkload.hpp
index 66349f947f..88102bc477 100644
--- a/src/backends/neon/workloads/NeonSplitterWorkload.hpp
+++ b/src/backends/neon/workloads/NeonSplitterWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonStackWorkload.cpp b/src/backends/neon/workloads/NeonStackWorkload.cpp
index ad9bea1554..75c57399dd 100644
--- a/src/backends/neon/workloads/NeonStackWorkload.cpp
+++ b/src/backends/neon/workloads/NeonStackWorkload.cpp
@@ -8,7 +8,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <armnn/utility/NumericCast.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/NeonTensorHandle.hpp>
namespace armnn
diff --git a/src/backends/neon/workloads/NeonStackWorkload.hpp b/src/backends/neon/workloads/NeonStackWorkload.hpp
index 24808bfe2d..b4017c6bd3 100644
--- a/src/backends/neon/workloads/NeonStackWorkload.hpp
+++ b/src/backends/neon/workloads/NeonStackWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/NEON/functions/NEStackLayer.h>
diff --git a/src/backends/neon/workloads/NeonStridedSliceWorkload.hpp b/src/backends/neon/workloads/NeonStridedSliceWorkload.hpp
index 458db3f7b4..29c40620d4 100644
--- a/src/backends/neon/workloads/NeonStridedSliceWorkload.hpp
+++ b/src/backends/neon/workloads/NeonStridedSliceWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/runtime/IFunction.h>
diff --git a/src/backends/neon/workloads/NeonSubtractionWorkload.cpp b/src/backends/neon/workloads/NeonSubtractionWorkload.cpp
index 68bf15435f..369d6e0c22 100644
--- a/src/backends/neon/workloads/NeonSubtractionWorkload.cpp
+++ b/src/backends/neon/workloads/NeonSubtractionWorkload.cpp
@@ -12,7 +12,7 @@
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <arm_compute/runtime/NEON/functions/NEArithmeticSubtraction.h>
diff --git a/src/backends/neon/workloads/NeonSubtractionWorkload.hpp b/src/backends/neon/workloads/NeonSubtractionWorkload.hpp
index 19d0811a18..41992dd22a 100644
--- a/src/backends/neon/workloads/NeonSubtractionWorkload.hpp
+++ b/src/backends/neon/workloads/NeonSubtractionWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/core/Error.h>
#include <arm_compute/core/Types.h>
diff --git a/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.cpp b/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.cpp
index f9e1b36306..2b4b513f3d 100644
--- a/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.cpp
+++ b/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.cpp
@@ -13,7 +13,7 @@
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <neon/workloads/NeonWorkloadUtils.hpp>
diff --git a/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.hpp b/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.hpp
index 995495e2ab..1c6ec26bd1 100644
--- a/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.hpp
+++ b/src/backends/neon/workloads/NeonTransposeConvolution2dWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <arm_compute/runtime/IFunction.h>
#include <arm_compute/runtime/Tensor.h>
diff --git a/src/backends/neon/workloads/NeonTransposeWorkload.hpp b/src/backends/neon/workloads/NeonTransposeWorkload.hpp
index aab7b705e3..ae6118f04a 100644
--- a/src/backends/neon/workloads/NeonTransposeWorkload.hpp
+++ b/src/backends/neon/workloads/NeonTransposeWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <neon/workloads/NeonWorkloadUtils.hpp>
#include <armnn/TypesUtils.hpp>
diff --git a/src/backends/neon/workloads/NeonWorkloadUtils.hpp b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
index f51493d383..59be03a707 100644
--- a/src/backends/neon/workloads/NeonWorkloadUtils.hpp
+++ b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
@@ -4,11 +4,11 @@
//
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <neon/NeonTensorHandle.hpp>
#include <neon/NeonTimer.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/Utils.hpp>
diff --git a/src/backends/reference/RefTensorHandle.hpp b/src/backends/reference/RefTensorHandle.hpp
index 3dfc0395df..a3264f55ef 100644
--- a/src/backends/reference/RefTensorHandle.hpp
+++ b/src/backends/reference/RefTensorHandle.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include "RefMemoryManager.hpp"
diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp
index eff301c89f..01e7a3efb1 100644
--- a/src/backends/reference/RefWorkloadFactory.cpp
+++ b/src/backends/reference/RefWorkloadFactory.cpp
@@ -3,10 +3,10 @@
// SPDX-License-Identifier: MIT
//
#include <Layer.hpp>
-#include <backendsCommon/MemCopyWorkload.hpp>
+#include <armnn/backends/MemCopyWorkload.hpp>
#include <backendsCommon/MemImportWorkload.hpp>
#include <backendsCommon/MakeWorkloadHelper.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include "RefWorkloadFactory.hpp"
#include "RefBackendId.hpp"
#include "workloads/RefWorkloads.hpp"
diff --git a/src/backends/reference/RefWorkloadFactory.hpp b/src/backends/reference/RefWorkloadFactory.hpp
index 21dfed92e5..3dfd3d8a7a 100644
--- a/src/backends/reference/RefWorkloadFactory.hpp
+++ b/src/backends/reference/RefWorkloadFactory.hpp
@@ -7,7 +7,7 @@
#include "RefMemoryManager.hpp"
#include <armnn/Optional.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
diff --git a/src/backends/reference/test/RefLayerSupportTests.cpp b/src/backends/reference/test/RefLayerSupportTests.cpp
index f0eb62f12c..833e254406 100644
--- a/src/backends/reference/test/RefLayerSupportTests.cpp
+++ b/src/backends/reference/test/RefLayerSupportTests.cpp
@@ -8,7 +8,7 @@
#include <TensorHelpers.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <reference/RefWorkloadFactory.hpp>
#include <reference/RefLayerSupport.hpp>
#include <backendsCommon/test/LayerTests.hpp>
diff --git a/src/backends/reference/workloads/BatchNormImpl.hpp b/src/backends/reference/workloads/BatchNormImpl.hpp
index 9404dd972b..32f63c3e68 100644
--- a/src/backends/reference/workloads/BatchNormImpl.hpp
+++ b/src/backends/reference/workloads/BatchNormImpl.hpp
@@ -8,7 +8,7 @@
#include "Encoders.hpp"
#include "Decoders.hpp"
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/BatchToSpaceNd.hpp b/src/backends/reference/workloads/BatchToSpaceNd.hpp
index a375aaae52..0fcef58554 100644
--- a/src/backends/reference/workloads/BatchToSpaceNd.hpp
+++ b/src/backends/reference/workloads/BatchToSpaceNd.hpp
@@ -13,8 +13,8 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/Concatenate.hpp b/src/backends/reference/workloads/Concatenate.hpp
index e0264b0aac..be45d620c1 100644
--- a/src/backends/reference/workloads/Concatenate.hpp
+++ b/src/backends/reference/workloads/Concatenate.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <armnn/Tensor.hpp>
namespace armnn
diff --git a/src/backends/reference/workloads/Fill.hpp b/src/backends/reference/workloads/Fill.hpp
index 379eb04458..cd398b06ea 100644
--- a/src/backends/reference/workloads/Fill.hpp
+++ b/src/backends/reference/workloads/Fill.hpp
@@ -9,7 +9,7 @@
#include "Decoders.hpp"
#include "Encoders.hpp"
#include <armnn/Tensor.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/FullyConnected.hpp b/src/backends/reference/workloads/FullyConnected.hpp
index d7881f0b66..2c3885fb54 100644
--- a/src/backends/reference/workloads/FullyConnected.hpp
+++ b/src/backends/reference/workloads/FullyConnected.hpp
@@ -9,7 +9,7 @@
#include "Decoders.hpp"
#include "Encoders.hpp"
#include <armnn/Tensor.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/Gather.cpp b/src/backends/reference/workloads/Gather.cpp
index 03aa2458f5..1624052819 100644
--- a/src/backends/reference/workloads/Gather.cpp
+++ b/src/backends/reference/workloads/Gather.cpp
@@ -7,7 +7,7 @@
#include "RefWorkloadUtils.hpp"
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
#include <armnn/utility/NumericCast.hpp>
diff --git a/src/backends/reference/workloads/InstanceNorm.hpp b/src/backends/reference/workloads/InstanceNorm.hpp
index 6a783732b3..4d043b4d96 100644
--- a/src/backends/reference/workloads/InstanceNorm.hpp
+++ b/src/backends/reference/workloads/InstanceNorm.hpp
@@ -8,7 +8,7 @@
#include "Encoders.hpp"
#include "Decoders.hpp"
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/Lstm.hpp b/src/backends/reference/workloads/Lstm.hpp
index 7d0a1d436e..7c8fb76895 100644
--- a/src/backends/reference/workloads/Lstm.hpp
+++ b/src/backends/reference/workloads/Lstm.hpp
@@ -6,7 +6,7 @@
#pragma once
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "Encoders.hpp"
#include "Decoders.hpp"
diff --git a/src/backends/reference/workloads/LstmUtils.cpp b/src/backends/reference/workloads/LstmUtils.cpp
index 8e1db0e88f..9d9b1a0a41 100644
--- a/src/backends/reference/workloads/LstmUtils.cpp
+++ b/src/backends/reference/workloads/LstmUtils.cpp
@@ -7,7 +7,7 @@
#include "LstmUtils.hpp"
#include "BaseIterator.hpp"
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
// Helper functions ported from the Android code base
diff --git a/src/backends/reference/workloads/LstmUtils.hpp b/src/backends/reference/workloads/LstmUtils.hpp
index 11fbb77c5d..7f06012cd7 100644
--- a/src/backends/reference/workloads/LstmUtils.hpp
+++ b/src/backends/reference/workloads/LstmUtils.hpp
@@ -6,7 +6,7 @@
#pragma once
#include "BaseIterator.hpp"
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
// Helper functions ported from the Android code base
// Refer to: android/external/tensorflow/tensorflow/contrib/lite/kernels/internal/reference/portable_tensor_utils.cc
diff --git a/src/backends/reference/workloads/MirrorPad.hpp b/src/backends/reference/workloads/MirrorPad.hpp
index 3deaf1d5fd..f28e408166 100644
--- a/src/backends/reference/workloads/MirrorPad.hpp
+++ b/src/backends/reference/workloads/MirrorPad.hpp
@@ -7,8 +7,8 @@
#include "armnn/Tensor.hpp"
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/Pad.hpp b/src/backends/reference/workloads/Pad.hpp
index 65f64dffed..ff2c5f8743 100644
--- a/src/backends/reference/workloads/Pad.hpp
+++ b/src/backends/reference/workloads/Pad.hpp
@@ -7,8 +7,8 @@
#include "armnn/Tensor.hpp"
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/PreluImpl.hpp b/src/backends/reference/workloads/PreluImpl.hpp
index 0b3d3b08e5..53d786c005 100644
--- a/src/backends/reference/workloads/PreluImpl.hpp
+++ b/src/backends/reference/workloads/PreluImpl.hpp
@@ -8,7 +8,7 @@
#include "Encoders.hpp"
#include "Decoders.hpp"
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/Reduce.cpp b/src/backends/reference/workloads/Reduce.cpp
index 3f929c43bc..8b28a61388 100644
--- a/src/backends/reference/workloads/Reduce.cpp
+++ b/src/backends/reference/workloads/Reduce.cpp
@@ -7,7 +7,7 @@
#include <armnn/utility/NumericCast.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <cstddef>
#include <functional>
diff --git a/src/backends/reference/workloads/RefActivationWorkload.hpp b/src/backends/reference/workloads/RefActivationWorkload.hpp
index 429fb60aaa..e3bd8706a4 100644
--- a/src/backends/reference/workloads/RefActivationWorkload.hpp
+++ b/src/backends/reference/workloads/RefActivationWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefArgMinMaxWorkload.hpp b/src/backends/reference/workloads/RefArgMinMaxWorkload.hpp
index df9ebcab0b..f3c264469b 100644
--- a/src/backends/reference/workloads/RefArgMinMaxWorkload.hpp
+++ b/src/backends/reference/workloads/RefArgMinMaxWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefBatchNormalizationWorkload.hpp b/src/backends/reference/workloads/RefBatchNormalizationWorkload.hpp
index 6fe05fd192..305c0ce573 100644
--- a/src/backends/reference/workloads/RefBatchNormalizationWorkload.hpp
+++ b/src/backends/reference/workloads/RefBatchNormalizationWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefBatchToSpaceNdWorkload.hpp b/src/backends/reference/workloads/RefBatchToSpaceNdWorkload.hpp
index 07c800da83..7d18c12476 100644
--- a/src/backends/reference/workloads/RefBatchToSpaceNdWorkload.hpp
+++ b/src/backends/reference/workloads/RefBatchToSpaceNdWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn {
diff --git a/src/backends/reference/workloads/RefCastWorkload.hpp b/src/backends/reference/workloads/RefCastWorkload.hpp
index 870fb410ac..ccafaafac9 100644
--- a/src/backends/reference/workloads/RefCastWorkload.hpp
+++ b/src/backends/reference/workloads/RefCastWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "RefWorkloadUtils.hpp"
namespace armnn
diff --git a/src/backends/reference/workloads/RefChannelShuffleWorkload.hpp b/src/backends/reference/workloads/RefChannelShuffleWorkload.hpp
index 0e4c4546fc..0c8037823a 100644
--- a/src/backends/reference/workloads/RefChannelShuffleWorkload.hpp
+++ b/src/backends/reference/workloads/RefChannelShuffleWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefComparisonWorkload.hpp b/src/backends/reference/workloads/RefComparisonWorkload.hpp
index de0144ca15..f2780c7ae5 100644
--- a/src/backends/reference/workloads/RefComparisonWorkload.hpp
+++ b/src/backends/reference/workloads/RefComparisonWorkload.hpp
@@ -7,8 +7,8 @@
#include "BaseIterator.hpp"
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefConcatWorkload.hpp b/src/backends/reference/workloads/RefConcatWorkload.hpp
index f4e1aa85f2..cb1ecf06a7 100644
--- a/src/backends/reference/workloads/RefConcatWorkload.hpp
+++ b/src/backends/reference/workloads/RefConcatWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefConstantWorkload.hpp b/src/backends/reference/workloads/RefConstantWorkload.hpp
index 9af5903329..c158983d7a 100644
--- a/src/backends/reference/workloads/RefConstantWorkload.hpp
+++ b/src/backends/reference/workloads/RefConstantWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <armnn/Types.hpp>
diff --git a/src/backends/reference/workloads/RefConvertBf16ToFp32Workload.hpp b/src/backends/reference/workloads/RefConvertBf16ToFp32Workload.hpp
index 90613621b4..b3af111fa3 100644
--- a/src/backends/reference/workloads/RefConvertBf16ToFp32Workload.hpp
+++ b/src/backends/reference/workloads/RefConvertBf16ToFp32Workload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefConvertFp16ToFp32Workload.hpp b/src/backends/reference/workloads/RefConvertFp16ToFp32Workload.hpp
index 99ab9e9934..acb1995b9f 100644
--- a/src/backends/reference/workloads/RefConvertFp16ToFp32Workload.hpp
+++ b/src/backends/reference/workloads/RefConvertFp16ToFp32Workload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefConvertFp32ToBf16Workload.hpp b/src/backends/reference/workloads/RefConvertFp32ToBf16Workload.hpp
index 694032c8e6..97a138f49c 100644
--- a/src/backends/reference/workloads/RefConvertFp32ToBf16Workload.hpp
+++ b/src/backends/reference/workloads/RefConvertFp32ToBf16Workload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefConvertFp32ToFp16Workload.hpp b/src/backends/reference/workloads/RefConvertFp32ToFp16Workload.hpp
index f1daa54436..8cc822e7d8 100644
--- a/src/backends/reference/workloads/RefConvertFp32ToFp16Workload.hpp
+++ b/src/backends/reference/workloads/RefConvertFp32ToFp16Workload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefConvolution2dWorkload.hpp b/src/backends/reference/workloads/RefConvolution2dWorkload.hpp
index 3b2c76ade0..880547dc33 100644
--- a/src/backends/reference/workloads/RefConvolution2dWorkload.hpp
+++ b/src/backends/reference/workloads/RefConvolution2dWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "Decoders.hpp"
#include "Encoders.hpp"
diff --git a/src/backends/reference/workloads/RefConvolution3dWorkload.hpp b/src/backends/reference/workloads/RefConvolution3dWorkload.hpp
index 4d97512095..53ce309eb8 100644
--- a/src/backends/reference/workloads/RefConvolution3dWorkload.hpp
+++ b/src/backends/reference/workloads/RefConvolution3dWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "Decoders.hpp"
#include "Encoders.hpp"
diff --git a/src/backends/reference/workloads/RefDebugWorkload.hpp b/src/backends/reference/workloads/RefDebugWorkload.hpp
index d0c47dd829..66af9a0b0f 100644
--- a/src/backends/reference/workloads/RefDebugWorkload.hpp
+++ b/src/backends/reference/workloads/RefDebugWorkload.hpp
@@ -7,7 +7,7 @@
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefDepthToSpaceWorkload.hpp b/src/backends/reference/workloads/RefDepthToSpaceWorkload.hpp
index ec260a92f7..854a564062 100644
--- a/src/backends/reference/workloads/RefDepthToSpaceWorkload.hpp
+++ b/src/backends/reference/workloads/RefDepthToSpaceWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefDepthwiseConvolution2dWorkload.hpp b/src/backends/reference/workloads/RefDepthwiseConvolution2dWorkload.hpp
index 62289ca34f..ae93d03656 100644
--- a/src/backends/reference/workloads/RefDepthwiseConvolution2dWorkload.hpp
+++ b/src/backends/reference/workloads/RefDepthwiseConvolution2dWorkload.hpp
@@ -2,8 +2,8 @@
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "Decoders.hpp"
#include "Encoders.hpp"
diff --git a/src/backends/reference/workloads/RefDequantizeWorkload.hpp b/src/backends/reference/workloads/RefDequantizeWorkload.hpp
index 922d57c556..285c6496bb 100644
--- a/src/backends/reference/workloads/RefDequantizeWorkload.hpp
+++ b/src/backends/reference/workloads/RefDequantizeWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefDetectionPostProcessWorkload.hpp b/src/backends/reference/workloads/RefDetectionPostProcessWorkload.hpp
index 920db96603..4c3ad42b0f 100644
--- a/src/backends/reference/workloads/RefDetectionPostProcessWorkload.hpp
+++ b/src/backends/reference/workloads/RefDetectionPostProcessWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefElementwiseUnaryWorkload.hpp b/src/backends/reference/workloads/RefElementwiseUnaryWorkload.hpp
index d05347bbe5..e055fd012c 100644
--- a/src/backends/reference/workloads/RefElementwiseUnaryWorkload.hpp
+++ b/src/backends/reference/workloads/RefElementwiseUnaryWorkload.hpp
@@ -7,8 +7,8 @@
#include "BaseIterator.hpp"
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefElementwiseWorkload.hpp b/src/backends/reference/workloads/RefElementwiseWorkload.hpp
index 4dc4b5ba5a..4b108e4363 100644
--- a/src/backends/reference/workloads/RefElementwiseWorkload.hpp
+++ b/src/backends/reference/workloads/RefElementwiseWorkload.hpp
@@ -6,8 +6,8 @@
#pragma once
#include <armnn/Types.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "BaseIterator.hpp"
#include "ElementwiseFunction.hpp"
#include "Maximum.hpp"
diff --git a/src/backends/reference/workloads/RefFakeQuantizationFloat32Workload.hpp b/src/backends/reference/workloads/RefFakeQuantizationFloat32Workload.hpp
index 8f6cabb3fe..53b3375a50 100644
--- a/src/backends/reference/workloads/RefFakeQuantizationFloat32Workload.hpp
+++ b/src/backends/reference/workloads/RefFakeQuantizationFloat32Workload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefFillWorkload.hpp b/src/backends/reference/workloads/RefFillWorkload.hpp
index e92514d865..56d44b85f7 100644
--- a/src/backends/reference/workloads/RefFillWorkload.hpp
+++ b/src/backends/reference/workloads/RefFillWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefFloorWorkload.hpp b/src/backends/reference/workloads/RefFloorWorkload.hpp
index 28b2695c82..1a532f7a49 100644
--- a/src/backends/reference/workloads/RefFloorWorkload.hpp
+++ b/src/backends/reference/workloads/RefFloorWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefFullyConnectedWorkload.hpp b/src/backends/reference/workloads/RefFullyConnectedWorkload.hpp
index 6a4e5126cd..3ee4a4a83c 100644
--- a/src/backends/reference/workloads/RefFullyConnectedWorkload.hpp
+++ b/src/backends/reference/workloads/RefFullyConnectedWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "BaseIterator.hpp"
#include "Decoders.hpp"
#include "Encoders.hpp"
diff --git a/src/backends/reference/workloads/RefGatherWorkload.hpp b/src/backends/reference/workloads/RefGatherWorkload.hpp
index 1664e1611d..a2698e3a25 100644
--- a/src/backends/reference/workloads/RefGatherWorkload.hpp
+++ b/src/backends/reference/workloads/RefGatherWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <armnn/TypesUtils.hpp>
#include "BaseIterator.hpp"
diff --git a/src/backends/reference/workloads/RefInstanceNormalizationWorkload.hpp b/src/backends/reference/workloads/RefInstanceNormalizationWorkload.hpp
index e366ddb05b..3283c444d2 100644
--- a/src/backends/reference/workloads/RefInstanceNormalizationWorkload.hpp
+++ b/src/backends/reference/workloads/RefInstanceNormalizationWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefL2NormalizationWorkload.hpp b/src/backends/reference/workloads/RefL2NormalizationWorkload.hpp
index c17767b943..dd129c663e 100644
--- a/src/backends/reference/workloads/RefL2NormalizationWorkload.hpp
+++ b/src/backends/reference/workloads/RefL2NormalizationWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefLogSoftmaxWorkload.hpp b/src/backends/reference/workloads/RefLogSoftmaxWorkload.hpp
index c5d5d5b0c9..9f87def1bd 100644
--- a/src/backends/reference/workloads/RefLogSoftmaxWorkload.hpp
+++ b/src/backends/reference/workloads/RefLogSoftmaxWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefLogicalBinaryWorkload.hpp b/src/backends/reference/workloads/RefLogicalBinaryWorkload.hpp
index d79a3039c7..053de7daf9 100644
--- a/src/backends/reference/workloads/RefLogicalBinaryWorkload.hpp
+++ b/src/backends/reference/workloads/RefLogicalBinaryWorkload.hpp
@@ -7,8 +7,8 @@
#include "BaseIterator.hpp"
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefLogicalUnaryWorkload.hpp b/src/backends/reference/workloads/RefLogicalUnaryWorkload.hpp
index 117f16836d..008d24fef8 100644
--- a/src/backends/reference/workloads/RefLogicalUnaryWorkload.hpp
+++ b/src/backends/reference/workloads/RefLogicalUnaryWorkload.hpp
@@ -7,8 +7,8 @@
#include "BaseIterator.hpp"
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefLstmWorkload.hpp b/src/backends/reference/workloads/RefLstmWorkload.hpp
index 6feffbcb00..72f6360281 100644
--- a/src/backends/reference/workloads/RefLstmWorkload.hpp
+++ b/src/backends/reference/workloads/RefLstmWorkload.hpp
@@ -7,8 +7,8 @@
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefMeanWorkload.hpp b/src/backends/reference/workloads/RefMeanWorkload.hpp
index b5a9ed812f..2825d669c4 100644
--- a/src/backends/reference/workloads/RefMeanWorkload.hpp
+++ b/src/backends/reference/workloads/RefMeanWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "Decoders.hpp"
#include "Encoders.hpp"
diff --git a/src/backends/reference/workloads/RefNormalizationWorkload.hpp b/src/backends/reference/workloads/RefNormalizationWorkload.hpp
index 59170b8a80..b152072496 100644
--- a/src/backends/reference/workloads/RefNormalizationWorkload.hpp
+++ b/src/backends/reference/workloads/RefNormalizationWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefPadWorkload.hpp b/src/backends/reference/workloads/RefPadWorkload.hpp
index afc620383f..18c406a4de 100644
--- a/src/backends/reference/workloads/RefPadWorkload.hpp
+++ b/src/backends/reference/workloads/RefPadWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefPermuteWorkload.hpp b/src/backends/reference/workloads/RefPermuteWorkload.hpp
index 94f633423a..9424441c37 100644
--- a/src/backends/reference/workloads/RefPermuteWorkload.hpp
+++ b/src/backends/reference/workloads/RefPermuteWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <armnn/TypesUtils.hpp>
diff --git a/src/backends/reference/workloads/RefPooling2dWorkload.hpp b/src/backends/reference/workloads/RefPooling2dWorkload.hpp
index 3495d6b68d..125fea8d4e 100644
--- a/src/backends/reference/workloads/RefPooling2dWorkload.hpp
+++ b/src/backends/reference/workloads/RefPooling2dWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "Decoders.hpp"
#include "Encoders.hpp"
diff --git a/src/backends/reference/workloads/RefPooling3dWorkload.hpp b/src/backends/reference/workloads/RefPooling3dWorkload.hpp
index 1188af23ca..911c438627 100644
--- a/src/backends/reference/workloads/RefPooling3dWorkload.hpp
+++ b/src/backends/reference/workloads/RefPooling3dWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "Decoders.hpp"
#include "Encoders.hpp"
diff --git a/src/backends/reference/workloads/RefPreluWorkload.hpp b/src/backends/reference/workloads/RefPreluWorkload.hpp
index 4fe5704711..b5c97dfa90 100644
--- a/src/backends/reference/workloads/RefPreluWorkload.hpp
+++ b/src/backends/reference/workloads/RefPreluWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefQLstmWorkload.hpp b/src/backends/reference/workloads/RefQLstmWorkload.hpp
index 0aa7e10bbf..093cfd16af 100644
--- a/src/backends/reference/workloads/RefQLstmWorkload.hpp
+++ b/src/backends/reference/workloads/RefQLstmWorkload.hpp
@@ -7,8 +7,8 @@
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefQuantizeWorkload.hpp b/src/backends/reference/workloads/RefQuantizeWorkload.hpp
index 48116e7b39..a32efa7dd7 100644
--- a/src/backends/reference/workloads/RefQuantizeWorkload.hpp
+++ b/src/backends/reference/workloads/RefQuantizeWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "Decoders.hpp"
#include "Encoders.hpp"
diff --git a/src/backends/reference/workloads/RefRankWorkload.hpp b/src/backends/reference/workloads/RefRankWorkload.hpp
index 288dddd21d..e1f30c5ba5 100644
--- a/src/backends/reference/workloads/RefRankWorkload.hpp
+++ b/src/backends/reference/workloads/RefRankWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "RefWorkloadUtils.hpp"
diff --git a/src/backends/reference/workloads/RefReduceWorkload.hpp b/src/backends/reference/workloads/RefReduceWorkload.hpp
index d45161c692..d2280cc660 100644
--- a/src/backends/reference/workloads/RefReduceWorkload.hpp
+++ b/src/backends/reference/workloads/RefReduceWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefReshapeWorkload.hpp b/src/backends/reference/workloads/RefReshapeWorkload.hpp
index 2b6cf43c72..26a86c1d11 100644
--- a/src/backends/reference/workloads/RefReshapeWorkload.hpp
+++ b/src/backends/reference/workloads/RefReshapeWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefResizeWorkload.hpp b/src/backends/reference/workloads/RefResizeWorkload.hpp
index f58eadc9af..82949ed639 100644
--- a/src/backends/reference/workloads/RefResizeWorkload.hpp
+++ b/src/backends/reference/workloads/RefResizeWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefShapeWorkload.hpp b/src/backends/reference/workloads/RefShapeWorkload.hpp
index 8e2a410b0c..209cccda68 100644
--- a/src/backends/reference/workloads/RefShapeWorkload.hpp
+++ b/src/backends/reference/workloads/RefShapeWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "RefWorkloadUtils.hpp"
diff --git a/src/backends/reference/workloads/RefSliceWorkload.hpp b/src/backends/reference/workloads/RefSliceWorkload.hpp
index 8a1db8e5a7..69dae5a1aa 100644
--- a/src/backends/reference/workloads/RefSliceWorkload.hpp
+++ b/src/backends/reference/workloads/RefSliceWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefSoftmaxWorkload.hpp b/src/backends/reference/workloads/RefSoftmaxWorkload.hpp
index 6e62369880..42dbb53373 100644
--- a/src/backends/reference/workloads/RefSoftmaxWorkload.hpp
+++ b/src/backends/reference/workloads/RefSoftmaxWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefSpaceToBatchNdWorkload.hpp b/src/backends/reference/workloads/RefSpaceToBatchNdWorkload.hpp
index 82ddb32a44..ec764c75bb 100644
--- a/src/backends/reference/workloads/RefSpaceToBatchNdWorkload.hpp
+++ b/src/backends/reference/workloads/RefSpaceToBatchNdWorkload.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <armnn/TypesUtils.hpp>
diff --git a/src/backends/reference/workloads/RefSpaceToDepthWorkload.hpp b/src/backends/reference/workloads/RefSpaceToDepthWorkload.hpp
index d8f44b7995..bc71fde20d 100644
--- a/src/backends/reference/workloads/RefSpaceToDepthWorkload.hpp
+++ b/src/backends/reference/workloads/RefSpaceToDepthWorkload.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <armnn/TypesUtils.hpp>
diff --git a/src/backends/reference/workloads/RefSplitterWorkload.hpp b/src/backends/reference/workloads/RefSplitterWorkload.hpp
index 99b5ff6911..28dc83db36 100644
--- a/src/backends/reference/workloads/RefSplitterWorkload.hpp
+++ b/src/backends/reference/workloads/RefSplitterWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "Decoders.hpp"
#include "Encoders.hpp"
diff --git a/src/backends/reference/workloads/RefStackWorkload.hpp b/src/backends/reference/workloads/RefStackWorkload.hpp
index 4276339a8f..fbca11b2fa 100644
--- a/src/backends/reference/workloads/RefStackWorkload.hpp
+++ b/src/backends/reference/workloads/RefStackWorkload.hpp
@@ -5,8 +5,8 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefStridedSliceWorkload.hpp b/src/backends/reference/workloads/RefStridedSliceWorkload.hpp
index 38613e2779..d2ffca7414 100644
--- a/src/backends/reference/workloads/RefStridedSliceWorkload.hpp
+++ b/src/backends/reference/workloads/RefStridedSliceWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefTransposeConvolution2dWorkload.hpp b/src/backends/reference/workloads/RefTransposeConvolution2dWorkload.hpp
index 997ccbfe12..aa2546f420 100644
--- a/src/backends/reference/workloads/RefTransposeConvolution2dWorkload.hpp
+++ b/src/backends/reference/workloads/RefTransposeConvolution2dWorkload.hpp
@@ -8,8 +8,8 @@
#include "Decoders.hpp"
#include "Encoders.hpp"
-#include <backendsCommon/TensorHandle.hpp>
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/TensorHandle.hpp>
+#include <armnn/backends/Workload.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefTransposeWorkload.hpp b/src/backends/reference/workloads/RefTransposeWorkload.hpp
index 08ba74facc..bf59de7813 100644
--- a/src/backends/reference/workloads/RefTransposeWorkload.hpp
+++ b/src/backends/reference/workloads/RefTransposeWorkload.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/Workload.hpp>
+#include <armnn/backends/Workload.hpp>
#include <armnn/TypesUtils.hpp>
diff --git a/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.hpp b/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.hpp
index 8ba7bdc0c6..d0c000f20d 100644
--- a/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.hpp
+++ b/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.hpp
@@ -7,8 +7,8 @@
#include <armnn/TypesUtils.hpp>
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include "Encoders.hpp"
#include "Decoders.hpp"
diff --git a/src/backends/reference/workloads/RefWorkloadUtils.hpp b/src/backends/reference/workloads/RefWorkloadUtils.hpp
index 3659617b7f..e50847fee5 100644
--- a/src/backends/reference/workloads/RefWorkloadUtils.hpp
+++ b/src/backends/reference/workloads/RefWorkloadUtils.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include <armnn/Tensor.hpp>
#include <armnn/Types.hpp>
diff --git a/src/backends/reference/workloads/Splitter.cpp b/src/backends/reference/workloads/Splitter.cpp
index ed6d2b8fd8..695ae8a088 100644
--- a/src/backends/reference/workloads/Splitter.cpp
+++ b/src/backends/reference/workloads/Splitter.cpp
@@ -4,7 +4,7 @@
//
#include "RefWorkloadUtils.hpp"
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <armnn/Tensor.hpp>
#include <armnn/utility/Assert.hpp>
#include "Splitter.hpp"
diff --git a/src/backends/reference/workloads/Splitter.hpp b/src/backends/reference/workloads/Splitter.hpp
index e38a054650..730b071497 100644
--- a/src/backends/reference/workloads/Splitter.hpp
+++ b/src/backends/reference/workloads/Splitter.hpp
@@ -6,7 +6,7 @@
#pragma once
#include "RefWorkloadUtils.hpp"
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
#include <armnn/Tensor.hpp>
#include <armnn/utility/Assert.hpp>
diff --git a/src/backends/reference/workloads/Stack.hpp b/src/backends/reference/workloads/Stack.hpp
index 2f02a4c644..2a89f2869d 100644
--- a/src/backends/reference/workloads/Stack.hpp
+++ b/src/backends/reference/workloads/Stack.hpp
@@ -8,7 +8,7 @@
#include "Encoders.hpp"
#include "Decoders.hpp"
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace armnn
{
diff --git a/src/dynamic/sample/SampleDynamicAdditionWorkload.hpp b/src/dynamic/sample/SampleDynamicAdditionWorkload.hpp
index f425ab6c6b..09e4ceb4fb 100644
--- a/src/dynamic/sample/SampleDynamicAdditionWorkload.hpp
+++ b/src/dynamic/sample/SampleDynamicAdditionWorkload.hpp
@@ -4,8 +4,8 @@
//
#pragma once
-#include <backendsCommon/Workload.hpp>
-#include <backendsCommon/WorkloadData.hpp>
+#include <armnn/backends/Workload.hpp>
+#include <armnn/backends/WorkloadData.hpp>
namespace sdb // sample dynamic backend
{
diff --git a/src/dynamic/sample/SampleDynamicWorkloadFactory.cpp b/src/dynamic/sample/SampleDynamicWorkloadFactory.cpp
index 227190cb1b..8796716c98 100644
--- a/src/dynamic/sample/SampleDynamicWorkloadFactory.cpp
+++ b/src/dynamic/sample/SampleDynamicWorkloadFactory.cpp
@@ -3,8 +3,8 @@
// SPDX-License-Identifier: MIT
//
-#include <backendsCommon/MemCopyWorkload.hpp>
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/MemCopyWorkload.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include "SampleDynamicAdditionWorkload.hpp"
#include "SampleDynamicBackend.hpp"
diff --git a/src/dynamic/sample/SampleDynamicWorkloadFactory.hpp b/src/dynamic/sample/SampleDynamicWorkloadFactory.hpp
index 4a2b657f5d..a5a31e5d6e 100644
--- a/src/dynamic/sample/SampleDynamicWorkloadFactory.hpp
+++ b/src/dynamic/sample/SampleDynamicWorkloadFactory.hpp
@@ -7,7 +7,7 @@
#include "SampleMemoryManager.hpp"
#include <armnn/Optional.hpp>
-#include <backendsCommon/WorkloadFactory.hpp>
+#include <armnn/backends/WorkloadFactory.hpp>
namespace sdb // sample dynamic backend
{
diff --git a/src/dynamic/sample/SampleTensorHandle.hpp b/src/dynamic/sample/SampleTensorHandle.hpp
index dce98cfc0b..30aa155be6 100644
--- a/src/dynamic/sample/SampleTensorHandle.hpp
+++ b/src/dynamic/sample/SampleTensorHandle.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include <backendsCommon/TensorHandle.hpp>
+#include <armnn/backends/TensorHandle.hpp>
#include "SampleMemoryManager.hpp"