blob: 8ae50ac7e02cfcf300df2263f0ecb6c62a8c60f5 [file] [log] [blame]
David Beck0dbe0ee2018-09-24 15:59:27 +01001#
Keith Davis69e653f2020-07-02 11:49:26 +01002# Copyright © 2017 ARM Ltd and Contributors. All rights reserved.
David Beck0dbe0ee2018-09-24 15:59:27 +01003# 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 \
Sadik Armagan045f6be2020-09-10 13:37:32 +010018 NeonBackendModelContext.cpp \
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010019 NeonInterceptorScheduler.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010020 NeonLayerSupport.cpp \
Matteo Martincighe67edb22019-08-14 14:05:46 +010021 NeonRegistryInitializer.cpp \
Narumol Prangnawarat4e3e8182019-08-14 12:25:50 +010022 NeonTensorHandleFactory.cpp \
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010023 NeonTimer.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010024 NeonWorkloadFactory.cpp \
Aron Virginas-Tar914e4db2019-09-09 13:36:45 +010025 workloads/NeonAbsWorkload.cpp \
Nattapat Chaimanowongd4b70592018-10-12 11:21:49 +010026 workloads/NeonActivationWorkload.cpp \
Matthew Bentham955258d2018-12-10 10:48:52 +000027 workloads/NeonAdditionWorkload.cpp \
James Conroyd47a0642019-09-17 14:22:06 +010028 workloads/NeonArgMinMaxWorkload.cpp \
Matthew Benthamc48ac8c2018-12-12 16:15:59 +000029 workloads/NeonBatchNormalizationWorkload.cpp \
Mike Kelly56858022020-01-27 12:14:47 +000030 workloads/NeonBatchToSpaceNdWorkload.cpp \
Sadik Armagan48f011e2021-04-21 10:50:34 +010031 workloads/NeonCastWorkload.cpp \
Teresa Charline89dd692021-09-01 16:30:34 +010032 workloads/NeonChannelShuffleWorkload.cpp \
Teresa Charlincedd34f2020-03-30 11:17:30 +010033 workloads/NeonComparisonWorkload.cpp \
Jim Flynn39d487d2019-05-17 15:44:36 +010034 workloads/NeonConcatWorkload.cpp \
Nattapat Chaimanowong233b3d62018-10-12 12:02:18 +010035 workloads/NeonConstantWorkload.cpp \
Narumol Prangnawarat250d3922020-03-30 16:11:04 +010036 workloads/NeonConvertBf16ToFp32Workload.cpp \
37 workloads/NeonConvertFp32ToBf16Workload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010038 workloads/NeonConvertFp16ToFp32Workload.cpp \
39 workloads/NeonConvertFp32ToFp16Workload.cpp \
Nattapat Chaimanowong974b65f2018-10-15 15:07:34 +010040 workloads/NeonConvolution2dWorkload.cpp \
Teresa Charlinec5f7d12021-10-22 17:15:00 +010041 workloads/NeonConvolution3dWorkload.cpp \
Aron Virginas-Tar2f00b742019-09-30 13:28:08 +010042 workloads/NeonDepthToSpaceWorkload.cpp \
Nattapat Chaimanowong77140882018-10-17 11:12:19 +010043 workloads/NeonDepthwiseConvolutionWorkload.cpp \
Narumol Prangnawarat01961a72019-05-30 16:47:12 +010044 workloads/NeonDequantizeWorkload.cpp \
Derek Lamberti6a5e5e82019-12-05 14:41:20 +000045 workloads/NeonDetectionPostProcessWorkload.cpp \
Derek Lambertic77874a2020-04-28 13:34:56 +010046 workloads/NeonExpWorkload.cpp \
Sadik Armagana792a052020-06-23 16:22:23 +010047 workloads/NeonFillWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010048 workloads/NeonFloorFloatWorkload.cpp \
49 workloads/NeonFullyConnectedWorkload.cpp \
Teresa Charlinf540eb82020-04-10 19:24:55 +010050 workloads/NeonGatherWorkload.cpp \
Sadik Armagan0d4863d2019-10-09 14:26:32 +010051 workloads/NeonInstanceNormalizationWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010052 workloads/NeonL2NormalizationFloatWorkload.cpp \
Teresa Charlin50de4fa2021-05-31 18:47:33 +010053 workloads/NeonLogWorkload.cpp \
James Conroy177df1e2020-11-13 10:18:51 +000054 workloads/NeonLogicalAndWorkload.cpp \
55 workloads/NeonLogicalNotWorkload.cpp \
56 workloads/NeonLogicalOrWorkload.cpp \
Keith Davis69e653f2020-07-02 11:49:26 +010057 workloads/NeonLogSoftmaxWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010058 workloads/NeonLstmFloatWorkload.cpp \
Nattapat Chaimanowong4e6597a2018-12-20 14:14:06 +000059 workloads/NeonMaximumWorkload.cpp \
Matthew Benthamfd899962018-12-31 15:49:42 +000060 workloads/NeonMeanWorkload.cpp \
Conor Kennedy54b21692019-01-09 07:57:38 +000061 workloads/NeonMinimumWorkload.cpp \
Conor Kennedyb99480b2019-03-08 08:24:41 +000062 workloads/NeonMultiplicationWorkload.cpp \
Pablo Telloe61f0712020-01-23 10:37:17 +000063 workloads/NeonDivisionWorkload.cpp \
Sadik Armaganac472102020-03-24 09:54:36 +000064 workloads/NeonNegWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010065 workloads/NeonNormalizationFloatWorkload.cpp \
Éanna Ó Catháin12055742019-01-25 10:01:40 +000066 workloads/NeonPadWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010067 workloads/NeonPermuteWorkload.cpp \
Nattapat Chaimanowong5d2e7002018-10-12 16:03:56 +010068 workloads/NeonPooling2dWorkload.cpp \
Nikhil Raj9b461482019-07-03 15:58:31 +010069 workloads/NeonPreluWorkload.cpp \
James Conroycc340932020-05-12 18:08:52 +010070 workloads/NeonQLstmWorkload.cpp \
Francis Murtagh4fc3c482019-08-02 13:20:54 +010071 workloads/NeonQuantizedLstmWorkload.cpp \
Sadik Armaganfabc2892019-05-31 09:05:11 +010072 workloads/NeonQuantizeWorkload.cpp \
Sadik Armagana2747482021-02-09 10:28:54 +000073 workloads/NeonReduceWorkload.cpp \
Nattapat Chaimanowongcce11fc2018-10-12 16:30:56 +010074 workloads/NeonReshapeWorkload.cpp \
Ellen Norris-Thompson37e68682019-07-15 14:23:30 +010075 workloads/NeonResizeWorkload.cpp \
Aron Virginas-Tar0dd3b432019-09-10 13:55:09 +010076 workloads/NeonRsqrtWorkload.cpp \
Teresa Charlin50de4fa2021-05-31 18:47:33 +010077 workloads/NeonSinWorkload.cpp \
josh minor036f02d2019-11-15 14:53:22 -060078 workloads/NeonSliceWorkload.cpp \
Sadik Armaganbe88a572020-04-30 11:39:37 +010079 workloads/NeonSoftmaxWorkload.cpp \
Mike Kelly0be3a882020-01-24 11:27:50 +000080 workloads/NeonSpaceToBatchNdWorkload.cpp \
Ellen Norris-Thompson29794572019-06-26 16:40:36 +010081 workloads/NeonSpaceToDepthWorkload.cpp \
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +010082 workloads/NeonSplitterWorkload.cpp \
Matthew Jackson87f65ea2019-08-01 10:01:34 +010083 workloads/NeonStackWorkload.cpp \
FinnWilliamsArm1fa19192019-08-02 17:26:31 +010084 workloads/NeonStridedSliceWorkload.cpp \
Sadik Armagan581742d2019-08-12 14:11:37 +010085 workloads/NeonSubtractionWorkload.cpp \
Mike Kellyc9ea45a2020-02-28 18:11:58 +000086 workloads/NeonTransposeConvolution2dWorkload.cpp \
87 workloads/NeonTransposeWorkload.cpp
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +010088
Matteo Martincighd95e9062019-01-31 15:35:59 +000089else
90
91# ARMNN_COMPUTE_NEON_ENABLED == 0
92# No source file will be compiled for the NEON backend
93
94BACKEND_SOURCES :=
95
96endif
97
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +010098# BACKEND_TEST_SOURCES contains the list of files to be included
99# in the Android unit test build (armnn-tests) and it is picked
100# up by the Android.mk file in the root of ArmNN
101
Matteo Martincighe67edb22019-08-14 14:05:46 +0100102# 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 +0000103ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
104
105# ARMNN_COMPUTE_NEON_ENABLED == 1
106# Include the source files for the NEON backend tests
107
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100108BACKEND_TEST_SOURCES := \
Narumol Prangnawarat77400452022-01-13 17:43:41 +0000109 test/NeonBackendTests.cpp \
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100110 test/NeonCreateWorkloadTests.cpp \
Aron Virginas-Tar70104002018-10-24 15:33:28 +0100111 test/NeonEndToEndTests.cpp \
112 test/NeonJsonPrinterTests.cpp \
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100113 test/NeonLayerSupportTests.cpp \
114 test/NeonLayerTests.cpp \
Aron Virginas-Tar70104002018-10-24 15:33:28 +0100115 test/NeonOptimizedNetworkTests.cpp \
Aron Virginas-Tarc26ba752018-10-22 13:32:01 +0100116 test/NeonRuntimeTests.cpp \
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100117 test/NeonTimerTest.cpp
Matteo Martincighd95e9062019-01-31 15:35:59 +0000118
Matteo Martincighedd6fdc2019-08-29 18:27:18 +0100119ifeq ($(ARMNN_REF_ENABLED),1)
Matteo Martincighe67edb22019-08-14 14:05:46 +0100120BACKEND_TEST_SOURCES += \
121 test/NeonMemCopyTests.cpp
Matteo Martincighedd6fdc2019-08-29 18:27:18 +0100122endif # ARMNN_REF_ENABLED == 1
Matteo Martincighe67edb22019-08-14 14:05:46 +0100123
Matteo Martincighd95e9062019-01-31 15:35:59 +0000124else
125
126# ARMNN_COMPUTE_NEON_ENABLED == 0
127# No source file will be compiled for the NEON backend tests
128
129BACKEND_TEST_SOURCES :=
130
131endif