blob: 3ab07a94315fbf96b7960d175455991939f0e8b5 [file] [log] [blame]
David Beck0dbe0ee2018-09-24 15:59:27 +01001#
Mike Kellyb6de7a12023-07-18 12:03:41 +01002# Copyright © 2017-2023 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 \
Mike Kelly4cc341c2023-07-07 15:43:06 +010022 NeonTensorHandle.cpp \
Narumol Prangnawarat4e3e8182019-08-14 12:25:50 +010023 NeonTensorHandleFactory.cpp \
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010024 NeonTimer.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010025 NeonWorkloadFactory.cpp \
Aron Virginas-Tar914e4db2019-09-09 13:36:45 +010026 workloads/NeonAbsWorkload.cpp \
Nattapat Chaimanowongd4b70592018-10-12 11:21:49 +010027 workloads/NeonActivationWorkload.cpp \
Matthew Bentham955258d2018-12-10 10:48:52 +000028 workloads/NeonAdditionWorkload.cpp \
James Conroyd47a0642019-09-17 14:22:06 +010029 workloads/NeonArgMinMaxWorkload.cpp \
Teresa Charlin0f86ecf2022-10-13 15:47:08 +010030 workloads/NeonBatchMatMulWorkload.cpp \
Matthew Benthamc48ac8c2018-12-12 16:15:59 +000031 workloads/NeonBatchNormalizationWorkload.cpp \
Mike Kelly56858022020-01-27 12:14:47 +000032 workloads/NeonBatchToSpaceNdWorkload.cpp \
Sadik Armagan48f011e2021-04-21 10:50:34 +010033 workloads/NeonCastWorkload.cpp \
Teresa Charline89dd692021-09-01 16:30:34 +010034 workloads/NeonChannelShuffleWorkload.cpp \
Teresa Charlincedd34f2020-03-30 11:17:30 +010035 workloads/NeonComparisonWorkload.cpp \
Jim Flynn39d487d2019-05-17 15:44:36 +010036 workloads/NeonConcatWorkload.cpp \
Nattapat Chaimanowong233b3d62018-10-12 12:02:18 +010037 workloads/NeonConstantWorkload.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 \
John Mcloughlin34c1c382023-05-17 15:08:36 +010046 workloads/NeonElementwiseBinaryWorkload.cpp \
Derek Lambertic77874a2020-04-28 13:34:56 +010047 workloads/NeonExpWorkload.cpp \
Sadik Armagana792a052020-06-23 16:22:23 +010048 workloads/NeonFillWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010049 workloads/NeonFloorFloatWorkload.cpp \
50 workloads/NeonFullyConnectedWorkload.cpp \
Teresa Charlin9145e382023-08-17 18:44:58 +010051 workloads/NeonFusedWorkload.cpp \
Teresa Charlinf540eb82020-04-10 19:24:55 +010052 workloads/NeonGatherWorkload.cpp \
Teresa Charlinbd22c7d2022-04-26 18:14:12 +010053 workloads/NeonGatherNdWorkload.cpp \
Sadik Armagan0d4863d2019-10-09 14:26:32 +010054 workloads/NeonInstanceNormalizationWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010055 workloads/NeonL2NormalizationFloatWorkload.cpp \
Teresa Charlin50de4fa2021-05-31 18:47:33 +010056 workloads/NeonLogWorkload.cpp \
James Conroy177df1e2020-11-13 10:18:51 +000057 workloads/NeonLogicalAndWorkload.cpp \
58 workloads/NeonLogicalNotWorkload.cpp \
59 workloads/NeonLogicalOrWorkload.cpp \
Keith Davis69e653f2020-07-02 11:49:26 +010060 workloads/NeonLogSoftmaxWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010061 workloads/NeonLstmFloatWorkload.cpp \
Nattapat Chaimanowong4e6597a2018-12-20 14:14:06 +000062 workloads/NeonMaximumWorkload.cpp \
Matthew Benthamfd899962018-12-31 15:49:42 +000063 workloads/NeonMeanWorkload.cpp \
Conor Kennedy54b21692019-01-09 07:57:38 +000064 workloads/NeonMinimumWorkload.cpp \
Conor Kennedyb99480b2019-03-08 08:24:41 +000065 workloads/NeonMultiplicationWorkload.cpp \
Pablo Telloe61f0712020-01-23 10:37:17 +000066 workloads/NeonDivisionWorkload.cpp \
Sadik Armaganac472102020-03-24 09:54:36 +000067 workloads/NeonNegWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010068 workloads/NeonNormalizationFloatWorkload.cpp \
Éanna Ó Catháin12055742019-01-25 10:01:40 +000069 workloads/NeonPadWorkload.cpp \
David Beck0dbe0ee2018-09-24 15:59:27 +010070 workloads/NeonPermuteWorkload.cpp \
Nattapat Chaimanowong5d2e7002018-10-12 16:03:56 +010071 workloads/NeonPooling2dWorkload.cpp \
Ryan OShea19e79422022-05-04 00:38:03 +010072 workloads/NeonPooling3dWorkload.cpp \
Nikhil Raj9b461482019-07-03 15:58:31 +010073 workloads/NeonPreluWorkload.cpp \
James Conroycc340932020-05-12 18:08:52 +010074 workloads/NeonQLstmWorkload.cpp \
Francis Murtagh4fc3c482019-08-02 13:20:54 +010075 workloads/NeonQuantizedLstmWorkload.cpp \
Sadik Armaganfabc2892019-05-31 09:05:11 +010076 workloads/NeonQuantizeWorkload.cpp \
Sadik Armagana2747482021-02-09 10:28:54 +000077 workloads/NeonReduceWorkload.cpp \
Nattapat Chaimanowongcce11fc2018-10-12 16:30:56 +010078 workloads/NeonReshapeWorkload.cpp \
Ellen Norris-Thompson37e68682019-07-15 14:23:30 +010079 workloads/NeonResizeWorkload.cpp \
Tianle Cheng21a9f332023-11-09 13:56:53 +000080 workloads/NeonReverseV2Workload.cpp \
Aron Virginas-Tar0dd3b432019-09-10 13:55:09 +010081 workloads/NeonRsqrtWorkload.cpp \
Teresa Charlin50de4fa2021-05-31 18:47:33 +010082 workloads/NeonSinWorkload.cpp \
josh minor036f02d2019-11-15 14:53:22 -060083 workloads/NeonSliceWorkload.cpp \
Sadik Armaganbe88a572020-04-30 11:39:37 +010084 workloads/NeonSoftmaxWorkload.cpp \
Mike Kelly0be3a882020-01-24 11:27:50 +000085 workloads/NeonSpaceToBatchNdWorkload.cpp \
Ellen Norris-Thompson29794572019-06-26 16:40:36 +010086 workloads/NeonSpaceToDepthWorkload.cpp \
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +010087 workloads/NeonSplitterWorkload.cpp \
Teresa Charlin06145cc2022-05-05 15:31:30 +010088 workloads/NeonSqrtWorkload.cpp \
Matthew Jackson87f65ea2019-08-01 10:01:34 +010089 workloads/NeonStackWorkload.cpp \
FinnWilliamsArm1fa19192019-08-02 17:26:31 +010090 workloads/NeonStridedSliceWorkload.cpp \
Sadik Armagan581742d2019-08-12 14:11:37 +010091 workloads/NeonSubtractionWorkload.cpp \
David Monahan36e6eae2023-07-26 18:37:45 +010092 workloads/NeonTileWorkload.cpp \
Mike Kellyc9ea45a2020-02-28 18:11:58 +000093 workloads/NeonTransposeConvolution2dWorkload.cpp \
Cathal Corbettfd5bec42022-03-03 15:13:23 +000094 workloads/NeonTransposeWorkload.cpp \
Mike Kelly12994962022-04-21 11:57:09 +010095 workloads/NeonUnidirectionalSequenceLstmFloatWorkload.cpp \
96 workloads/NeonUnidirectionalSequenceLstmWorkload.cpp
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +010097
Matteo Martincighd95e9062019-01-31 15:35:59 +000098else
99
100# ARMNN_COMPUTE_NEON_ENABLED == 0
101# No source file will be compiled for the NEON backend
102
103BACKEND_SOURCES :=
104
105endif
106
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100107# BACKEND_TEST_SOURCES contains the list of files to be included
108# in the Android unit test build (armnn-tests) and it is picked
109# up by the Android.mk file in the root of ArmNN
110
Matteo Martincighe67edb22019-08-14 14:05:46 +0100111# 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 +0000112ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1)
113
114# ARMNN_COMPUTE_NEON_ENABLED == 1
115# Include the source files for the NEON backend tests
116
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100117BACKEND_TEST_SOURCES := \
Narumol Prangnawarat77400452022-01-13 17:43:41 +0000118 test/NeonBackendTests.cpp \
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100119 test/NeonCreateWorkloadTests.cpp \
Aron Virginas-Tar70104002018-10-24 15:33:28 +0100120 test/NeonEndToEndTests.cpp \
121 test/NeonJsonPrinterTests.cpp \
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100122 test/NeonLayerSupportTests.cpp \
123 test/NeonLayerTests.cpp \
Aron Virginas-Tar70104002018-10-24 15:33:28 +0100124 test/NeonOptimizedNetworkTests.cpp \
Aron Virginas-Tarc26ba752018-10-22 13:32:01 +0100125 test/NeonRuntimeTests.cpp \
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100126 test/NeonTimerTest.cpp
Matteo Martincighd95e9062019-01-31 15:35:59 +0000127
Matteo Martincighedd6fdc2019-08-29 18:27:18 +0100128ifeq ($(ARMNN_REF_ENABLED),1)
Matteo Martincighe67edb22019-08-14 14:05:46 +0100129BACKEND_TEST_SOURCES += \
130 test/NeonMemCopyTests.cpp
Matteo Martincighedd6fdc2019-08-29 18:27:18 +0100131endif # ARMNN_REF_ENABLED == 1
Matteo Martincighe67edb22019-08-14 14:05:46 +0100132
Matteo Martincighd95e9062019-01-31 15:35:59 +0000133else
134
135# ARMNN_COMPUTE_NEON_ENABLED == 0
136# No source file will be compiled for the NEON backend tests
137
138BACKEND_TEST_SOURCES :=
139
140endif