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 NEON backend (ARMNN_COMPUTE_NEON_ENABLED is declared in android-nn-driver/Android.mk) 11ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1) 12 13# ARMNN_COMPUTE_NEON_ENABLED == 1 14# Include the source files for the NEON backend 15 16BACKEND_SOURCES := \ 17 NeonBackend.cpp \ 18 NeonBackendModelContext.cpp \ 19 NeonInterceptorScheduler.cpp \ 20 NeonLayerSupport.cpp \ 21 NeonRegistryInitializer.cpp \ 22 NeonTensorHandleFactory.cpp \ 23 NeonTimer.cpp \ 24 NeonWorkloadFactory.cpp \ 25 workloads/NeonAbsWorkload.cpp \ 26 workloads/NeonActivationWorkload.cpp \ 27 workloads/NeonAdditionWorkload.cpp \ 28 workloads/NeonArgMinMaxWorkload.cpp \ 29 workloads/NeonBatchNormalizationWorkload.cpp \ 30 workloads/NeonBatchToSpaceNdWorkload.cpp \ 31 workloads/NeonComparisonWorkload.cpp \ 32 workloads/NeonConcatWorkload.cpp \ 33 workloads/NeonConstantWorkload.cpp \ 34 workloads/NeonConvertBf16ToFp32Workload.cpp \ 35 workloads/NeonConvertFp32ToBf16Workload.cpp \ 36 workloads/NeonConvertFp16ToFp32Workload.cpp \ 37 workloads/NeonConvertFp32ToFp16Workload.cpp \ 38 workloads/NeonConvolution2dWorkload.cpp \ 39 workloads/NeonDepthToSpaceWorkload.cpp \ 40 workloads/NeonDepthwiseConvolutionWorkload.cpp \ 41 workloads/NeonDequantizeWorkload.cpp \ 42 workloads/NeonDetectionPostProcessWorkload.cpp \ 43 workloads/NeonExpWorkload.cpp \ 44 workloads/NeonFillWorkload.cpp \ 45 workloads/NeonFloorFloatWorkload.cpp \ 46 workloads/NeonFullyConnectedWorkload.cpp \ 47 workloads/NeonGatherWorkload.cpp \ 48 workloads/NeonInstanceNormalizationWorkload.cpp \ 49 workloads/NeonL2NormalizationFloatWorkload.cpp \ 50 workloads/NeonLogicalAndWorkload.cpp \ 51 workloads/NeonLogicalNotWorkload.cpp \ 52 workloads/NeonLogicalOrWorkload.cpp \ 53 workloads/NeonLogSoftmaxWorkload.cpp \ 54 workloads/NeonLstmFloatWorkload.cpp \ 55 workloads/NeonMaximumWorkload.cpp \ 56 workloads/NeonMeanWorkload.cpp \ 57 workloads/NeonMinimumWorkload.cpp \ 58 workloads/NeonMultiplicationWorkload.cpp \ 59 workloads/NeonDivisionWorkload.cpp \ 60 workloads/NeonNegWorkload.cpp \ 61 workloads/NeonNormalizationFloatWorkload.cpp \ 62 workloads/NeonPadWorkload.cpp \ 63 workloads/NeonPermuteWorkload.cpp \ 64 workloads/NeonPooling2dWorkload.cpp \ 65 workloads/NeonPreluWorkload.cpp \ 66 workloads/NeonQLstmWorkload.cpp \ 67 workloads/NeonQuantizedLstmWorkload.cpp \ 68 workloads/NeonQuantizeWorkload.cpp \ 69 workloads/NeonReshapeWorkload.cpp \ 70 workloads/NeonResizeWorkload.cpp \ 71 workloads/NeonRsqrtWorkload.cpp \ 72 workloads/NeonSliceWorkload.cpp \ 73 workloads/NeonSoftmaxWorkload.cpp \ 74 workloads/NeonSpaceToBatchNdWorkload.cpp \ 75 workloads/NeonSpaceToDepthWorkload.cpp \ 76 workloads/NeonSplitterWorkload.cpp \ 77 workloads/NeonStackWorkload.cpp \ 78 workloads/NeonStridedSliceWorkload.cpp \ 79 workloads/NeonSubtractionWorkload.cpp \ 80 workloads/NeonTransposeConvolution2dWorkload.cpp \ 81 workloads/NeonTransposeWorkload.cpp 82 83else 84 85# ARMNN_COMPUTE_NEON_ENABLED == 0 86# No source file will be compiled for the NEON backend 87 88BACKEND_SOURCES := 89 90endif 91 92# BACKEND_TEST_SOURCES contains the list of files to be included 93# in the Android unit test build (armnn-tests) and it is picked 94# up by the Android.mk file in the root of ArmNN 95 96# The variable to enable/disable the NEON backend (ARMNN_COMPUTE_NEON_ENABLED is declared in android-nn-driver/Android.mk) 97ifeq ($(ARMNN_COMPUTE_NEON_ENABLED),1) 98 99# ARMNN_COMPUTE_NEON_ENABLED == 1 100# Include the source files for the NEON backend tests 101 102BACKEND_TEST_SOURCES := \ 103 test/NeonCreateWorkloadTests.cpp \ 104 test/NeonEndToEndTests.cpp \ 105 test/NeonJsonPrinterTests.cpp \ 106 test/NeonLayerSupportTests.cpp \ 107 test/NeonLayerTests.cpp \ 108 test/NeonOptimizedNetworkTests.cpp \ 109 test/NeonRuntimeTests.cpp \ 110 test/NeonTimerTest.cpp 111 112ifeq ($(ARMNN_REF_ENABLED),1) 113BACKEND_TEST_SOURCES += \ 114 test/NeonMemCopyTests.cpp 115endif # ARMNN_REF_ENABLED == 1 116 117else 118 119# ARMNN_COMPUTE_NEON_ENABLED == 0 120# No source file will be compiled for the NEON backend tests 121 122BACKEND_TEST_SOURCES := 123 124endif 125