blob: 752255607a21b7609a7d0254f05ada46fc0cf09a [file] [log] [blame]
#
# Copyright © 2017-2024 ARM Ltd and Contributors. All rights reserved.
# SPDX-License-Identifier: MIT
#
# BACKEND_SOURCES contains the list of files to be included
# in the Android build and it is picked up by the Android.mk
# file in the root of ArmNN
# The variable to enable/disable the reference backend (ARMNN_REF_ENABLED is declared in android-nn-driver/Android.mk)
ifeq ($(ARMNN_REF_ENABLED),1)
# ARMNN_REF_ENABLED == 1
# Include the source files for the reference backend
BACKEND_SOURCES := \
RefBackend.cpp \
RefLayerSupport.cpp \
RefMemoryManager.cpp \
RefTensorHandle.cpp \
RefWorkloadFactory.cpp \
RefRegistryInitializer.cpp \
RefTensorHandleFactory.cpp \
workloads/Activation.cpp \
workloads/ArgMinMax.cpp \
workloads/BatchMatMulImpl.cpp \
workloads/BatchNormImpl.cpp \
workloads/BatchToSpaceNd.cpp \
workloads/Broadcast.cpp \
workloads/ConvImpl.cpp \
workloads/Conv3dImpl.cpp \
workloads/Debug.cpp \
workloads/DepthToSpace.cpp \
workloads/DetectionPostProcess.cpp \
workloads/Dequantize.cpp \
workloads/ElementwiseFunction.cpp \
workloads/Fill.cpp \
workloads/FullyConnected.cpp \
workloads/Gather.cpp \
workloads/InstanceNorm.cpp \
workloads/LogSoftmax.cpp \
workloads/Lstm.cpp \
workloads/LstmUtils.cpp \
workloads/Concatenate.cpp \
workloads/MirrorPad.cpp \
workloads/Pad.cpp \
workloads/Pooling2d.cpp \
workloads/Pooling3d.cpp \
workloads/PreluImpl.cpp \
workloads/Reduce.cpp \
workloads/RefActivationWorkload.cpp \
workloads/RefArgMinMaxWorkload.cpp \
workloads/RefBatchMatMulWorkload.cpp \
workloads/RefBatchNormalizationWorkload.cpp \
workloads/RefBatchToSpaceNdWorkload.cpp \
workloads/RefBroadcastToWorkload.cpp \
workloads/RefCastWorkload.cpp \
workloads/RefChannelShuffleWorkload.cpp \
workloads/RefComparisonWorkload.cpp \
workloads/RefConcatWorkload.cpp \
workloads/RefConstantWorkload.cpp \
workloads/RefConvertFp16ToFp32Workload.cpp \
workloads/RefConvertFp32ToFp16Workload.cpp \
workloads/RefConvolution2dWorkload.cpp \
workloads/RefConvolution3dWorkload.cpp \
workloads/RefDebugWorkload.cpp \
workloads/RefDepthToSpaceWorkload.cpp \
workloads/RefDepthwiseConvolution2dWorkload.cpp \
workloads/RefDequantizeWorkload.cpp \
workloads/RefDetectionPostProcessWorkload.cpp \
workloads/RefElementwiseBinaryWorkload.cpp \
workloads/RefElementwiseWorkload.cpp \
workloads/RefElementwiseUnaryWorkload.cpp \
workloads/RefFakeQuantizationFloat32Workload.cpp \
workloads/RefFillWorkload.cpp \
workloads/RefFloorWorkload.cpp \
workloads/RefFullyConnectedWorkload.cpp \
workloads/RefGatherNdWorkload.cpp \
workloads/RefGatherWorkload.cpp \
workloads/RefInstanceNormalizationWorkload.cpp \
workloads/RefL2NormalizationWorkload.cpp \
workloads/RefLogicalBinaryWorkload.cpp \
workloads/RefLogicalUnaryWorkload.cpp \
workloads/RefLogSoftmaxWorkload.cpp \
workloads/RefLstmWorkload.cpp \
workloads/RefMeanWorkload.cpp \
workloads/RefNormalizationWorkload.cpp \
workloads/RefPadWorkload.cpp \
workloads/RefPermuteWorkload.cpp \
workloads/RefPooling2dWorkload.cpp \
workloads/RefPooling3dWorkload.cpp \
workloads/RefPreluWorkload.cpp \
workloads/RefQLstmWorkload.cpp \
workloads/RefQuantizeWorkload.cpp \
workloads/RefReduceWorkload.cpp \
workloads/RefReshapeWorkload.cpp \
workloads/RefResizeWorkload.cpp \
workloads/RefReverseV2Workload.cpp \
workloads/RefScatterNdWorkload.cpp \
workloads/RefSliceWorkload.cpp \
workloads/RefSoftmaxWorkload.cpp \
workloads/RefSpaceToBatchNdWorkload.cpp \
workloads/RefSpaceToDepthWorkload.cpp \
workloads/RefStackWorkload.cpp \
workloads/RefStridedSliceWorkload.cpp \
workloads/RefSplitterWorkload.cpp \
workloads/RefTileWorkload.cpp \
workloads/RefTransposeConvolution2dWorkload.cpp \
workloads/RefTransposeWorkload.cpp \
workloads/RefUnidirectionalSequenceLstmWorkload.cpp \
workloads/Resize.cpp \
workloads/ReverseV2Impl.cpp \
workloads/ScatterNd.cpp \
workloads/Slice.cpp \
workloads/SpaceToBatchNd.cpp \
workloads/SpaceToDepth.cpp \
workloads/Stack.cpp \
workloads/StridedSlice.cpp \
workloads/StringMapping.cpp \
workloads/Softmax.cpp \
workloads/Splitter.cpp \
workloads/Tile.cpp \
workloads/TransposeConvolution2d.cpp
else
# ARMNN_REF_ENABLED == 0
# No source file will be compiled for the reference backend
BACKEND_SOURCES :=
endif
# BACKEND_TEST_SOURCES contains the list of files to be included
# in the Android unit test build (armnn-tests) and it is picked
# up by the Android.mk file in the root of ArmNN
# The variable to enable/disable the CL backend (ARMNN_REF_ENABLED is declared in android-nn-driver/Android.mk)
ifeq ($(ARMNN_REF_ENABLED),1)
# ARMNN_REF_ENABLED == 1
# Include the source files for the CL backend tests
BACKEND_TEST_SOURCES := \
test/ArgMinMaxTests.cpp \
test/RefBackendTests.cpp \
test/RefCreateWorkloadTests.cpp \
test/RefDetectionPostProcessTests.cpp \
test/RefEndToEndTests.cpp \
test/RefJsonPrinterTests.cpp \
test/RefLayerSupportTests.cpp \
test/RefLayerTests.cpp \
test/RefMemoryManagerTests.cpp \
test/RefOptimizedNetworkTests.cpp \
test/RefRuntimeTests.cpp \
test/RefTensorHandleTests.cpp
else
# ARMNN_REF_ENABLED == 0
# No source file will be compiled for the reference backend tests
BACKEND_TEST_SOURCES :=
endif