xref: /aosp_15_r20/external/armnn/src/backends/cl/backend.mk (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1#
2# Copyright © 2017 ARM Ltd and Contributors. All rights reserved.
3# SPDX-License-Identifier: MIT
4#
5
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
9
10# The variable to enable/disable the CL backend (ARMNN_COMPUTE_CL_ENABLED is declared in android-nn-driver/Android.mk)
11ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
12
13# ARMNN_COMPUTE_CL_ENABLED == 1
14# Include the source files for the CL backend
15
16BACKEND_SOURCES := \
17        ClBackend.cpp \
18        ClBackendContext.cpp \
19        ClBackendModelContext.cpp \
20        ClContextControl.cpp \
21        ClContextDeserializer.cpp \
22        ClContextSerializer.cpp \
23        ClImportTensorHandleFactory.cpp \
24        ClLayerSupport.cpp \
25        ClRegistryInitializer.cpp \
26        ClTensorHandleFactory.cpp \
27        ClWorkloadFactory.cpp \
28        OpenClTimer.cpp \
29        workloads/ClAbsWorkload.cpp \
30        workloads/ClActivationWorkload.cpp \
31        workloads/ClAdditionWorkload.cpp \
32        workloads/ClArgMinMaxWorkload.cpp \
33        workloads/ClBatchMatMulWorkload.cpp \
34        workloads/ClBatchNormalizationFloatWorkload.cpp \
35        workloads/ClBatchToSpaceNdWorkload.cpp \
36        workloads/ClCastWorkload.cpp \
37        workloads/ClChannelShuffleWorkload.cpp \
38        workloads/ClComparisonWorkload.cpp \
39        workloads/ClConcatWorkload.cpp \
40        workloads/ClConstantWorkload.cpp \
41        workloads/ClConvertFp16ToFp32Workload.cpp \
42        workloads/ClConvertFp32ToFp16Workload.cpp \
43        workloads/ClConvolution2dWorkload.cpp \
44        workloads/ClConvolution3dWorkload.cpp \
45        workloads/ClDepthToSpaceWorkload.cpp \
46        workloads/ClDepthwiseConvolutionWorkload.cpp \
47        workloads/ClDequantizeWorkload.cpp \
48        workloads/ClDivisionWorkload.cpp \
49        workloads/ClExpWorkload.cpp \
50        workloads/ClFillWorkload.cpp \
51        workloads/ClFloorFloatWorkload.cpp \
52        workloads/ClFullyConnectedWorkload.cpp \
53        workloads/ClGatherWorkload.cpp \
54        workloads/ClGatherNdWorkload.cpp \
55        workloads/ClInstanceNormalizationWorkload.cpp \
56        workloads/ClL2NormalizationFloatWorkload.cpp \
57        workloads/ClLogWorkload.cpp \
58        workloads/ClLogicalAndWorkload.cpp \
59        workloads/ClLogicalNotWorkload.cpp \
60        workloads/ClLogicalOrWorkload.cpp \
61        workloads/ClLogSoftmaxWorkload.cpp \
62        workloads/ClLstmFloatWorkload.cpp \
63        workloads/ClMaximumWorkload.cpp \
64        workloads/ClMeanWorkload.cpp \
65        workloads/ClMinimumWorkload.cpp \
66        workloads/ClMultiplicationWorkload.cpp \
67        workloads/ClNegWorkload.cpp \
68        workloads/ClNormalizationFloatWorkload.cpp \
69        workloads/ClPadWorkload.cpp \
70        workloads/ClPermuteWorkload.cpp \
71        workloads/ClPooling2dWorkload.cpp \
72        workloads/ClPooling3dWorkload.cpp \
73        workloads/ClPreluWorkload.cpp \
74        workloads/ClQLstmWorkload.cpp \
75        workloads/ClQuantizedLstmWorkload.cpp \
76        workloads/ClQuantizeWorkload.cpp \
77        workloads/ClReduceWorkload.cpp \
78        workloads/ClReshapeWorkload.cpp \
79        workloads/ClResizeWorkload.cpp \
80        workloads/ClRsqrtWorkload.cpp \
81        workloads/ClSinWorkload.cpp \
82        workloads/ClSliceWorkload.cpp \
83        workloads/ClSoftmaxWorkload.cpp \
84        workloads/ClSpaceToBatchNdWorkload.cpp \
85        workloads/ClSpaceToDepthWorkload.cpp \
86        workloads/ClSplitterWorkload.cpp \
87        workloads/ClSqrtWorkload.cpp \
88        workloads/ClStackWorkload.cpp \
89        workloads/ClStridedSliceWorkload.cpp \
90        workloads/ClSubtractionWorkload.cpp \
91        workloads/ClTransposeConvolution2dWorkload.cpp \
92        workloads/ClTransposeWorkload.cpp \
93        workloads/ClUnidirectionalSequenceLstmFloatWorkload.cpp
94else
95
96# ARMNN_COMPUTE_CL_ENABLED == 0
97# No source file will be compiled for the CL backend
98
99BACKEND_SOURCES :=
100
101endif
102
103# BACKEND_TEST_SOURCES contains the list of files to be included
104# in the Android unit test build (armnn-tests) and it is picked
105# up by the Android.mk file in the root of ArmNN
106
107# The variable to enable/disable the CL backend (ARMNN_COMPUTE_CL_ENABLED is declared in android-nn-driver/Android.mk)
108ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
109
110# ARMNN_COMPUTE_CL_ENABLED == 1
111# Include the source files for the CL backend tests
112
113BACKEND_TEST_SOURCES := \
114        test/ClBackendTests.cpp \
115        test/ClContextSerializerTests.cpp \
116        test/ClCreateWorkloadTests.cpp \
117        test/ClEndToEndTests.cpp \
118        test/ClJsonPrinterTests.cpp \
119        test/ClLayerSupportTests.cpp \
120        test/ClLayerTests.cpp \
121        test/ClOptimizedNetworkTests.cpp \
122        test/ClRuntimeTests.cpp \
123        test/Fp16SupportTest.cpp \
124        test/OpenClTimerTest.cpp
125
126ifeq ($(ARMNN_REF_ENABLED),1)
127BACKEND_TEST_SOURCES += \
128        test/ClMemCopyTests.cpp
129endif # ARMNN_REF_ENABLED == 1
130
131else
132
133# ARMNN_COMPUTE_CL_ENABLED == 0
134# No source file will be compiled for the CL backend tests
135
136BACKEND_TEST_SOURCES :=
137
138endif
139