aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/backend.mk
blob: e29919c2ede64578765dd6c7a7709dbd4fb5e397 (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
#
# 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 NEON backend (ARMNN_COMPUTE_NEON_ENABLED is declared in android-nn-driver/Android.mk)
ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)

# ARMNN_COMPUTE_NEON_ENABLED == 1
# Include the source files for the NEON backend

BACKEND_SOURCES := \
        NeonBackend.cpp \
        NeonInterceptorScheduler.cpp \
        NeonLayerSupport.cpp \
        NeonRegistryInitializer.cpp \
        NeonTensorHandleFactory.cpp \
        NeonTimer.cpp \
        NeonWorkloadFactory.cpp \
        workloads/NeonActivationWorkload.cpp \
        workloads/NeonAdditionWorkload.cpp \
        workloads/NeonBatchNormalizationWorkload.cpp \
        workloads/NeonConcatWorkload.cpp \
        workloads/NeonConstantWorkload.cpp \
        workloads/NeonConvertFp16ToFp32Workload.cpp \
        workloads/NeonConvertFp32ToFp16Workload.cpp \
        workloads/NeonConvolution2dWorkload.cpp \
        workloads/NeonDepthwiseConvolutionWorkload.cpp \
        workloads/NeonDequantizeWorkload.cpp \
        workloads/NeonFloorFloatWorkload.cpp \
        workloads/NeonFullyConnectedWorkload.cpp \
        workloads/NeonGreaterWorkload.cpp \
        workloads/NeonL2NormalizationFloatWorkload.cpp \
        workloads/NeonLstmFloatWorkload.cpp \
        workloads/NeonMaximumWorkload.cpp \
        workloads/NeonMeanWorkload.cpp \
        workloads/NeonMinimumWorkload.cpp \
        workloads/NeonMultiplicationWorkload.cpp \
        workloads/NeonNormalizationFloatWorkload.cpp \
        workloads/NeonPadWorkload.cpp \
        workloads/NeonPermuteWorkload.cpp \
        workloads/NeonPooling2dWorkload.cpp \
        workloads/NeonPreluWorkload.cpp \
        workloads/NeonQuantizedLstmWorkload.cpp \
        workloads/NeonQuantizeWorkload.cpp \
        workloads/NeonReshapeWorkload.cpp \
        workloads/NeonResizeWorkload.cpp \
        workloads/NeonSoftmaxBaseWorkload.cpp \
        workloads/NeonSoftmaxFloatWorkload.cpp \
        workloads/NeonSoftmaxUint8Workload.cpp \
        workloads/NeonSpaceToDepthWorkload.cpp \
        workloads/NeonSplitterWorkload.cpp \
        workloads/NeonStackWorkload.cpp \
        workloads/NeonStridedSliceWorkload.cpp \
        workloads/NeonSubtractionWorkload.cpp \
        workloads/NeonTransposeConvolution2dWorkload.cpp

else

# ARMNN_COMPUTE_NEON_ENABLED == 0
# No source file will be compiled for the NEON 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 NEON backend (ARMNN_COMPUTE_NEON_ENABLED is declared in android-nn-driver/Android.mk)
ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)

# ARMNN_COMPUTE_NEON_ENABLED == 1
# Include the source files for the NEON backend tests

BACKEND_TEST_SOURCES := \
        test/NeonCreateWorkloadTests.cpp \
        test/NeonEndToEndTests.cpp \
        test/NeonJsonPrinterTests.cpp \
        test/NeonLayerSupportTests.cpp \
        test/NeonLayerTests.cpp \
        test/NeonOptimizedNetworkTests.cpp \
        test/NeonRuntimeTests.cpp \
        test/NeonTimerTest.cpp

ifeq ($(ARMNN_REF_ENABLED),1)
BACKEND_TEST_SOURCES += \
        test/NeonMemCopyTests.cpp
endif # ARMNN_REF_ENABLED == 1

else

# ARMNN_COMPUTE_NEON_ENABLED == 0
# No source file will be compiled for the NEON backend tests

BACKEND_TEST_SOURCES :=

endif