xref: /aosp_15_r20/external/armnn/src/backends/reference/backend.mk (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1#
2# Copyright © 2017 ARM Ltd. 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 reference backend (ARMNN_REF_ENABLED is declared in android-nn-driver/Android.mk)
11ifeq ($(ARMNN_REF_ENABLED),1)
12
13# ARMNN_REF_ENABLED == 1
14# Include the source files for the reference backend
15
16BACKEND_SOURCES := \
17        RefBackend.cpp \
18        RefLayerSupport.cpp \
19        RefMemoryManager.cpp \
20        RefTensorHandle.cpp \
21        RefWorkloadFactory.cpp \
22        RefRegistryInitializer.cpp \
23        RefTensorHandleFactory.cpp \
24        workloads/Activation.cpp \
25        workloads/ArgMinMax.cpp \
26        workloads/BatchMatMulImpl.cpp \
27        workloads/BatchNormImpl.cpp \
28        workloads/BatchToSpaceNd.cpp \
29        workloads/Broadcast.cpp \
30        workloads/ConvImpl.cpp \
31        workloads/Conv3dImpl.cpp \
32        workloads/Debug.cpp \
33        workloads/DepthToSpace.cpp \
34        workloads/DetectionPostProcess.cpp \
35        workloads/Dequantize.cpp \
36        workloads/ElementwiseFunction.cpp \
37        workloads/Fill.cpp \
38        workloads/FullyConnected.cpp \
39        workloads/Gather.cpp \
40        workloads/InstanceNorm.cpp \
41        workloads/LogSoftmax.cpp \
42        workloads/Lstm.cpp \
43        workloads/LstmUtils.cpp \
44        workloads/Concatenate.cpp \
45        workloads/MirrorPad.cpp \
46        workloads/Pad.cpp \
47        workloads/Pooling2d.cpp \
48        workloads/Pooling3d.cpp \
49        workloads/PreluImpl.cpp \
50        workloads/Reduce.cpp \
51        workloads/RefActivationWorkload.cpp \
52        workloads/RefArgMinMaxWorkload.cpp \
53        workloads/RefBatchMatMulWorkload.cpp \
54        workloads/RefBatchNormalizationWorkload.cpp \
55        workloads/RefBatchToSpaceNdWorkload.cpp \
56        workloads/RefCastWorkload.cpp \
57        workloads/RefChannelShuffleWorkload.cpp \
58        workloads/RefComparisonWorkload.cpp \
59        workloads/RefConcatWorkload.cpp \
60        workloads/RefConstantWorkload.cpp \
61        workloads/RefConvertFp16ToFp32Workload.cpp \
62        workloads/RefConvertFp32ToFp16Workload.cpp \
63        workloads/RefConvolution2dWorkload.cpp \
64        workloads/RefConvolution3dWorkload.cpp \
65        workloads/RefDebugWorkload.cpp \
66        workloads/RefDepthToSpaceWorkload.cpp \
67        workloads/RefDepthwiseConvolution2dWorkload.cpp \
68        workloads/RefDequantizeWorkload.cpp \
69        workloads/RefDetectionPostProcessWorkload.cpp \
70        workloads/RefElementwiseBinaryWorkload.cpp \
71        workloads/RefElementwiseWorkload.cpp \
72        workloads/RefElementwiseUnaryWorkload.cpp \
73        workloads/RefFakeQuantizationFloat32Workload.cpp \
74        workloads/RefFillWorkload.cpp \
75        workloads/RefFloorWorkload.cpp \
76        workloads/RefFullyConnectedWorkload.cpp \
77        workloads/RefGatherNdWorkload.cpp \
78        workloads/RefGatherWorkload.cpp \
79        workloads/RefInstanceNormalizationWorkload.cpp \
80        workloads/RefL2NormalizationWorkload.cpp \
81        workloads/RefLogicalBinaryWorkload.cpp \
82        workloads/RefLogicalUnaryWorkload.cpp \
83        workloads/RefLogSoftmaxWorkload.cpp \
84        workloads/RefLstmWorkload.cpp \
85        workloads/RefMeanWorkload.cpp \
86        workloads/RefNormalizationWorkload.cpp \
87        workloads/RefPadWorkload.cpp \
88        workloads/RefPermuteWorkload.cpp \
89        workloads/RefPooling2dWorkload.cpp \
90        workloads/RefPooling3dWorkload.cpp \
91        workloads/RefPreluWorkload.cpp \
92        workloads/RefQLstmWorkload.cpp \
93        workloads/RefQuantizeWorkload.cpp \
94        workloads/RefReduceWorkload.cpp \
95        workloads/RefReshapeWorkload.cpp \
96        workloads/RefResizeWorkload.cpp \
97        workloads/RefSliceWorkload.cpp \
98        workloads/RefSoftmaxWorkload.cpp \
99        workloads/RefSpaceToBatchNdWorkload.cpp \
100        workloads/RefSpaceToDepthWorkload.cpp \
101        workloads/RefStackWorkload.cpp \
102        workloads/RefStridedSliceWorkload.cpp \
103        workloads/RefSplitterWorkload.cpp \
104        workloads/RefTransposeConvolution2dWorkload.cpp \
105        workloads/RefTransposeWorkload.cpp \
106        workloads/RefUnidirectionalSequenceLstmWorkload.cpp \
107        workloads/Resize.cpp \
108        workloads/Slice.cpp \
109        workloads/SpaceToBatchNd.cpp \
110        workloads/SpaceToDepth.cpp \
111        workloads/Stack.cpp \
112        workloads/StridedSlice.cpp \
113        workloads/StringMapping.cpp \
114        workloads/Softmax.cpp \
115        workloads/Splitter.cpp \
116        workloads/TransposeConvolution2d.cpp
117else
118
119# ARMNN_REF_ENABLED == 0
120# No source file will be compiled for the reference backend
121
122BACKEND_SOURCES :=
123
124endif
125
126# BACKEND_TEST_SOURCES contains the list of files to be included
127# in the Android unit test build (armnn-tests) and it is picked
128# up by the Android.mk file in the root of ArmNN
129
130# The variable to enable/disable the CL backend (ARMNN_REF_ENABLED is declared in android-nn-driver/Android.mk)
131ifeq ($(ARMNN_REF_ENABLED),1)
132
133# ARMNN_REF_ENABLED == 1
134# Include the source files for the CL backend tests
135
136BACKEND_TEST_SOURCES := \
137        test/ArgMinMaxTests.cpp \
138        test/RefBackendTests.cpp \
139        test/RefCreateWorkloadTests.cpp \
140        test/RefDetectionPostProcessTests.cpp \
141        test/RefEndToEndTests.cpp \
142        test/RefJsonPrinterTests.cpp \
143        test/RefLayerSupportTests.cpp \
144        test/RefLayerTests.cpp \
145        test/RefMemoryManagerTests.cpp \
146        test/RefOptimizedNetworkTests.cpp \
147        test/RefRuntimeTests.cpp \
148        test/RefTensorHandleTests.cpp
149else
150
151# ARMNN_REF_ENABLED == 0
152# No source file will be compiled for the reference backend tests
153
154BACKEND_TEST_SOURCES :=
155
156endif
157