• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 NEON backend (ARMNN_COMPUTE_NEON_ENABLED is declared in android-nn-driver/Android.mk)
11ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
12
13# ARMNN_COMPUTE_NEON_ENABLED == 1
14# Include the source files for the NEON backend
15
16BACKEND_SOURCES := \
17        NeonBackend.cpp \
18        NeonBackendModelContext.cpp \
19        NeonInterceptorScheduler.cpp \
20        NeonLayerSupport.cpp \
21        NeonRegistryInitializer.cpp \
22        NeonTensorHandleFactory.cpp \
23        NeonTimer.cpp \
24        NeonWorkloadFactory.cpp \
25        workloads/NeonAbsWorkload.cpp \
26        workloads/NeonActivationWorkload.cpp \
27        workloads/NeonAdditionWorkload.cpp \
28        workloads/NeonArgMinMaxWorkload.cpp \
29        workloads/NeonBatchNormalizationWorkload.cpp \
30        workloads/NeonBatchToSpaceNdWorkload.cpp \
31        workloads/NeonComparisonWorkload.cpp \
32        workloads/NeonConcatWorkload.cpp \
33        workloads/NeonConstantWorkload.cpp \
34        workloads/NeonConvertBf16ToFp32Workload.cpp \
35        workloads/NeonConvertFp32ToBf16Workload.cpp \
36        workloads/NeonConvertFp16ToFp32Workload.cpp \
37        workloads/NeonConvertFp32ToFp16Workload.cpp \
38        workloads/NeonConvolution2dWorkload.cpp \
39        workloads/NeonDepthToSpaceWorkload.cpp \
40        workloads/NeonDepthwiseConvolutionWorkload.cpp \
41        workloads/NeonDequantizeWorkload.cpp \
42        workloads/NeonDetectionPostProcessWorkload.cpp \
43        workloads/NeonExpWorkload.cpp \
44        workloads/NeonFillWorkload.cpp \
45        workloads/NeonFloorFloatWorkload.cpp \
46        workloads/NeonFullyConnectedWorkload.cpp \
47        workloads/NeonGatherWorkload.cpp \
48        workloads/NeonInstanceNormalizationWorkload.cpp \
49        workloads/NeonL2NormalizationFloatWorkload.cpp \
50        workloads/NeonLogicalAndWorkload.cpp \
51        workloads/NeonLogicalNotWorkload.cpp \
52        workloads/NeonLogicalOrWorkload.cpp \
53        workloads/NeonLogSoftmaxWorkload.cpp \
54        workloads/NeonLstmFloatWorkload.cpp \
55        workloads/NeonMaximumWorkload.cpp \
56        workloads/NeonMeanWorkload.cpp \
57        workloads/NeonMinimumWorkload.cpp \
58        workloads/NeonMultiplicationWorkload.cpp \
59        workloads/NeonDivisionWorkload.cpp \
60        workloads/NeonNegWorkload.cpp \
61        workloads/NeonNormalizationFloatWorkload.cpp \
62        workloads/NeonPadWorkload.cpp \
63        workloads/NeonPermuteWorkload.cpp \
64        workloads/NeonPooling2dWorkload.cpp \
65        workloads/NeonPreluWorkload.cpp \
66        workloads/NeonQLstmWorkload.cpp \
67        workloads/NeonQuantizedLstmWorkload.cpp \
68        workloads/NeonQuantizeWorkload.cpp \
69        workloads/NeonReshapeWorkload.cpp \
70        workloads/NeonResizeWorkload.cpp \
71        workloads/NeonRsqrtWorkload.cpp \
72        workloads/NeonSliceWorkload.cpp \
73        workloads/NeonSoftmaxWorkload.cpp \
74        workloads/NeonSpaceToBatchNdWorkload.cpp \
75        workloads/NeonSpaceToDepthWorkload.cpp \
76        workloads/NeonSplitterWorkload.cpp \
77        workloads/NeonStackWorkload.cpp \
78        workloads/NeonStridedSliceWorkload.cpp \
79        workloads/NeonSubtractionWorkload.cpp \
80        workloads/NeonTransposeConvolution2dWorkload.cpp \
81        workloads/NeonTransposeWorkload.cpp
82
83else
84
85# ARMNN_COMPUTE_NEON_ENABLED == 0
86# No source file will be compiled for the NEON backend
87
88BACKEND_SOURCES :=
89
90endif
91
92# BACKEND_TEST_SOURCES contains the list of files to be included
93# in the Android unit test build (armnn-tests) and it is picked
94# up by the Android.mk file in the root of ArmNN
95
96# The variable to enable/disable the NEON backend (ARMNN_COMPUTE_NEON_ENABLED is declared in android-nn-driver/Android.mk)
97ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
98
99# ARMNN_COMPUTE_NEON_ENABLED == 1
100# Include the source files for the NEON backend tests
101
102BACKEND_TEST_SOURCES := \
103        test/NeonCreateWorkloadTests.cpp \
104        test/NeonEndToEndTests.cpp \
105        test/NeonJsonPrinterTests.cpp \
106        test/NeonLayerSupportTests.cpp \
107        test/NeonLayerTests.cpp \
108        test/NeonOptimizedNetworkTests.cpp \
109        test/NeonRuntimeTests.cpp \
110        test/NeonTimerTest.cpp
111
112ifeq ($(ARMNN_REF_ENABLED),1)
113BACKEND_TEST_SOURCES += \
114        test/NeonMemCopyTests.cpp
115endif # ARMNN_REF_ENABLED == 1
116
117else
118
119# ARMNN_COMPUTE_NEON_ENABLED == 0
120# No source file will be compiled for the NEON backend tests
121
122BACKEND_TEST_SOURCES :=
123
124endif
125