aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Beck <david.beck@arm.com>2018-09-24 10:46:38 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-10 16:16:57 +0100
commit711fa31d5d43b904d28bcd407cd7e921529a37ca (patch)
tree729e74dc8681a8a8ac108bf349637ebbce00ba76
parent5662c206864df4121eea29c541c24c0f62113809 (diff)
downloadarmnn-711fa31d5d43b904d28bcd407cd7e921529a37ca.tar.gz
IVGCVSW-1921: move common Acl code to a separate folder
Change-Id: I400be8e7c0cc5a31eb9d2a7396da145d50d51b6e
-rw-r--r--Android.mk2
-rw-r--r--src/backends/CMakeLists.txt9
-rw-r--r--src/backends/ClTensorHandle.hpp2
-rw-r--r--src/backends/ClWorkloads/ClActivationFloatWorkload.cpp4
-rw-r--r--src/backends/ClWorkloads/ClActivationUint8Workload.cpp8
-rw-r--r--src/backends/ClWorkloads/ClAdditionWorkload.cpp6
-rw-r--r--src/backends/ClWorkloads/ClBaseConstantWorkload.cpp8
-rw-r--r--src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp8
-rw-r--r--src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp8
-rw-r--r--src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp8
-rw-r--r--src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp8
-rw-r--r--src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp8
-rw-r--r--src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp10
-rw-r--r--src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp6
-rw-r--r--src/backends/ClWorkloads/ClLstmFloatWorkload.cpp8
-rw-r--r--src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp10
-rw-r--r--src/backends/ClWorkloads/ClPermuteWorkload.cpp4
-rw-r--r--src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp8
-rw-r--r--src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp8
-rw-r--r--src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp2
-rw-r--r--src/backends/ClWorkloads/ClSubtractionWorkload.cpp6
-rw-r--r--src/backends/ClWorkloads/ClWorkloadUtils.hpp4
-rw-r--r--src/backends/NeonTensorHandle.hpp2
-rw-r--r--src/backends/NeonWorkloadUtils.cpp16
-rw-r--r--src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp2
-rw-r--r--src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp4
-rw-r--r--src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp4
-rw-r--r--src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp3
-rw-r--r--src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp6
-rw-r--r--src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp10
-rw-r--r--src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp12
-rw-r--r--src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp6
-rw-r--r--src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp2
-rw-r--r--src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp7
-rw-r--r--src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp7
-rw-r--r--src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp6
-rw-r--r--src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp2
-rw-r--r--src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp6
-rw-r--r--src/backends/NeonWorkloads/NeonPermuteWorkload.cpp4
-rw-r--r--src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp8
-rw-r--r--src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp2
-rw-r--r--src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp4
-rw-r--r--src/backends/aclCommon/ArmComputeTensorUtils.cpp (renamed from src/backends/ArmComputeTensorUtils.cpp)4
-rw-r--r--src/backends/aclCommon/ArmComputeTensorUtils.hpp (renamed from src/backends/ArmComputeTensorUtils.hpp)0
-rw-r--r--src/backends/aclCommon/ArmComputeUtils.hpp (renamed from src/backends/ArmComputeUtils.hpp)0
-rw-r--r--src/backends/aclCommon/CMakeLists.txt15
-rw-r--r--src/backends/aclCommon/common.cmake9
-rw-r--r--src/backends/backends.cmake6
-rw-r--r--src/backends/test/LayerTests.cpp10
-rw-r--r--src/backends/test/MemCopyTests.cpp12
-rw-r--r--src/backends/test/TensorCopyUtils.cpp2
51 files changed, 165 insertions, 151 deletions
diff --git a/Android.mk b/Android.mk
index 092464824c..3b8e911719 100644
--- a/Android.mk
+++ b/Android.mk
@@ -63,7 +63,7 @@ LOCAL_SRC_FILES := \
src/armnnUtils/FloatingPointConverter.cpp \
src/armnnUtils/Logging.cpp \
src/armnnUtils/Permute.cpp \
- src/backends/ArmComputeTensorUtils.cpp \
+ src/backends/aclCommon/ArmComputeTensorUtils.cpp \
src/backends/ClWorkloadFactory.cpp \
src/backends/ClContextControl.cpp \
src/backends/CpuTensorHandle.cpp \
diff --git a/src/backends/CMakeLists.txt b/src/backends/CMakeLists.txt
index 4a949c04f7..5503a9dc5a 100644
--- a/src/backends/CMakeLists.txt
+++ b/src/backends/CMakeLists.txt
@@ -43,15 +43,6 @@ list(APPEND armnnBackendsCommon_sources
WorkloadUtils.hpp
)
-if(ARMCOMPUTENEON OR ARMCOMPUTECL)
- # Files shared by all ARM Compute backends
- list(APPEND armnnBackendsCommon_sources
- ArmComputeTensorUtils.hpp
- ArmComputeTensorUtils.cpp
- ArmComputeUtils.hpp
- )
-endif()
-
if(ARMCOMPUTENEON)
# Additionally include source files for ARM Compute NEON backend
list(APPEND armnnBackendsCommon_sources
diff --git a/src/backends/ClTensorHandle.hpp b/src/backends/ClTensorHandle.hpp
index e3d7b5b491..a4e72c14e4 100644
--- a/src/backends/ClTensorHandle.hpp
+++ b/src/backends/ClTensorHandle.hpp
@@ -5,7 +5,7 @@
#pragma once
#include "OutputHandler.hpp"
-#include "ArmComputeTensorUtils.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <arm_compute/runtime/CL/CLTensor.h>
#include <arm_compute/runtime/CL/CLSubTensor.h>
diff --git a/src/backends/ClWorkloads/ClActivationFloatWorkload.cpp b/src/backends/ClWorkloads/ClActivationFloatWorkload.cpp
index 97078bddd8..10eef66ef2 100644
--- a/src/backends/ClWorkloads/ClActivationFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClActivationFloatWorkload.cpp
@@ -4,8 +4,8 @@
//
#include "ClActivationFloatWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/ArmComputeUtils.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/ClWorkloads/ClActivationUint8Workload.cpp b/src/backends/ClWorkloads/ClActivationUint8Workload.cpp
index f39c856aa9..f41a97ae24 100644
--- a/src/backends/ClWorkloads/ClActivationUint8Workload.cpp
+++ b/src/backends/ClWorkloads/ClActivationUint8Workload.cpp
@@ -4,11 +4,11 @@
//
#include "ClActivationUint8Workload.hpp"
-#include "backends/ClLayerSupport.hpp"
+#include <backends/ClLayerSupport.hpp>
-#include "backends/ArmComputeUtils.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
+#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/ClWorkloads/ClAdditionWorkload.cpp b/src/backends/ClWorkloads/ClAdditionWorkload.cpp
index dd439d59a9..f43d3c126a 100644
--- a/src/backends/ClWorkloads/ClAdditionWorkload.cpp
+++ b/src/backends/ClWorkloads/ClAdditionWorkload.cpp
@@ -5,9 +5,9 @@
#include "ClAdditionWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/ClWorkloads/ClBaseConstantWorkload.cpp b/src/backends/ClWorkloads/ClBaseConstantWorkload.cpp
index 97ddfd6352..56af3b3baa 100644
--- a/src/backends/ClWorkloads/ClBaseConstantWorkload.cpp
+++ b/src/backends/ClWorkloads/ClBaseConstantWorkload.cpp
@@ -4,10 +4,10 @@
//
#include "ClBaseConstantWorkload.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "Half.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <Half.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
index d05349b819..4d5c20f9bd 100644
--- a/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
@@ -4,10 +4,10 @@
//
#include "ClBatchNormalizationFloatWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/ClLayerSupport.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/ClLayerSupport.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
index 110a2dab3a..1f5094e143 100644
--- a/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
+++ b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
@@ -4,10 +4,10 @@
//
#include "ClConvolution2dBaseWorkload.hpp"
-#include "backends/ClLayerSupport.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/ArmComputeUtils.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/ClLayerSupport.hpp>
+#include <backends/ClTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <arm_compute/runtime/CL/functions/CLConvolutionLayer.h>
diff --git a/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
index 3da6fa7d8f..72565966b8 100644
--- a/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
@@ -4,10 +4,10 @@
//
#include "ClConvolution2dFloatWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/ClLayerSupport.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/ClLayerSupport.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
index 3949a74c96..a9faec0d77 100644
--- a/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
+++ b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
@@ -4,10 +4,10 @@
//
#include "ClConvolution2dUint8Workload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/ClLayerSupport.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/ClLayerSupport.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp b/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp
index 0e89a68118..68f9cd6733 100644
--- a/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp
+++ b/src/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.cpp
@@ -7,10 +7,10 @@
#include "TypeUtils.hpp"
-#include "backends/ArmComputeUtils.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
+#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
namespace armnn
{
diff --git a/src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp b/src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
index 4686d1c8ee..1ec39926ad 100644
--- a/src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
+++ b/src/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
@@ -4,11 +4,11 @@
//
#include "ClFullyConnectedWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/ArmComputeUtils.hpp"
-#include "backends/ClLayerSupport.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/ClLayerSupport.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
index 4ccaae3430..8f5ed5feca 100644
--- a/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
@@ -4,9 +4,9 @@
//
#include "ClL2NormalizationFloatWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeUtils.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/ClWorkloads/ClLstmFloatWorkload.cpp b/src/backends/ClWorkloads/ClLstmFloatWorkload.cpp
index 8e2c875bab..9e2563a3a5 100644
--- a/src/backends/ClWorkloads/ClLstmFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClLstmFloatWorkload.cpp
@@ -4,10 +4,10 @@
//
#include "ClLstmFloatWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/ClLayerSupport.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/ClLayerSupport.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <arm_compute/runtime/CL/functions/CLLSTMLayer.h>
diff --git a/src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp b/src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
index d2625354ef..cf2cad16aa 100644
--- a/src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
@@ -4,11 +4,11 @@
//
#include "ClNormalizationFloatWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ClLayerSupport.hpp"
-#include "backends/ArmComputeUtils.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/ClLayerSupport.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include "ClWorkloadUtils.hpp"
namespace armnn
diff --git a/src/backends/ClWorkloads/ClPermuteWorkload.cpp b/src/backends/ClWorkloads/ClPermuteWorkload.cpp
index 29d98bf0eb..11b0df80dd 100644
--- a/src/backends/ClWorkloads/ClPermuteWorkload.cpp
+++ b/src/backends/ClWorkloads/ClPermuteWorkload.cpp
@@ -4,8 +4,8 @@
//
#include "ClPermuteWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <arm_compute/core/Error.h>
diff --git a/src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp b/src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp
index a1ee50b39f..57b056a05c 100644
--- a/src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp
+++ b/src/backends/ClWorkloads/ClPooling2dBaseWorkload.cpp
@@ -4,10 +4,10 @@
//
#include "ClPooling2dBaseWorkload.hpp"
-#include "backends/ClLayerSupport.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/ArmComputeUtils.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/ClLayerSupport.hpp>
+#include <backends/ClTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
namespace armnn
{
diff --git a/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp b/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
index 8348afb76a..7c05bbf33d 100644
--- a/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
+++ b/src/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
@@ -4,10 +4,10 @@
//
#include "ClResizeBilinearFloatWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ClLayerSupport.hpp"
-#include "backends/ArmComputeUtils.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/ClLayerSupport.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp b/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
index b4ea236d49..eb05a19670 100644
--- a/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
+++ b/src/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
@@ -5,7 +5,7 @@
#include "ClSoftmaxBaseWorkload.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <arm_compute/runtime/CL/functions/CLSoftmaxLayer.h>
diff --git a/src/backends/ClWorkloads/ClSubtractionWorkload.cpp b/src/backends/ClWorkloads/ClSubtractionWorkload.cpp
index 1c70130fa4..e5d5702389 100644
--- a/src/backends/ClWorkloads/ClSubtractionWorkload.cpp
+++ b/src/backends/ClWorkloads/ClSubtractionWorkload.cpp
@@ -5,9 +5,9 @@
#include "ClSubtractionWorkload.hpp"
-#include "backends/ClTensorHandle.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include "ClWorkloadUtils.hpp"
diff --git a/src/backends/ClWorkloads/ClWorkloadUtils.hpp b/src/backends/ClWorkloads/ClWorkloadUtils.hpp
index 9c415b2267..3a8ff00bb6 100644
--- a/src/backends/ClWorkloads/ClWorkloadUtils.hpp
+++ b/src/backends/ClWorkloads/ClWorkloadUtils.hpp
@@ -5,8 +5,8 @@
#pragma once
#include "OpenClTimer.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/CpuTensorHandle.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/CpuTensorHandle.hpp>
#include <Half.hpp>
diff --git a/src/backends/NeonTensorHandle.hpp b/src/backends/NeonTensorHandle.hpp
index 77f3cc1184..9045b8f17b 100644
--- a/src/backends/NeonTensorHandle.hpp
+++ b/src/backends/NeonTensorHandle.hpp
@@ -5,7 +5,7 @@
#pragma once
#include "OutputHandler.hpp"
-#include "ArmComputeTensorUtils.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <arm_compute/runtime/MemoryGroup.h>
#include <arm_compute/runtime/IMemoryGroup.h>
diff --git a/src/backends/NeonWorkloadUtils.cpp b/src/backends/NeonWorkloadUtils.cpp
index 878280161a..e388949d10 100644
--- a/src/backends/NeonWorkloadUtils.cpp
+++ b/src/backends/NeonWorkloadUtils.cpp
@@ -3,13 +3,13 @@
// SPDX-License-Identifier: MIT
//
#include "NeonWorkloadUtils.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/ArmComputeUtils.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/NeonTensorHandle.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/NeonTensorHandle.hpp>
-#include "armnn/Utils.hpp"
-#include "armnn/Exceptions.hpp"
+#include <armnn/Utils.hpp>
+#include <armnn/Exceptions.hpp>
#include <cstring>
#include <boost/assert.hpp>
@@ -19,8 +19,8 @@
#include "Profiling.hpp"
#include "NeonLayerSupport.hpp"
-#include "armnn/Types.hpp"
-#include "Half.hpp"
+#include <armnn/Types.hpp>
+#include <Half.hpp>
using namespace armnn::armcomputetensorutils;
diff --git a/src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp
index bedf3dcb02..1d6bf70431 100644
--- a/src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonActivationFloatWorkload.cpp
@@ -4,7 +4,7 @@
//
#include "NeonActivationFloatWorkload.hpp"
-#include "backends/ArmComputeUtils.hpp"
+#include <backends/aclCommon/ArmComputeUtils.hpp>
namespace armnn
diff --git a/src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp b/src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
index a9b94d2916..a5bba48156 100644
--- a/src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonActivationUint8Workload.cpp
@@ -4,8 +4,8 @@
//
#include "NeonActivationUint8Workload.hpp"
-#include "backends/ArmComputeUtils.hpp"
-#include "backends/NeonLayerSupport.hpp"
+#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/NeonLayerSupport.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp
index adc34e91c4..445e32ea44 100644
--- a/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonAdditionFloatWorkload.cpp
@@ -4,8 +4,8 @@
//
#include "NeonAdditionFloatWorkload.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/CpuTensorHandle.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/CpuTensorHandle.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp b/src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
index f4a09d4aed..59afc7022a 100644
--- a/src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonBaseConstantWorkload.hpp
@@ -6,7 +6,7 @@
#pragma once
#include <arm_compute/core/Types.h>
-#include <backends/ArmComputeTensorUtils.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <backends/CpuTensorHandle.hpp>
#include <backends/NeonTensorHandle.hpp>
#include <backends/NeonWorkloadUtils.hpp>
@@ -14,7 +14,6 @@
#include <Half.hpp>
#include <boost/cast.hpp>
-#include "Half.hpp"
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp
index 6f5c948084..2383e78df3 100644
--- a/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonBatchNormalizationFloatWorkload.cpp
@@ -4,9 +4,9 @@
//
#include "NeonBatchNormalizationFloatWorkload.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "armnn/ArmNN.hpp"
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <armnn/ArmNN.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
index 912e2d5b69..ee69088691 100644
--- a/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.cpp
@@ -3,14 +3,14 @@
// SPDX-License-Identifier: MIT
//
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/NeonLayerSupport.hpp"
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/NeonLayerSupport.hpp>
#include "NeonConvolution2dBaseWorkload.hpp"
-#include "armnn/Types.hpp"
-#include "Half.hpp"
+#include <armnn/Types.hpp>
+#include <Half.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
index 77d90cd84b..93f71c3ac2 100644
--- a/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
+++ b/src/backends/NeonWorkloads/NeonConvolution2dBaseWorkload.hpp
@@ -5,13 +5,13 @@
#pragma once
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/NeonLayerSupport.hpp"
-#include "backends/NeonWorkloadUtils.hpp"
-#include "backends/Workload.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/NeonLayerSupport.hpp>
+#include <backends/NeonWorkloadUtils.hpp>
+#include <backends/Workload.hpp>
-#include "arm_compute/runtime/MemoryManagerOnDemand.h"
+#include <arm_compute/runtime/MemoryManagerOnDemand.h>
#include <boost/optional.hpp>
diff --git a/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
index ca7a0c575a..ea7a843468 100644
--- a/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonConvolution2dFloatWorkload.cpp
@@ -4,9 +4,9 @@
//
#include "NeonConvolution2dFloatWorkload.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/NeonLayerSupport.hpp"
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/NeonLayerSupport.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp
index e79e14f2ed..ec6c97700b 100644
--- a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionBaseWorkload.cpp
@@ -5,7 +5,7 @@
#include "NeonDepthwiseConvolutionBaseWorkload.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
index 1ec1417a58..b3f7da41b5 100644
--- a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionFloatWorkload.cpp
@@ -4,10 +4,9 @@
//
#include "NeonDepthwiseConvolutionFloatWorkload.hpp"
-#include "backends/NeonLayerSupport.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-
+#include <backends/NeonLayerSupport.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
index b7813a59c5..de8a2aeedb 100644
--- a/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
+++ b/src/backends/NeonWorkloads/NeonDepthwiseConvolutionUint8Workload.cpp
@@ -4,10 +4,9 @@
//
#include "NeonDepthwiseConvolutionUint8Workload.hpp"
-#include "backends/NeonLayerSupport.hpp"
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-
+#include <backends/NeonLayerSupport.hpp>
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp
index 2036ecb203..8fcc0956e2 100644
--- a/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonFullyConnectedFloatWorkload.cpp
@@ -5,9 +5,9 @@
#include "NeonFullyConnectedFloatWorkload.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/ArmComputeUtils.hpp"
-#include "backends/CpuTensorHandle.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/CpuTensorHandle.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp
index 7296e67179..dee789af85 100644
--- a/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonL2NormalizationFloatWorkload.cpp
@@ -4,7 +4,7 @@
//
#include "NeonL2NormalizationFloatWorkload.hpp"
-#include "backends/ArmComputeUtils.hpp"
+#include <backends/aclCommon/ArmComputeUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
index 4534c376d8..ee9785686b 100644
--- a/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonNormalizationFloatWorkload.cpp
@@ -4,9 +4,9 @@
//
#include "NeonNormalizationFloatWorkload.hpp"
-#include "backends/NeonLayerSupport.hpp"
-#include "backends/ArmComputeUtils.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/NeonLayerSupport.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonPermuteWorkload.cpp b/src/backends/NeonWorkloads/NeonPermuteWorkload.cpp
index 9bc76ba853..7a20c70cfa 100644
--- a/src/backends/NeonWorkloads/NeonPermuteWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonPermuteWorkload.cpp
@@ -4,8 +4,8 @@
//
#include "NeonPermuteWorkload.hpp"
-#include "backends/NeonTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/NeonTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#include <arm_compute/core/Error.h>
diff --git a/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
index 208d08c4c5..95286f48c8 100644
--- a/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonPooling2dBaseWorkload.cpp
@@ -4,10 +4,10 @@
//
#include "NeonPooling2dBaseWorkload.hpp"
-#include "backends/NeonLayerSupport.hpp"
-#include "backends/NeonTensorHandle.hpp"
-#include "backends/ArmComputeUtils.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/NeonLayerSupport.hpp>
+#include <backends/NeonTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp b/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp
index ca9e4f058d..0e11d8249f 100644
--- a/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonSoftmaxBaseWorkload.cpp
@@ -5,7 +5,7 @@
#include "NeonSoftmaxBaseWorkload.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
namespace armnn
{
diff --git a/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp b/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp
index 3f37d82d22..2acb829e3d 100644
--- a/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp
+++ b/src/backends/NeonWorkloads/NeonSubtractionFloatWorkload.cpp
@@ -4,8 +4,8 @@
//
#include "NeonSubtractionFloatWorkload.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
-#include "backends/CpuTensorHandle.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/CpuTensorHandle.hpp>
namespace armnn
{
diff --git a/src/backends/ArmComputeTensorUtils.cpp b/src/backends/aclCommon/ArmComputeTensorUtils.cpp
index e65c4ad35f..d48408c430 100644
--- a/src/backends/ArmComputeTensorUtils.cpp
+++ b/src/backends/aclCommon/ArmComputeTensorUtils.cpp
@@ -2,8 +2,8 @@
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
-#include "ArmComputeTensorUtils.hpp"
-#include "ArmComputeUtils.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
+#include <backends/aclCommon/ArmComputeUtils.hpp>
#include "armnn/Exceptions.hpp"
#include <armnn/Descriptors.hpp>
diff --git a/src/backends/ArmComputeTensorUtils.hpp b/src/backends/aclCommon/ArmComputeTensorUtils.hpp
index 18f41ee173..18f41ee173 100644
--- a/src/backends/ArmComputeTensorUtils.hpp
+++ b/src/backends/aclCommon/ArmComputeTensorUtils.hpp
diff --git a/src/backends/ArmComputeUtils.hpp b/src/backends/aclCommon/ArmComputeUtils.hpp
index db472964ea..db472964ea 100644
--- a/src/backends/ArmComputeUtils.hpp
+++ b/src/backends/aclCommon/ArmComputeUtils.hpp
diff --git a/src/backends/aclCommon/CMakeLists.txt b/src/backends/aclCommon/CMakeLists.txt
new file mode 100644
index 0000000000..42f914263a
--- /dev/null
+++ b/src/backends/aclCommon/CMakeLists.txt
@@ -0,0 +1,15 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+list(APPEND armnnAclCommon_sources
+ ArmComputeTensorUtils.hpp
+ ArmComputeTensorUtils.cpp
+ ArmComputeUtils.hpp
+)
+
+add_library(armnnAclCommon STATIC ${armnnAclCommon_sources})
+target_include_directories(armnnAclCommon PRIVATE ${PROJECT_SOURCE_DIR}/src)
+target_include_directories(armnnAclCommon PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
+target_include_directories(armnnAclCommon PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
diff --git a/src/backends/aclCommon/common.cmake b/src/backends/aclCommon/common.cmake
new file mode 100644
index 0000000000..d9d035f307
--- /dev/null
+++ b/src/backends/aclCommon/common.cmake
@@ -0,0 +1,9 @@
+#
+# Copyright © 2017 Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+if(ARMCOMPUTENEON OR ARMCOMPUTECL)
+ add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends/aclCommon)
+ list(APPEND armnnLibraries armnnAclCommon)
+endif()
diff --git a/src/backends/backends.cmake b/src/backends/backends.cmake
index 462365c252..6f76106b6b 100644
--- a/src/backends/backends.cmake
+++ b/src/backends/backends.cmake
@@ -7,9 +7,11 @@ add_subdirectory(${PROJECT_SOURCE_DIR}/src/backends)
list(APPEND armnnLibraries armnnBackendsCommon)
# single place to use wildcards, so we can include
-# yet unknown backend modules
+# yet unknown backend modules and corresponding common libraries
+FILE(GLOB commonIncludes ${PROJECT_SOURCE_DIR}/src/backends/*/common.cmake)
FILE(GLOB backendIncludes ${PROJECT_SOURCE_DIR}/src/backends/*/backend.cmake)
-foreach(backendInclude ${backendIncludes})
+# prefer to include common code first so backends can depend on them
+foreach(backendInclude ${commonIncludes} ${backendIncludes})
include(${backendInclude})
endforeach()
diff --git a/src/backends/test/LayerTests.cpp b/src/backends/test/LayerTests.cpp
index 4dcc36fdb2..8f06690018 100644
--- a/src/backends/test/LayerTests.cpp
+++ b/src/backends/test/LayerTests.cpp
@@ -11,14 +11,14 @@
#include <boost/test/unit_test.hpp>
#include <boost/assert.hpp>
-#include "armnn/LayerSupport.hpp"
+#include <armnn/LayerSupport.hpp>
-#include "backends/CpuTensorHandle.hpp"
-#include "backends/WorkloadFactory.hpp"
+#include <backends/CpuTensorHandle.hpp>
+#include <backends/WorkloadFactory.hpp>
#ifdef ARMCOMPUTECL_ENABLED
-#include "backends/ClTensorHandle.hpp"
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/ClTensorHandle.hpp>
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#endif
#include <algorithm>
diff --git a/src/backends/test/MemCopyTests.cpp b/src/backends/test/MemCopyTests.cpp
index 44089c9d65..7ba55078e2 100644
--- a/src/backends/test/MemCopyTests.cpp
+++ b/src/backends/test/MemCopyTests.cpp
@@ -5,22 +5,22 @@
#include <boost/test/unit_test.hpp>
#include <boost/multi_array.hpp>
-#include "armnn/ArmNN.hpp"
-#include "backends/RefWorkloadFactory.hpp"
+#include <armnn/ArmNN.hpp>
+#include <backends/RefWorkloadFactory.hpp>
#if ARMCOMPUTECL_ENABLED
-#include "backends/ClWorkloadFactory.hpp"
+#include <backends/ClWorkloadFactory.hpp>
#endif
#if ARMCOMPUTENEON_ENABLED
-#include "backends/NeonWorkloadFactory.hpp"
+#include <backends/NeonWorkloadFactory.hpp>
#endif
-#include "backends/CpuTensorHandle.hpp"
+#include <backends/CpuTensorHandle.hpp>
#include "test/TensorHelpers.hpp"
#include "TensorCopyUtils.hpp"
#include "WorkloadTestUtils.hpp"
#if ARMCOMPUTECL_ENABLED || ARMCOMPUTENEON_ENABLED
-#include "../ArmComputeTensorUtils.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#endif
BOOST_AUTO_TEST_SUITE(MemCopyTestSuite)
diff --git a/src/backends/test/TensorCopyUtils.cpp b/src/backends/test/TensorCopyUtils.cpp
index dc5864b285..530dc79eb0 100644
--- a/src/backends/test/TensorCopyUtils.cpp
+++ b/src/backends/test/TensorCopyUtils.cpp
@@ -19,7 +19,7 @@
#endif
#if ARMCOMPUTECLENABLED || ARMCOMPUTENEON_ENABLED
-#include "backends/ArmComputeTensorUtils.hpp"
+#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
#endif
#include "backends/CpuTensorHandle.hpp"