2 # Copyright © 2017 ARM Ltd and Contributors. All rights reserved.
3 # SPDX-License-Identifier: MIT
6 # BACKEND_SOURCES contains the list of files to be included
7 # in the Android build and it is picked up by the Android.mk
8 # file in the root of ArmNN
10 # The variable to enable/disable the CL backend (ARMNN_COMPUTE_CL_ENABLED is declared in android-nn-driver/Android.mk)
11 ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
13 # ARMNN_COMPUTE_CL_ENABLED == 1
14 # Include the source files for the CL backend
18 ClBackendContext.cpp \
19 ClBackendModelContext.cpp \
20 ClContextControl.cpp \
22 ClRegistryInitializer.cpp \
23 ClTensorHandleFactory.cpp \
24 ClWorkloadFactory.cpp \
26 workloads/ClAbsWorkload.cpp \
27 workloads/ClActivationWorkload.cpp \
28 workloads/ClAdditionWorkload.cpp \
29 workloads/ClArgMinMaxWorkload.cpp \
30 workloads/ClBatchNormalizationFloatWorkload.cpp \
31 workloads/ClBatchToSpaceNdWorkload.cpp \
32 workloads/ClComparisonWorkload.cpp \
33 workloads/ClConcatWorkload.cpp \
34 workloads/ClConstantWorkload.cpp \
35 workloads/ClConvertFp16ToFp32Workload.cpp \
36 workloads/ClConvertFp32ToFp16Workload.cpp \
37 workloads/ClConvolution2dWorkload.cpp \
38 workloads/ClDepthToSpaceWorkload.cpp \
39 workloads/ClDepthwiseConvolutionWorkload.cpp \
40 workloads/ClDequantizeWorkload.cpp \
41 workloads/ClDivisionFloatWorkload.cpp \
42 workloads/ClExpWorkload.cpp \
43 workloads/ClFillWorkload.cpp \
44 workloads/ClFloorFloatWorkload.cpp \
45 workloads/ClFullyConnectedWorkload.cpp \
46 workloads/ClGatherWorkload.cpp \
47 workloads/ClInstanceNormalizationWorkload.cpp \
48 workloads/ClL2NormalizationFloatWorkload.cpp \
49 workloads/ClLogicalAndWorkload.cpp \
50 workloads/ClLogicalNotWorkload.cpp \
51 workloads/ClLogicalOrWorkload.cpp \
52 workloads/ClLogSoftmaxWorkload.cpp \
53 workloads/ClLstmFloatWorkload.cpp \
54 workloads/ClMaximumWorkload.cpp \
55 workloads/ClMeanWorkload.cpp \
56 workloads/ClMinimumWorkload.cpp \
57 workloads/ClMultiplicationWorkload.cpp \
58 workloads/ClNegWorkload.cpp \
59 workloads/ClNormalizationFloatWorkload.cpp \
60 workloads/ClPadWorkload.cpp \
61 workloads/ClPermuteWorkload.cpp \
62 workloads/ClPooling2dWorkload.cpp \
63 workloads/ClPreluWorkload.cpp \
64 workloads/ClQLstmWorkload.cpp \
65 workloads/ClQuantizedLstmWorkload.cpp \
66 workloads/ClQuantizeWorkload.cpp \
67 workloads/ClReshapeWorkload.cpp \
68 workloads/ClResizeWorkload.cpp \
69 workloads/ClRsqrtWorkload.cpp \
70 workloads/ClSliceWorkload.cpp \
71 workloads/ClSoftmaxWorkload.cpp \
72 workloads/ClSpaceToBatchNdWorkload.cpp \
73 workloads/ClSpaceToDepthWorkload.cpp \
74 workloads/ClSplitterWorkload.cpp \
75 workloads/ClStackWorkload.cpp \
76 workloads/ClStridedSliceWorkload.cpp \
77 workloads/ClSubtractionWorkload.cpp \
78 workloads/ClTransposeConvolution2dWorkload.cpp \
79 workloads/ClTransposeWorkload.cpp
82 # ARMNN_COMPUTE_CL_ENABLED == 0
83 # No source file will be compiled for the CL backend
89 # BACKEND_TEST_SOURCES contains the list of files to be included
90 # in the Android unit test build (armnn-tests) and it is picked
91 # up by the Android.mk file in the root of ArmNN
93 # The variable to enable/disable the CL backend (ARMNN_COMPUTE_CL_ENABLED is declared in android-nn-driver/Android.mk)
94 ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
96 # ARMNN_COMPUTE_CL_ENABLED == 1
97 # Include the source files for the CL backend tests
99 BACKEND_TEST_SOURCES := \
100 test/ClCreateWorkloadTests.cpp \
101 test/ClEndToEndTests.cpp \
102 test/ClJsonPrinterTests.cpp \
103 test/ClLayerSupportTests.cpp \
104 test/ClLayerTests.cpp \
105 test/ClOptimizedNetworkTests.cpp \
106 test/ClRuntimeTests.cpp \
107 test/Fp16SupportTest.cpp \
108 test/OpenClTimerTest.cpp
110 ifeq ($(ARMNN_REF_ENABLED),1)
111 BACKEND_TEST_SOURCES += \
112 test/ClMemCopyTests.cpp
113 endif # ARMNN_REF_ENABLED == 1
117 # ARMNN_COMPUTE_CL_ENABLED == 0
118 # No source file will be compiled for the CL backend tests
120 BACKEND_TEST_SOURCES :=