1# 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 10# The variable to enable/disable the reference backend (ARMNN_REF_ENABLED is declared in android-nn-driver/Android.mk) 11ifeq ($(ARMNN_REF_ENABLED),1) 12 13# ARMNN_REF_ENABLED == 1 14# Include the source files for the reference backend 15 16BACKEND_SOURCES := \ 17 RefBackend.cpp \ 18 RefLayerSupport.cpp \ 19 RefMemoryManager.cpp \ 20 RefTensorHandle.cpp \ 21 RefWorkloadFactory.cpp \ 22 RefRegistryInitializer.cpp \ 23 RefTensorHandleFactory.cpp \ 24 workloads/Activation.cpp \ 25 workloads/ArgMinMax.cpp \ 26 workloads/BatchMatMulImpl.cpp \ 27 workloads/BatchNormImpl.cpp \ 28 workloads/BatchToSpaceNd.cpp \ 29 workloads/Broadcast.cpp \ 30 workloads/ConvImpl.cpp \ 31 workloads/Conv3dImpl.cpp \ 32 workloads/Debug.cpp \ 33 workloads/DepthToSpace.cpp \ 34 workloads/DetectionPostProcess.cpp \ 35 workloads/Dequantize.cpp \ 36 workloads/ElementwiseFunction.cpp \ 37 workloads/Fill.cpp \ 38 workloads/FullyConnected.cpp \ 39 workloads/Gather.cpp \ 40 workloads/InstanceNorm.cpp \ 41 workloads/LogSoftmax.cpp \ 42 workloads/Lstm.cpp \ 43 workloads/LstmUtils.cpp \ 44 workloads/Concatenate.cpp \ 45 workloads/MirrorPad.cpp \ 46 workloads/Pad.cpp \ 47 workloads/Pooling2d.cpp \ 48 workloads/Pooling3d.cpp \ 49 workloads/PreluImpl.cpp \ 50 workloads/Reduce.cpp \ 51 workloads/RefActivationWorkload.cpp \ 52 workloads/RefArgMinMaxWorkload.cpp \ 53 workloads/RefBatchMatMulWorkload.cpp \ 54 workloads/RefBatchNormalizationWorkload.cpp \ 55 workloads/RefBatchToSpaceNdWorkload.cpp \ 56 workloads/RefCastWorkload.cpp \ 57 workloads/RefChannelShuffleWorkload.cpp \ 58 workloads/RefComparisonWorkload.cpp \ 59 workloads/RefConcatWorkload.cpp \ 60 workloads/RefConstantWorkload.cpp \ 61 workloads/RefConvertFp16ToFp32Workload.cpp \ 62 workloads/RefConvertFp32ToFp16Workload.cpp \ 63 workloads/RefConvolution2dWorkload.cpp \ 64 workloads/RefConvolution3dWorkload.cpp \ 65 workloads/RefDebugWorkload.cpp \ 66 workloads/RefDepthToSpaceWorkload.cpp \ 67 workloads/RefDepthwiseConvolution2dWorkload.cpp \ 68 workloads/RefDequantizeWorkload.cpp \ 69 workloads/RefDetectionPostProcessWorkload.cpp \ 70 workloads/RefElementwiseBinaryWorkload.cpp \ 71 workloads/RefElementwiseWorkload.cpp \ 72 workloads/RefElementwiseUnaryWorkload.cpp \ 73 workloads/RefFakeQuantizationFloat32Workload.cpp \ 74 workloads/RefFillWorkload.cpp \ 75 workloads/RefFloorWorkload.cpp \ 76 workloads/RefFullyConnectedWorkload.cpp \ 77 workloads/RefGatherNdWorkload.cpp \ 78 workloads/RefGatherWorkload.cpp \ 79 workloads/RefInstanceNormalizationWorkload.cpp \ 80 workloads/RefL2NormalizationWorkload.cpp \ 81 workloads/RefLogicalBinaryWorkload.cpp \ 82 workloads/RefLogicalUnaryWorkload.cpp \ 83 workloads/RefLogSoftmaxWorkload.cpp \ 84 workloads/RefLstmWorkload.cpp \ 85 workloads/RefMeanWorkload.cpp \ 86 workloads/RefNormalizationWorkload.cpp \ 87 workloads/RefPadWorkload.cpp \ 88 workloads/RefPermuteWorkload.cpp \ 89 workloads/RefPooling2dWorkload.cpp \ 90 workloads/RefPooling3dWorkload.cpp \ 91 workloads/RefPreluWorkload.cpp \ 92 workloads/RefQLstmWorkload.cpp \ 93 workloads/RefQuantizeWorkload.cpp \ 94 workloads/RefReduceWorkload.cpp \ 95 workloads/RefReshapeWorkload.cpp \ 96 workloads/RefResizeWorkload.cpp \ 97 workloads/RefSliceWorkload.cpp \ 98 workloads/RefSoftmaxWorkload.cpp \ 99 workloads/RefSpaceToBatchNdWorkload.cpp \ 100 workloads/RefSpaceToDepthWorkload.cpp \ 101 workloads/RefStackWorkload.cpp \ 102 workloads/RefStridedSliceWorkload.cpp \ 103 workloads/RefSplitterWorkload.cpp \ 104 workloads/RefTransposeConvolution2dWorkload.cpp \ 105 workloads/RefTransposeWorkload.cpp \ 106 workloads/RefUnidirectionalSequenceLstmWorkload.cpp \ 107 workloads/Resize.cpp \ 108 workloads/Slice.cpp \ 109 workloads/SpaceToBatchNd.cpp \ 110 workloads/SpaceToDepth.cpp \ 111 workloads/Stack.cpp \ 112 workloads/StridedSlice.cpp \ 113 workloads/StringMapping.cpp \ 114 workloads/Softmax.cpp \ 115 workloads/Splitter.cpp \ 116 workloads/TransposeConvolution2d.cpp 117else 118 119# ARMNN_REF_ENABLED == 0 120# No source file will be compiled for the reference backend 121 122BACKEND_SOURCES := 123 124endif 125 126# BACKEND_TEST_SOURCES contains the list of files to be included 127# in the Android unit test build (armnn-tests) and it is picked 128# up by the Android.mk file in the root of ArmNN 129 130# The variable to enable/disable the CL backend (ARMNN_REF_ENABLED is declared in android-nn-driver/Android.mk) 131ifeq ($(ARMNN_REF_ENABLED),1) 132 133# ARMNN_REF_ENABLED == 1 134# Include the source files for the CL backend tests 135 136BACKEND_TEST_SOURCES := \ 137 test/ArgMinMaxTests.cpp \ 138 test/RefBackendTests.cpp \ 139 test/RefCreateWorkloadTests.cpp \ 140 test/RefDetectionPostProcessTests.cpp \ 141 test/RefEndToEndTests.cpp \ 142 test/RefJsonPrinterTests.cpp \ 143 test/RefLayerSupportTests.cpp \ 144 test/RefLayerTests.cpp \ 145 test/RefMemoryManagerTests.cpp \ 146 test/RefOptimizedNetworkTests.cpp \ 147 test/RefRuntimeTests.cpp \ 148 test/RefTensorHandleTests.cpp 149else 150 151# ARMNN_REF_ENABLED == 0 152# No source file will be compiled for the reference backend tests 153 154BACKEND_TEST_SOURCES := 155 156endif 157