• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/BatchNormImpl.cpp \
27        workloads/BatchToSpaceNd.cpp \
28        workloads/Broadcast.cpp \
29        workloads/ConvImpl.cpp \
30        workloads/Debug.cpp \
31        workloads/DepthToSpace.cpp \
32        workloads/DetectionPostProcess.cpp \
33        workloads/Dequantize.cpp \
34        workloads/ElementwiseFunction.cpp \
35        workloads/Fill.cpp \
36        workloads/FullyConnected.cpp \
37        workloads/Gather.cpp \
38        workloads/InstanceNorm.cpp \
39        workloads/LogSoftmax.cpp \
40        workloads/LstmUtils.cpp \
41        workloads/Mean.cpp \
42        workloads/Concatenate.cpp \
43        workloads/Pad.cpp \
44        workloads/Pooling2d.cpp \
45        workloads/PreluImpl.cpp \
46        workloads/RefActivationWorkload.cpp \
47        workloads/RefArgMinMaxWorkload.cpp \
48        workloads/RefBatchNormalizationWorkload.cpp \
49        workloads/RefBatchToSpaceNdWorkload.cpp \
50        workloads/RefComparisonWorkload.cpp \
51        workloads/RefConcatWorkload.cpp \
52        workloads/RefConstantWorkload.cpp \
53        workloads/RefConvertBf16ToFp32Workload.cpp \
54        workloads/RefConvertFp16ToFp32Workload.cpp \
55        workloads/RefConvertFp32ToBf16Workload.cpp \
56        workloads/RefConvertFp32ToFp16Workload.cpp \
57        workloads/RefConvolution2dWorkload.cpp \
58        workloads/RefDebugWorkload.cpp \
59        workloads/RefDepthToSpaceWorkload.cpp \
60        workloads/RefDepthwiseConvolution2dWorkload.cpp \
61        workloads/RefDequantizeWorkload.cpp \
62        workloads/RefDetectionPostProcessWorkload.cpp \
63        workloads/RefElementwiseWorkload.cpp \
64        workloads/RefElementwiseUnaryWorkload.cpp \
65        workloads/RefFakeQuantizationFloat32Workload.cpp \
66        workloads/RefFillWorkload.cpp \
67        workloads/RefFloorWorkload.cpp \
68        workloads/RefFullyConnectedWorkload.cpp \
69        workloads/RefGatherWorkload.cpp \
70        workloads/RefInstanceNormalizationWorkload.cpp \
71        workloads/RefL2NormalizationWorkload.cpp \
72        workloads/RefLogicalBinaryWorkload.cpp \
73        workloads/RefLogicalUnaryWorkload.cpp \
74        workloads/RefLogSoftmaxWorkload.cpp \
75        workloads/RefLstmWorkload.cpp \
76        workloads/RefMeanWorkload.cpp \
77        workloads/RefNormalizationWorkload.cpp \
78        workloads/RefPadWorkload.cpp \
79        workloads/RefPermuteWorkload.cpp \
80        workloads/RefPooling2dWorkload.cpp \
81        workloads/RefPreluWorkload.cpp \
82        workloads/RefQLstmWorkload.cpp \
83        workloads/RefQuantizeWorkload.cpp \
84        workloads/RefReshapeWorkload.cpp \
85        workloads/RefResizeBilinearWorkload.cpp \
86        workloads/RefResizeWorkload.cpp \
87        workloads/RefSliceWorkload.cpp \
88        workloads/RefSoftmaxWorkload.cpp \
89        workloads/RefSpaceToBatchNdWorkload.cpp \
90        workloads/RefSpaceToDepthWorkload.cpp \
91        workloads/RefStackWorkload.cpp \
92        workloads/RefStridedSliceWorkload.cpp \
93        workloads/RefSplitterWorkload.cpp \
94        workloads/RefTransposeConvolution2dWorkload.cpp \
95        workloads/RefTransposeWorkload.cpp \
96        workloads/Resize.cpp \
97        workloads/Slice.cpp \
98        workloads/SpaceToBatchNd.cpp \
99        workloads/SpaceToDepth.cpp \
100        workloads/Stack.cpp \
101        workloads/StridedSlice.cpp \
102        workloads/StringMapping.cpp \
103        workloads/Softmax.cpp \
104        workloads/Splitter.cpp \
105        workloads/TransposeConvolution2d.cpp
106else
107
108# ARMNN_REF_ENABLED == 0
109# No source file will be compiled for the reference backend
110
111BACKEND_SOURCES :=
112
113endif
114
115# BACKEND_TEST_SOURCES contains the list of files to be included
116# in the Android unit test build (armnn-tests) and it is picked
117# up by the Android.mk file in the root of ArmNN
118
119# The variable to enable/disable the CL backend (ARMNN_REF_ENABLED is declared in android-nn-driver/Android.mk)
120ifeq ($(ARMNN_REF_ENABLED),1)
121
122# ARMNN_REF_ENABLED == 1
123# Include the source files for the CL backend tests
124
125BACKEND_TEST_SOURCES := \
126        test/ArgMinMaxTests.cpp \
127        test/RefCreateWorkloadTests.cpp \
128        test/RefDetectionPostProcessTests.cpp \
129        test/RefEndToEndTests.cpp \
130        test/RefJsonPrinterTests.cpp \
131        test/RefLayerSupportTests.cpp \
132        test/RefLayerTests.cpp \
133        test/RefMemoryManagerTests.cpp \
134        test/RefOptimizedNetworkTests.cpp \
135        test/RefRuntimeTests.cpp \
136        test/RefTensorHandleTests.cpp
137else
138
139# ARMNN_REF_ENABLED == 0
140# No source file will be compiled for the reference backend tests
141
142BACKEND_TEST_SOURCES :=
143
144endif
145