aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/backend.mk
blob: bf18284143e4f87e4687875f00535942a80331ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#
# Copyright © 2017 ARM Ltd. All rights reserved.
# SPDX-License-Identifier: MIT
#

# BACKEND_SOURCES contains the list of files to be included
# in the Android build and it is picked up by the Android.mk
# file in the root of ArmNN

# The variable to enable/disable the reference backend (ARMNN_REF_ENABLED is declared in android-nn-driver/Android.mk)
ifeq ($(ARMNN_REF_ENABLED),1)

# ARMNN_REF_ENABLED == 1
# Include the source files for the reference backend

BACKEND_SOURCES := \
        RefBackend.cpp \
        RefLayerSupport.cpp \
        RefMemoryManager.cpp \
        RefTensorHandle.cpp \
        RefWorkloadFactory.cpp \
        RefRegistryInitializer.cpp \
        RefTensorHandleFactory.cpp \
        workloads/Activation.cpp \
        workloads/ArgMinMax.cpp \
        workloads/BatchNormImpl.cpp \
        workloads/BatchToSpaceNd.cpp \
        workloads/Broadcast.cpp \
        workloads/ConvImpl.cpp \
        workloads/Debug.cpp \
        workloads/DepthToSpace.cpp \
        workloads/DetectionPostProcess.cpp \
        workloads/Dequantize.cpp \
        workloads/ElementwiseFunction.cpp \
        workloads/Fill.cpp \
        workloads/FullyConnected.cpp \
        workloads/Gather.cpp \
        workloads/InstanceNorm.cpp \
        workloads/LogSoftmax.cpp \
        workloads/LstmUtils.cpp \
        workloads/Concatenate.cpp \
        workloads/Pad.cpp \
        workloads/Pooling2d.cpp \
        workloads/PreluImpl.cpp \
        workloads/Reduce.cpp \
        workloads/RefActivationWorkload.cpp \
        workloads/RefArgMinMaxWorkload.cpp \
        workloads/RefBatchNormalizationWorkload.cpp \
        workloads/RefBatchToSpaceNdWorkload.cpp \
        workloads/RefCastWorkload.cpp \
        workloads/RefComparisonWorkload.cpp \
        workloads/RefConcatWorkload.cpp \
        workloads/RefConstantWorkload.cpp \
        workloads/RefConvertBf16ToFp32Workload.cpp \
        workloads/RefConvertFp16ToFp32Workload.cpp \
        workloads/RefConvertFp32ToBf16Workload.cpp \
        workloads/RefConvertFp32ToFp16Workload.cpp \
        workloads/RefConvolution2dWorkload.cpp \
        workloads/RefDebugWorkload.cpp \
        workloads/RefDepthToSpaceWorkload.cpp \
        workloads/RefDepthwiseConvolution2dWorkload.cpp \
        workloads/RefDequantizeWorkload.cpp \
        workloads/RefDetectionPostProcessWorkload.cpp \
        workloads/RefElementwiseWorkload.cpp \
        workloads/RefElementwiseUnaryWorkload.cpp \
        workloads/RefFakeQuantizationFloat32Workload.cpp \
        workloads/RefFillWorkload.cpp \
        workloads/RefFloorWorkload.cpp \
        workloads/RefFullyConnectedWorkload.cpp \
        workloads/RefGatherWorkload.cpp \
        workloads/RefInstanceNormalizationWorkload.cpp \
        workloads/RefL2NormalizationWorkload.cpp \
        workloads/RefLogicalBinaryWorkload.cpp \
        workloads/RefLogicalUnaryWorkload.cpp \
        workloads/RefLogSoftmaxWorkload.cpp \
        workloads/RefLstmWorkload.cpp \
        workloads/RefMeanWorkload.cpp \
        workloads/RefNormalizationWorkload.cpp \
        workloads/RefPadWorkload.cpp \
        workloads/RefPermuteWorkload.cpp \
        workloads/RefPooling2dWorkload.cpp \
        workloads/RefPreluWorkload.cpp \
        workloads/RefQLstmWorkload.cpp \
        workloads/RefQuantizeWorkload.cpp \
        workloads/RefReduceWorkload.cpp \
        workloads/RefReshapeWorkload.cpp \
        workloads/RefResizeBilinearWorkload.cpp \
        workloads/RefResizeWorkload.cpp \
        workloads/RefSliceWorkload.cpp \
        workloads/RefSoftmaxWorkload.cpp \
        workloads/RefSpaceToBatchNdWorkload.cpp \
        workloads/RefSpaceToDepthWorkload.cpp \
        workloads/RefStackWorkload.cpp \
        workloads/RefStridedSliceWorkload.cpp \
        workloads/RefSplitterWorkload.cpp \
        workloads/RefTransposeConvolution2dWorkload.cpp \
        workloads/RefTransposeWorkload.cpp \
        workloads/Resize.cpp \
        workloads/Slice.cpp \
        workloads/SpaceToBatchNd.cpp \
        workloads/SpaceToDepth.cpp \
        workloads/Stack.cpp \
        workloads/StridedSlice.cpp \
        workloads/StringMapping.cpp \
        workloads/Softmax.cpp \
        workloads/Splitter.cpp \
        workloads/TransposeConvolution2d.cpp
else

# ARMNN_REF_ENABLED == 0
# No source file will be compiled for the reference backend

BACKEND_SOURCES :=

endif

# BACKEND_TEST_SOURCES contains the list of files to be included
# in the Android unit test build (armnn-tests) and it is picked
# up by the Android.mk file in the root of ArmNN

# The variable to enable/disable the CL backend (ARMNN_REF_ENABLED is declared in android-nn-driver/Android.mk)
ifeq ($(ARMNN_REF_ENABLED),1)

# ARMNN_REF_ENABLED == 1
# Include the source files for the CL backend tests

BACKEND_TEST_SOURCES := \
        test/ArgMinMaxTests.cpp \
        test/RefCreateWorkloadTests.cpp \
        test/RefDetectionPostProcessTests.cpp \
        test/RefEndToEndTests.cpp \
        test/RefJsonPrinterTests.cpp \
        test/RefLayerSupportTests.cpp \
        test/RefLayerTests.cpp \
        test/RefMemoryManagerTests.cpp \
        test/RefOptimizedNetworkTests.cpp \
        test/RefRuntimeTests.cpp \
        test/RefTensorHandleTests.cpp
else

# ARMNN_REF_ENABLED == 0
# No source file will be compiled for the reference backend tests

BACKEND_TEST_SOURCES :=

endif