blob: ed942e67cd05ac98c8b4d94631ef3081b5f910c6 [file] [log] [blame]
David Beckb4540be2018-09-24 13:18: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 Martincighedd6fdc2019-08-29 18:27:18 +010010# The variable to enable/disable the reference backend (ARMNN_REF_ENABLED is declared in android-nn-driver/Android.mk)
11ifeq ($(ARMNN_REF_ENABLED),1)
Matteo Martincighe67edb22019-08-14 14:05:46 +010012
Matteo Martincighedd6fdc2019-08-29 18:27:18 +010013# ARMNN_REF_ENABLED == 1
Matteo Martincighe67edb22019-08-14 14:05:46 +010014# Include the source files for the reference backend
15
David Beckb4540be2018-09-24 13:18:27 +010016BACKEND_SOURCES := \
arovir014424b0a2018-10-04 10:46:04 +010017 RefBackend.cpp \
David Beckb4540be2018-09-24 13:18:27 +010018 RefLayerSupport.cpp \
Matthew Bentham7c1603a2019-06-21 17:22:23 +010019 RefMemoryManager.cpp \
Matthew Bentham4cefc412019-06-18 16:14:34 +010020 RefTensorHandle.cpp \
David Beckb4540be2018-09-24 13:18:27 +010021 RefWorkloadFactory.cpp \
Matteo Martincigh4e73b422019-08-08 13:46:32 +010022 RefRegistryInitializer.cpp \
Ferran Balaguerbfeb2712019-08-07 15:14:56 +010023 RefTensorHandleFactory.cpp \
David Beckb4540be2018-09-24 13:18:27 +010024 workloads/Activation.cpp \
Nikhil Raj68c2c902019-09-19 11:21:11 +010025 workloads/ArgMinMax.cpp \
Samuel Yap4b7a34d2022-07-06 15:36:03 +010026 workloads/BatchMatMulImpl.cpp \
Matteo Martincigh3122bd52019-06-03 16:54:25 +010027 workloads/BatchNormImpl.cpp \
Éanna Ó Catháin4e1e1362018-11-12 11:36:34 +000028 workloads/BatchToSpaceNd.cpp \
David Beckb4540be2018-09-24 13:18:27 +010029 workloads/Broadcast.cpp \
30 workloads/ConvImpl.cpp \
Matthew Sloyanb63a3112021-09-08 13:05:51 +010031 workloads/Conv3dImpl.cpp \
Nattapat Chaimanowongcfdcadf2018-12-06 11:54:33 +000032 workloads/Debug.cpp \
Aron Virginas-Tar73f66422019-09-23 19:11:59 +010033 workloads/DepthToSpace.cpp \
Narumol Prangnawaratbc67cef2019-01-31 15:31:54 +000034 workloads/DetectionPostProcess.cpp \
Jan Eilersf7107932019-11-01 11:09:36 +000035 workloads/Dequantize.cpp \
Éanna Ó Catháind57415d2018-11-28 16:24:38 +000036 workloads/ElementwiseFunction.cpp \
Ryan OSheaf4bfa6a2020-06-10 11:33:37 +010037 workloads/Fill.cpp \
David Beckb4540be2018-09-24 13:18:27 +010038 workloads/FullyConnected.cpp \
narpra014951d842019-01-18 16:53:53 +000039 workloads/Gather.cpp \
Kevin May09ca49c2019-10-09 12:37:34 +010040 workloads/InstanceNorm.cpp \
Aron Virginas-Tare662a942019-10-14 15:12:00 +010041 workloads/LogSoftmax.cpp \
Narumol Prangnawarate5339e72021-07-28 17:33:28 +010042 workloads/Lstm.cpp \
Jan Eilers38e05bd2019-06-26 13:10:09 +010043 workloads/LstmUtils.cpp \
Jim Flynne242f2d2019-05-22 14:24:13 +010044 workloads/Concatenate.cpp \
Matthew Sloyan2e5d0b22021-10-21 14:05:31 +010045 workloads/MirrorPad.cpp \
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010046 workloads/Pad.cpp \
David Beckb4540be2018-09-24 13:18:27 +010047 workloads/Pooling2d.cpp \
Tamás Nyíri7b885b32021-10-26 14:47:57 +010048 workloads/Pooling3d.cpp \
Matteo Martincighab9e5252019-06-13 17:27:46 +010049 workloads/PreluImpl.cpp \
Sadik Armagan0c3ea5b2021-02-03 09:29:30 +000050 workloads/Reduce.cpp \
Nattapat Chaimanowongae2c5f02019-04-24 16:19:57 +010051 workloads/RefActivationWorkload.cpp \
Nikhil Raj68c2c902019-09-19 11:21:11 +010052 workloads/RefArgMinMaxWorkload.cpp \
Samuel Yap4b7a34d2022-07-06 15:36:03 +010053 workloads/RefBatchMatMulWorkload.cpp \
Matteo Martincigh3122bd52019-06-03 16:54:25 +010054 workloads/RefBatchNormalizationWorkload.cpp \
Francis Murtagh47ea3c02019-06-20 12:07:19 +010055 workloads/RefBatchToSpaceNdWorkload.cpp \
mathad01b392e982021-04-07 12:07:30 +010056 workloads/RefCastWorkload.cpp \
Simon Obute51f67772021-09-03 15:50:13 +010057 workloads/RefChannelShuffleWorkload.cpp \
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +010058 workloads/RefComparisonWorkload.cpp \
Jim Flynn4ed34ed2019-05-17 15:32:17 +010059 workloads/RefConcatWorkload.cpp \
narpra01db2b1602019-01-23 15:23:11 +000060 workloads/RefConstantWorkload.cpp \
Narumol Prangnawarat7ddbbae2020-03-13 10:26:05 +000061 workloads/RefConvertBf16ToFp32Workload.cpp \
David Beckb4540be2018-09-24 13:18:27 +010062 workloads/RefConvertFp16ToFp32Workload.cpp \
Narumol Prangnawaratea54a012020-03-16 16:36:10 +000063 workloads/RefConvertFp32ToBf16Workload.cpp \
David Beckb4540be2018-09-24 13:18:27 +010064 workloads/RefConvertFp32ToFp16Workload.cpp \
Mike Kelly9b398322019-05-22 17:21:49 +010065 workloads/RefConvolution2dWorkload.cpp \
Matthew Sloyanb63a3112021-09-08 13:05:51 +010066 workloads/RefConvolution3dWorkload.cpp \
Nattapat Chaimanowongcfdcadf2018-12-06 11:54:33 +000067 workloads/RefDebugWorkload.cpp \
Aron Virginas-Tar73f66422019-09-23 19:11:59 +010068 workloads/RefDepthToSpaceWorkload.cpp \
Ruomei Yan495852f2019-05-23 11:37:33 +010069 workloads/RefDepthwiseConvolution2dWorkload.cpp \
Nattapat Chaimanowong8a54ac02019-03-29 15:25:04 +000070 workloads/RefDequantizeWorkload.cpp \
Aron Virginas-Tar6331f912019-06-03 17:10:02 +010071 workloads/RefDetectionPostProcessWorkload.cpp \
Éanna Ó Catháind57415d2018-11-28 16:24:38 +000072 workloads/RefElementwiseWorkload.cpp \
josh minor4a3c6102020-01-06 16:40:46 -060073 workloads/RefElementwiseUnaryWorkload.cpp \
David Beckb4540be2018-09-24 13:18:27 +010074 workloads/RefFakeQuantizationFloat32Workload.cpp \
Ryan OSheaf4bfa6a2020-06-10 11:33:37 +010075 workloads/RefFillWorkload.cpp \
James Conroy83735b12019-05-30 16:36:59 +010076 workloads/RefFloorWorkload.cpp \
Francis Murtagh43aec582019-05-27 12:14:10 +010077 workloads/RefFullyConnectedWorkload.cpp \
Teresa Charlinb2d3ec52022-04-12 22:07:09 +010078 workloads/RefGatherNdWorkload.cpp \
narpra014951d842019-01-18 16:53:53 +000079 workloads/RefGatherWorkload.cpp \
Kevin May09ca49c2019-10-09 12:37:34 +010080 workloads/RefInstanceNormalizationWorkload.cpp \
Ferran Balaguerd73d14f2019-06-10 10:29:54 +010081 workloads/RefL2NormalizationWorkload.cpp \
James Conroyaba90cd2020-11-06 16:28:18 +000082 workloads/RefLogicalBinaryWorkload.cpp \
83 workloads/RefLogicalUnaryWorkload.cpp \
Aron Virginas-Tare662a942019-10-14 15:12:00 +010084 workloads/RefLogSoftmaxWorkload.cpp \
Nattapat Chaimanowongeb2b3292019-05-07 12:02:30 +010085 workloads/RefLstmWorkload.cpp \
James Conroy4d1ff582019-06-10 17:06:39 +010086 workloads/RefMeanWorkload.cpp \
Matteo Martincigh2fc70c52019-06-05 14:12:48 +010087 workloads/RefNormalizationWorkload.cpp \
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010088 workloads/RefPadWorkload.cpp \
David Beckb4540be2018-09-24 13:18:27 +010089 workloads/RefPermuteWorkload.cpp \
Teresa Charlina3b20472019-06-06 11:12:32 +010090 workloads/RefPooling2dWorkload.cpp \
Tamás Nyíri7b885b32021-10-26 14:47:57 +010091 workloads/RefPooling3dWorkload.cpp \
Matteo Martincighab9e5252019-06-13 17:27:46 +010092 workloads/RefPreluWorkload.cpp \
James Conroy4f1f8992020-04-29 20:01:10 +010093 workloads/RefQLstmWorkload.cpp \
Derek Lamberti5f400d62019-03-25 15:41:58 +000094 workloads/RefQuantizeWorkload.cpp \
Sadik Armagan0c3ea5b2021-02-03 09:29:30 +000095 workloads/RefReduceWorkload.cpp \
Nina Drozd2f2778f2019-05-27 10:37:05 +010096 workloads/RefReshapeWorkload.cpp \
Teresa Charlin970f43b2019-07-01 13:51:07 +010097 workloads/RefResizeWorkload.cpp \
Aron Virginas-Tar92b9f872019-09-17 17:27:04 +010098 workloads/RefSliceWorkload.cpp \
nikraj01a121de32019-05-29 10:51:05 +010099 workloads/RefSoftmaxWorkload.cpp \
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000100 workloads/RefSpaceToBatchNdWorkload.cpp \
Keith Davisa57eccb2019-06-14 17:33:22 +0100101 workloads/RefSpaceToDepthWorkload.cpp \
Matthew Jackson81e601c2019-07-11 12:07:09 +0100102 workloads/RefStackWorkload.cpp \
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +0000103 workloads/RefStridedSliceWorkload.cpp \
Ruomei Yan25339c32019-05-28 16:48:20 +0100104 workloads/RefSplitterWorkload.cpp \
Aron Virginas-Tar735a4502019-06-26 15:02:47 +0100105 workloads/RefTransposeConvolution2dWorkload.cpp \
Mike Kellyc9ea45a2020-02-28 18:11:58 +0000106 workloads/RefTransposeWorkload.cpp \
Narumol Prangnawarate5339e72021-07-28 17:33:28 +0100107 workloads/RefUnidirectionalSequenceLstmWorkload.cpp \
Teresa Charlin970f43b2019-07-01 13:51:07 +0100108 workloads/Resize.cpp \
Aron Virginas-Tar92b9f872019-09-17 17:27:04 +0100109 workloads/Slice.cpp \
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000110 workloads/SpaceToBatchNd.cpp \
Keith Davisa57eccb2019-06-14 17:33:22 +0100111 workloads/SpaceToDepth.cpp \
Matthew Jackson81e601c2019-07-11 12:07:09 +0100112 workloads/Stack.cpp \
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +0000113 workloads/StridedSlice.cpp \
ruoyan01f9426b32019-01-03 15:10:00 +0000114 workloads/StringMapping.cpp \
Ruomei Yan25339c32019-05-28 16:48:20 +0100115 workloads/Softmax.cpp \
Aron Virginas-Tar735a4502019-06-26 15:02:47 +0100116 workloads/Splitter.cpp \
117 workloads/TransposeConvolution2d.cpp
Matteo Martincighe67edb22019-08-14 14:05:46 +0100118else
119
Matteo Martincighedd6fdc2019-08-29 18:27:18 +0100120# ARMNN_REF_ENABLED == 0
Matteo Martincighe67edb22019-08-14 14:05:46 +0100121# No source file will be compiled for the reference backend
122
123BACKEND_SOURCES :=
124
125endif
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100126
127# BACKEND_TEST_SOURCES contains the list of files to be included
128# in the Android unit test build (armnn-tests) and it is picked
129# up by the Android.mk file in the root of ArmNN
130
Matteo Martincighedd6fdc2019-08-29 18:27:18 +0100131# The variable to enable/disable the CL backend (ARMNN_REF_ENABLED is declared in android-nn-driver/Android.mk)
132ifeq ($(ARMNN_REF_ENABLED),1)
Matteo Martincighe67edb22019-08-14 14:05:46 +0100133
Matteo Martincighedd6fdc2019-08-29 18:27:18 +0100134# ARMNN_REF_ENABLED == 1
Matteo Martincighe67edb22019-08-14 14:05:46 +0100135# Include the source files for the CL backend tests
136
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100137BACKEND_TEST_SOURCES := \
Colm Donelancf34f512020-02-20 14:31:49 +0000138 test/ArgMinMaxTests.cpp \
Narumol Prangnawarat1c52a382022-01-13 11:47:35 +0000139 test/RefBackendTests.cpp \
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100140 test/RefCreateWorkloadTests.cpp \
Matthew Bentham4cefc412019-06-18 16:14:34 +0100141 test/RefDetectionPostProcessTests.cpp \
Aron Virginas-Tar70104002018-10-24 15:33:28 +0100142 test/RefEndToEndTests.cpp \
143 test/RefJsonPrinterTests.cpp \
Aron Virginas-Tarceae3aa2018-10-18 10:39:38 +0100144 test/RefLayerSupportTests.cpp \
Aron Virginas-Tarc26ba752018-10-22 13:32:01 +0100145 test/RefLayerTests.cpp \
Matthew Bentham7c1603a2019-06-21 17:22:23 +0100146 test/RefMemoryManagerTests.cpp \
Aron Virginas-Tar70104002018-10-24 15:33:28 +0100147 test/RefOptimizedNetworkTests.cpp \
Colm Donelancf34f512020-02-20 14:31:49 +0000148 test/RefRuntimeTests.cpp \
149 test/RefTensorHandleTests.cpp
Matteo Martincighe67edb22019-08-14 14:05:46 +0100150else
151
Matteo Martincighedd6fdc2019-08-29 18:27:18 +0100152# ARMNN_REF_ENABLED == 0
Matteo Martincighe67edb22019-08-14 14:05:46 +0100153# No source file will be compiled for the reference backend tests
154
155BACKEND_TEST_SOURCES :=
156
157endif