1# 2# Copyright © 2017 ARM Ltd and Contributors. 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 CL backend (ARMNN_COMPUTE_CL_ENABLED is declared in android-nn-driver/Android.mk) 11ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1) 12 13# ARMNN_COMPUTE_CL_ENABLED == 1 14# Include the source files for the CL backend 15 16BACKEND_SOURCES := \ 17 ClBackend.cpp \ 18 ClBackendContext.cpp \ 19 ClBackendModelContext.cpp \ 20 ClContextControl.cpp \ 21 ClContextDeserializer.cpp \ 22 ClContextSerializer.cpp \ 23 ClImportTensorHandleFactory.cpp \ 24 ClLayerSupport.cpp \ 25 ClRegistryInitializer.cpp \ 26 ClTensorHandleFactory.cpp \ 27 ClWorkloadFactory.cpp \ 28 OpenClTimer.cpp \ 29 workloads/ClAbsWorkload.cpp \ 30 workloads/ClActivationWorkload.cpp \ 31 workloads/ClAdditionWorkload.cpp \ 32 workloads/ClArgMinMaxWorkload.cpp \ 33 workloads/ClBatchMatMulWorkload.cpp \ 34 workloads/ClBatchNormalizationFloatWorkload.cpp \ 35 workloads/ClBatchToSpaceNdWorkload.cpp \ 36 workloads/ClCastWorkload.cpp \ 37 workloads/ClChannelShuffleWorkload.cpp \ 38 workloads/ClComparisonWorkload.cpp \ 39 workloads/ClConcatWorkload.cpp \ 40 workloads/ClConstantWorkload.cpp \ 41 workloads/ClConvertFp16ToFp32Workload.cpp \ 42 workloads/ClConvertFp32ToFp16Workload.cpp \ 43 workloads/ClConvolution2dWorkload.cpp \ 44 workloads/ClConvolution3dWorkload.cpp \ 45 workloads/ClDepthToSpaceWorkload.cpp \ 46 workloads/ClDepthwiseConvolutionWorkload.cpp \ 47 workloads/ClDequantizeWorkload.cpp \ 48 workloads/ClDivisionWorkload.cpp \ 49 workloads/ClExpWorkload.cpp \ 50 workloads/ClFillWorkload.cpp \ 51 workloads/ClFloorFloatWorkload.cpp \ 52 workloads/ClFullyConnectedWorkload.cpp \ 53 workloads/ClGatherWorkload.cpp \ 54 workloads/ClGatherNdWorkload.cpp \ 55 workloads/ClInstanceNormalizationWorkload.cpp \ 56 workloads/ClL2NormalizationFloatWorkload.cpp \ 57 workloads/ClLogWorkload.cpp \ 58 workloads/ClLogicalAndWorkload.cpp \ 59 workloads/ClLogicalNotWorkload.cpp \ 60 workloads/ClLogicalOrWorkload.cpp \ 61 workloads/ClLogSoftmaxWorkload.cpp \ 62 workloads/ClLstmFloatWorkload.cpp \ 63 workloads/ClMaximumWorkload.cpp \ 64 workloads/ClMeanWorkload.cpp \ 65 workloads/ClMinimumWorkload.cpp \ 66 workloads/ClMultiplicationWorkload.cpp \ 67 workloads/ClNegWorkload.cpp \ 68 workloads/ClNormalizationFloatWorkload.cpp \ 69 workloads/ClPadWorkload.cpp \ 70 workloads/ClPermuteWorkload.cpp \ 71 workloads/ClPooling2dWorkload.cpp \ 72 workloads/ClPooling3dWorkload.cpp \ 73 workloads/ClPreluWorkload.cpp \ 74 workloads/ClQLstmWorkload.cpp \ 75 workloads/ClQuantizedLstmWorkload.cpp \ 76 workloads/ClQuantizeWorkload.cpp \ 77 workloads/ClReduceWorkload.cpp \ 78 workloads/ClReshapeWorkload.cpp \ 79 workloads/ClResizeWorkload.cpp \ 80 workloads/ClRsqrtWorkload.cpp \ 81 workloads/ClSinWorkload.cpp \ 82 workloads/ClSliceWorkload.cpp \ 83 workloads/ClSoftmaxWorkload.cpp \ 84 workloads/ClSpaceToBatchNdWorkload.cpp \ 85 workloads/ClSpaceToDepthWorkload.cpp \ 86 workloads/ClSplitterWorkload.cpp \ 87 workloads/ClSqrtWorkload.cpp \ 88 workloads/ClStackWorkload.cpp \ 89 workloads/ClStridedSliceWorkload.cpp \ 90 workloads/ClSubtractionWorkload.cpp \ 91 workloads/ClTransposeConvolution2dWorkload.cpp \ 92 workloads/ClTransposeWorkload.cpp \ 93 workloads/ClUnidirectionalSequenceLstmFloatWorkload.cpp 94else 95 96# ARMNN_COMPUTE_CL_ENABLED == 0 97# No source file will be compiled for the CL backend 98 99BACKEND_SOURCES := 100 101endif 102 103# BACKEND_TEST_SOURCES contains the list of files to be included 104# in the Android unit test build (armnn-tests) and it is picked 105# up by the Android.mk file in the root of ArmNN 106 107# The variable to enable/disable the CL backend (ARMNN_COMPUTE_CL_ENABLED is declared in android-nn-driver/Android.mk) 108ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1) 109 110# ARMNN_COMPUTE_CL_ENABLED == 1 111# Include the source files for the CL backend tests 112 113BACKEND_TEST_SOURCES := \ 114 test/ClBackendTests.cpp \ 115 test/ClContextSerializerTests.cpp \ 116 test/ClCreateWorkloadTests.cpp \ 117 test/ClEndToEndTests.cpp \ 118 test/ClJsonPrinterTests.cpp \ 119 test/ClLayerSupportTests.cpp \ 120 test/ClLayerTests.cpp \ 121 test/ClOptimizedNetworkTests.cpp \ 122 test/ClRuntimeTests.cpp \ 123 test/Fp16SupportTest.cpp \ 124 test/OpenClTimerTest.cpp 125 126ifeq ($(ARMNN_REF_ENABLED),1) 127BACKEND_TEST_SOURCES += \ 128 test/ClMemCopyTests.cpp 129endif # ARMNN_REF_ENABLED == 1 130 131else 132 133# ARMNN_COMPUTE_CL_ENABLED == 0 134# No source file will be compiled for the CL backend tests 135 136BACKEND_TEST_SOURCES := 137 138endif 139