52295ccc4f352197b7a452834d4f214ff396c90a
[platform/upstream/armnn.git] / src / backends / cl / backend.mk
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)
11 ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
12
13 # ARMNN_COMPUTE_CL_ENABLED == 1
14 # Include the source files for the CL backend
15
16 BACKEND_SOURCES := \
17         ClBackend.cpp \
18         ClBackendContext.cpp \
19         ClBackendModelContext.cpp \
20         ClContextControl.cpp \
21         ClLayerSupport.cpp \
22         ClRegistryInitializer.cpp \
23         ClTensorHandleFactory.cpp \
24         ClWorkloadFactory.cpp \
25         OpenClTimer.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
80 else
81
82 # ARMNN_COMPUTE_CL_ENABLED == 0
83 # No source file will be compiled for the CL backend
84
85 BACKEND_SOURCES :=
86
87 endif
88
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
92
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)
95
96 # ARMNN_COMPUTE_CL_ENABLED == 1
97 # Include the source files for the CL backend tests
98
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
109
110 ifeq ($(ARMNN_REF_ENABLED),1)
111 BACKEND_TEST_SOURCES += \
112         test/ClMemCopyTests.cpp
113 endif # ARMNN_REF_ENABLED == 1
114
115 else
116
117 # ARMNN_COMPUTE_CL_ENABLED == 0
118 # No source file will be compiled for the CL backend tests
119
120 BACKEND_TEST_SOURCES :=
121
122 endif