blob: 9e9c38cdec0dd22a959cc0b1febadbf4babc6b4b [file] [log] [blame]
David Beck0dbe0ee2018-09-24 15:59:27 +01001#
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
Matteo Martincighe67edb22019-08-14 14:05:46 +010010# The variable to enable/disable the NEON backend (ARMNN_COMPUTE_NEON_ENABLED is declared in android-nn-driver/Android.mk)
Matteo Martincighd95e9062019-01-31 15:35:59 +000011ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
12
13# ARMNN_COMPUTE_NEON_ENABLED == 1
14# Include the source files for the NEON backend
15
David Beck0dbe0ee2018-09-24 15:59:27 +010016BACKEND_SOURCES := \
arovir014424b0a2018-10-04 10:46:04 +010017 NeonBackend.cpp \
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010018 NeonInterceptorScheduler.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010019 NeonLayerSupport.cpp \
Matteo Martincighe67edb22019-08-14 14:05:46 +010020 NeonRegistryInitializer.cpp \
Narumol Prangnawarat4e3e8182019-08-14 12:25:50 +010021 NeonTensorHandleFactory.cpp \
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010022 NeonTimer.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010023 NeonWorkloadFactory.cpp \
Aron Virginas-Tar914e4db2019-09-09 13:36:45 +010024 workloads/NeonAbsWorkload.cpp \
Nattapat Chaimanowongd4b70592018-10-12 11:21:49 +010025 workloads/NeonActivationWorkload.cpp \
Matthew Bentham955258d2018-12-10 10:48:52 +000026 workloads/NeonAdditionWorkload.cpp \
James Conroyd47a0642019-09-17 14:22:06 +010027 workloads/NeonArgMinMaxWorkload.cpp \
Matthew Benthamc48ac8c2018-12-12 16:15:59 +000028 workloads/NeonBatchNormalizationWorkload.cpp \
Mike Kelly56858022020-01-27 12:14:47 +000029 workloads/NeonBatchToSpaceNdWorkload.cpp \
Teresa Charlincedd34f2020-03-30 11:17:30 +010030 workloads/NeonComparisonWorkload.cpp \
Jim Flynn39d487d2019-05-17 15:44:36 +010031 workloads/NeonConcatWorkload.cpp \
Nattapat Chaimanowong233b3d62018-10-12 12:02:18 +010032 workloads/NeonConstantWorkload.cpp \
Narumol Prangnawarat250d3922020-03-30 16:11:04 +010033 workloads/NeonConvertBf16ToFp32Workload.cpp \
34 workloads/NeonConvertFp32ToBf16Workload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010035 workloads/NeonConvertFp16ToFp32Workload.cpp \
36 workloads/NeonConvertFp32ToFp16Workload.cpp \
Nattapat Chaimanowong974b65f2018-10-15 15:07:34 +010037 workloads/NeonConvolution2dWorkload.cpp \
Aron Virginas-Tar2f00b742019-09-30 13:28:08 +010038 workloads/NeonDepthToSpaceWorkload.cpp \
Nattapat Chaimanowong77140882018-10-17 11:12:19 +010039 workloads/NeonDepthwiseConvolutionWorkload.cpp \
Narumol Prangnawarat01961a72019-05-30 16:47:12 +010040 workloads/NeonDequantizeWorkload.cpp \
Derek Lamberti6a5e5e82019-12-05 14:41:20 +000041 workloads/NeonDetectionPostProcessWorkload.cpp \
Derek Lambertic77874a2020-04-28 13:34:56 +010042 workloads/NeonExpWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010043 workloads/NeonFloorFloatWorkload.cpp \
44 workloads/NeonFullyConnectedWorkload.cpp \
Teresa Charlinf540eb82020-04-10 19:24:55 +010045 workloads/NeonGatherWorkload.cpp \
Sadik Armagan0d4863d2019-10-09 14:26:32 +010046 workloads/NeonInstanceNormalizationWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010047 workloads/NeonL2NormalizationFloatWorkload.cpp \
48 workloads/NeonLstmFloatWorkload.cpp \
Nattapat Chaimanowong4e6597a2018-12-20 14:14:06 +000049 workloads/NeonMaximumWorkload.cpp \
Matthew Benthamfd899962018-12-31 15:49:42 +000050 workloads/NeonMeanWorkload.cpp \
Conor Kennedy54b21692019-01-09 07:57:38 +000051 workloads/NeonMinimumWorkload.cpp \
Conor Kennedyb99480b2019-03-08 08:24:41 +000052 workloads/NeonMultiplicationWorkload.cpp \
Pablo Telloe61f0712020-01-23 10:37:17 +000053 workloads/NeonDivisionWorkload.cpp \
Sadik Armaganac472102020-03-24 09:54:36 +000054 workloads/NeonNegWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010055 workloads/NeonNormalizationFloatWorkload.cpp \
Éanna Ó Catháin12055742019-01-25 10:01:40 +000056 workloads/NeonPadWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010057 workloads/NeonPermuteWorkload.cpp \
Nattapat Chaimanowong5d2e7002018-10-12 16:03:56 +010058 workloads/NeonPooling2dWorkload.cpp \
Nikhil Raj9b461482019-07-03 15:58:31 +010059 workloads/NeonPreluWorkload.cpp \
James Conroycc340932020-05-12 18:08:52 +010060 workloads/NeonQLstmWorkload.cpp \
Francis Murtagh4fc3c482019-08-02 13:20:54 +010061 workloads/NeonQuantizedLstmWorkload.cpp \
Sadik Armaganfabc2892019-05-31 09:05:11 +010062 workloads/NeonQuantizeWorkload.cpp \
Nattapat Chaimanowongcce11fc2018-10-12 16:30:56 +010063 workloads/NeonReshapeWorkload.cpp \
Ellen Norris-Thompson37e68682019-07-15 14:23:30 +010064 workloads/NeonResizeWorkload.cpp \
Aron Virginas-Tar0dd3b432019-09-10 13:55:09 +010065 workloads/NeonRsqrtWorkload.cpp \
josh minor036f02d2019-11-15 14:53:22 -060066 workloads/NeonSliceWorkload.cpp \
Sadik Armaganbe88a572020-04-30 11:39:37 +010067 workloads/NeonSoftmaxWorkload.cpp \
Mike Kelly0be3a882020-01-24 11:27:50 +000068 workloads/NeonSpaceToBatchNdWorkload.cpp \
Ellen Norris-Thompson29794572019-06-26 16:40:36 +010069 workloads/NeonSpaceToDepthWorkload.cpp \
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +010070 workloads/NeonSplitterWorkload.cpp \
Matthew Jackson87f65ea2019-08-01 10:01:34 +010071 workloads/NeonStackWorkload.cpp \
FinnWilliamsArm1fa19192019-08-02 17:26:31 +010072 workloads/NeonStridedSliceWorkload.cpp \
Sadik Armagan581742d2019-08-12 14:11:37 +010073 workloads/NeonSubtractionWorkload.cpp \
Mike Kellyc9ea45a2020-02-28 18:11:58 +000074 workloads/NeonTransposeConvolution2dWorkload.cpp \
75 workloads/NeonTransposeWorkload.cpp
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +010076
Matteo Martincighd95e9062019-01-31 15:35:59 +000077else
78
79# ARMNN_COMPUTE_NEON_ENABLED == 0
80# No source file will be compiled for the NEON backend
81
82BACKEND_SOURCES :=
83
84endif
85
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +010086# BACKEND_TEST_SOURCES contains the list of files to be included
87# in the Android unit test build (armnn-tests) and it is picked
88# up by the Android.mk file in the root of ArmNN
89
Matteo Martincighe67edb22019-08-14 14:05:46 +010090# The variable to enable/disable the NEON backend (ARMNN_COMPUTE_NEON_ENABLED is declared in android-nn-driver/Android.mk)
Matteo Martincighd95e9062019-01-31 15:35:59 +000091ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
92
93# ARMNN_COMPUTE_NEON_ENABLED == 1
94# Include the source files for the NEON backend tests
95
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +010096BACKEND_TEST_SOURCES := \
97 test/NeonCreateWorkloadTests.cpp \
Aron Virginas-Tar70104002018-10-24 15:33:28 +010098 test/NeonEndToEndTests.cpp \
99 test/NeonJsonPrinterTests.cpp \
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100100 test/NeonLayerSupportTests.cpp \
101 test/NeonLayerTests.cpp \
Aron Virginas-Tar70104002018-10-24 15:33:28 +0100102 test/NeonOptimizedNetworkTests.cpp \
Aron Virginas-Tarc26ba752018-10-22 13:32:01 +0100103 test/NeonRuntimeTests.cpp \
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100104 test/NeonTimerTest.cpp
Matteo Martincighd95e9062019-01-31 15:35:59 +0000105
Matteo Martincighedd6fdc2019-08-29 18:27:18 +0100106ifeq ($(ARMNN_REF_ENABLED),1)
Matteo Martincighe67edb22019-08-14 14:05:46 +0100107BACKEND_TEST_SOURCES += \
108 test/NeonMemCopyTests.cpp
Matteo Martincighedd6fdc2019-08-29 18:27:18 +0100109endif # ARMNN_REF_ENABLED == 1
Matteo Martincighe67edb22019-08-14 14:05:46 +0100110
Matteo Martincighd95e9062019-01-31 15:35:59 +0000111else
112
113# ARMNN_COMPUTE_NEON_ENABLED == 0
114# No source file will be compiled for the NEON backend tests
115
116BACKEND_TEST_SOURCES :=
117
118endif