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