blob: 5638cc43391343efeb373365635b4677b1a4b7bc [file] [log] [blame]
//
// Copyright © 2017-2023 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
////////////////////////////////////////////
// //
// libarmnn.a //
// //
////////////////////////////////////////////
COMMON_SOURCES = [
"src/backends/backendsCommon/TensorHandle.cpp",
"src/backends/backendsCommon/DynamicBackend.cpp",
"src/backends/backendsCommon/DynamicBackendUtils.cpp",
"src/backends/backendsCommon/IBackendInternal.cpp",
"src/backends/backendsCommon/ITensorHandleFactory.cpp",
"src/backends/backendsCommon/LayerSupportBase.cpp",
"src/backends/backendsCommon/MapWorkload.cpp",
"src/backends/backendsCommon/MemCopyWorkload.cpp",
"src/backends/backendsCommon/MemImportWorkload.cpp",
"src/backends/backendsCommon/MemoryManager.cpp",
"src/backends/backendsCommon/MemSyncWorkload.cpp",
"src/backends/backendsCommon/OptimizationViews.cpp",
"src/backends/backendsCommon/TensorHandleFactoryRegistry.cpp",
"src/backends/backendsCommon/UnmapWorkload.cpp",
"src/backends/backendsCommon/WorkloadData.cpp",
"src/backends/backendsCommon/WorkloadFactory.cpp",
"src/backends/backendsCommon/WorkloadUtils.cpp",
"src/backends/backendsCommon/memoryOptimizerStrategyLibrary/strategies/ConstantMemoryStrategy.cpp",
"src/backends/backendsCommon/memoryOptimizerStrategyLibrary/strategies/SingleAxisPriorityList.cpp",
"src/backends/backendsCommon/memoryOptimizerStrategyLibrary/strategies/StrategyValidator.cpp",
"src/backends/aclCommon/ArmComputeTensorUtils.cpp",
"src/backends/aclCommon/BaseMemoryManager.cpp",
]
ARMNN_SOURCES = [
"profiling/common/src/CommandHandlerFunctor.cpp",
"profiling/common/src/CommandHandlerKey.cpp",
"profiling/common/src/CommandHandlerRegistry.cpp",
"profiling/common/src/CommonProfilingUtils.cpp",
"profiling/common/src/CounterDirectory.cpp",
"profiling/common/src/LabelsAndEventClasses.cpp",
"profiling/common/src/Logging.cpp",
"profiling/common/src/NetworkSockets.cpp",
"profiling/common/src/PacketVersionResolver.cpp",
"profiling/common/src/Processes.cpp",
"profiling/common/src/SwTrace.cpp",
"profiling/common/src/Threads.cpp",
"profiling/client/src/ActivateTimelineReportingCommandHandler.cpp",
"profiling/client/src/BufferManager.cpp",
"profiling/client/src/CommandHandler.cpp",
"profiling/client/src/ConnectionAcknowledgedCommandHandler.cpp",
"profiling/client/src/CounterIdMap.cpp",
"profiling/client/src/DeactivateTimelineReportingCommandHandler.cpp",
"profiling/client/src/FileOnlyProfilingConnection.cpp",
"profiling/client/src/Holder.cpp",
"profiling/client/src/IProfilingService.cpp",
"profiling/client/src/PacketBuffer.cpp",
"profiling/client/src/PeriodicCounterCapture.cpp",
"profiling/client/src/PeriodicCounterSelectionCommandHandler.cpp",
"profiling/client/src/PerJobCounterSelectionCommandHandler.cpp",
"profiling/client/src/ProfilingConnectionDumpToFileDecorator.cpp",
"profiling/client/src/ProfilingConnectionFactory.cpp",
"profiling/client/src/ProfilingService.cpp",
"profiling/client/src/ProfilingStateMachine.cpp",
"profiling/client/src/ProfilingUtils.cpp",
"profiling/client/src/RegisterBackendCounters.cpp",
"profiling/client/src/RequestCounterDirectoryCommandHandler.cpp",
"profiling/client/src/SendCounterPacket.cpp",
"profiling/client/src/SendThread.cpp",
"profiling/client/src/SendTimelinePacket.cpp",
"profiling/client/src/SocketProfilingConnection.cpp",
"profiling/client/src/TimelinePacketWriterFactory.cpp",
"profiling/client/src/TimelineUtilityMethods.cpp",
"profiling/client/src/backends/BackendProfiling.cpp",
"profiling/client/src/backends/IBackendProfiling.cpp",
"profiling/server/src/timelineDecoder/DirectoryCaptureCommandHandler.cpp",
"profiling/server/src/timelineDecoder/TimelineCaptureCommandHandler.cpp",
"profiling/server/src/timelineDecoder/TimelineDecoder.cpp",
"profiling/server/src/timelineDecoder/TimelineDirectoryCaptureCommandHandler.cpp",
"src/armnn/ArmNNProfilingServiceInitialiser.cpp",
"src/armnn/BackendHelper.cpp",
"src/armnn/BackendRegistry.cpp",
"src/armnn/Descriptors.cpp",
"src/armnn/Exceptions.cpp",
"src/armnn/Graph.cpp",
"src/armnn/ILayerSupport.cpp",
"src/armnn/InternalTypes.cpp",
"src/armnn/JsonPrinter.cpp",
"src/armnn/Layer.cpp",
"src/armnn/LoadedNetwork.cpp",
"src/armnn/Logging.cpp",
"src/armnn/Network.cpp",
"src/armnn/NetworkUtils.cpp",
"src/armnn/Observable.cpp",
"src/armnn/Optimizer.cpp",
"src/armnn/OutputHandler.cpp",
"src/armnn/ProfilingEvent.cpp",
"src/armnn/Profiling.cpp",
"src/armnn/Runtime.cpp",
"src/armnn/SerializeLayerParameters.cpp",
"src/armnn/SubgraphView.cpp",
"src/armnn/SubgraphViewSelector.cpp",
"src/armnn/Tensor.cpp",
"src/armnn/Threadpool.cpp",
"src/armnn/TypesUtils.cpp",
"src/armnn/Utils.cpp",
"src/armnn/WallClockTimer.cpp",
"src/armnn/WorkingMemHandle.cpp",
"src/armnnUtils/CompatibleTypes.cpp",
"src/armnnUtils/DataLayoutIndexed.cpp",
"src/armnnUtils/DotSerializer.cpp",
"src/armnnUtils/FloatingPointConverter.cpp",
"src/armnnUtils/HeapProfiling.cpp",
"src/armnnUtils/LeakChecking.cpp",
"src/armnnUtils/ParserHelper.cpp",
"src/armnnUtils/Permute.cpp",
"src/armnnUtils/TensorUtils.cpp",
"src/armnnUtils/VerificationHelpers.cpp",
"src/armnnUtils/Filesystem.cpp",
"src/armnnUtils/ProfilingOptionsConverter.cpp",
"src/armnnUtils/Transpose.cpp",
"src/armnn/layers/ActivationLayer.cpp",
"src/armnn/layers/AdditionLayer.cpp",
"src/armnn/layers/ArgMinMaxLayer.cpp",
"src/armnn/layers/BatchMatMulLayer.cpp",
"src/armnn/layers/BatchNormalizationLayer.cpp",
"src/armnn/layers/BatchToSpaceNdLayer.cpp",
"src/armnn/layers/CastLayer.cpp",
"src/armnn/layers/ChannelShuffleLayer.cpp",
"src/armnn/layers/ComparisonLayer.cpp",
"src/armnn/layers/ConcatLayer.cpp",
"src/armnn/layers/ConstantLayer.cpp",
"src/armnn/layers/Convolution2dLayer.cpp",
"src/armnn/layers/Convolution3dLayer.cpp",
"src/armnn/layers/ConvertFp16ToFp32Layer.cpp",
"src/armnn/layers/ConvertFp32ToFp16Layer.cpp",
"src/armnn/layers/DebugLayer.cpp",
"src/armnn/layers/DepthToSpaceLayer.cpp",
"src/armnn/layers/DepthwiseConvolution2dLayer.cpp",
"src/armnn/layers/DequantizeLayer.cpp",
"src/armnn/layers/DetectionPostProcessLayer.cpp",
"src/armnn/layers/DivisionLayer.cpp",
"src/armnn/layers/ElementwiseBaseLayer.cpp",
"src/armnn/layers/ElementwiseBinaryLayer.cpp",
"src/armnn/layers/ElementwiseUnaryLayer.cpp",
"src/armnn/layers/FakeQuantizationLayer.cpp",
"src/armnn/layers/FillLayer.cpp",
"src/armnn/layers/FloorLayer.cpp",
"src/armnn/layers/FullyConnectedLayer.cpp",
"src/armnn/layers/GatherLayer.cpp",
"src/armnn/layers/GatherNdLayer.cpp",
"src/armnn/layers/InputLayer.cpp",
"src/armnn/layers/InstanceNormalizationLayer.cpp",
"src/armnn/layers/L2NormalizationLayer.cpp",
"src/armnn/layers/LogicalBinaryLayer.cpp",
"src/armnn/layers/LogSoftmaxLayer.cpp",
"src/armnn/layers/LstmLayer.cpp",
"src/armnn/layers/MapLayer.cpp",
"src/armnn/layers/MaximumLayer.cpp",
"src/armnn/layers/MeanLayer.cpp",
"src/armnn/layers/MemCopyLayer.cpp",
"src/armnn/layers/MemImportLayer.cpp",
"src/armnn/layers/MergeLayer.cpp",
"src/armnn/layers/MinimumLayer.cpp",
"src/armnn/layers/MultiplicationLayer.cpp",
"src/armnn/layers/NormalizationLayer.cpp",
"src/armnn/layers/OutputLayer.cpp",
"src/armnn/layers/PadLayer.cpp",
"src/armnn/layers/PermuteLayer.cpp",
"src/armnn/layers/Pooling2dLayer.cpp",
"src/armnn/layers/Pooling3dLayer.cpp",
"src/armnn/layers/PreCompiledLayer.cpp",
"src/armnn/layers/PreluLayer.cpp",
"src/armnn/layers/QLstmLayer.cpp",
"src/armnn/layers/QuantizeLayer.cpp",
"src/armnn/layers/QuantizedLstmLayer.cpp",
"src/armnn/layers/RankLayer.cpp",
"src/armnn/layers/ReduceLayer.cpp",
"src/armnn/layers/ReshapeLayer.cpp",
"src/armnn/layers/ResizeLayer.cpp",
"src/armnn/layers/ShapeLayer.cpp",
"src/armnn/layers/SliceLayer.cpp",
"src/armnn/layers/SoftmaxLayer.cpp",
"src/armnn/layers/SpaceToBatchNdLayer.cpp",
"src/armnn/layers/SpaceToDepthLayer.cpp",
"src/armnn/layers/SplitterLayer.cpp",
"src/armnn/layers/StackLayer.cpp",
"src/armnn/layers/StandInLayer.cpp",
"src/armnn/layers/StridedSliceLayer.cpp",
"src/armnn/layers/SubtractionLayer.cpp",
"src/armnn/layers/SwitchLayer.cpp",
"src/armnn/layers/TransposeConvolution2dLayer.cpp",
"src/armnn/layers/TransposeLayer.cpp",
"src/armnn/layers/UnidirectionalSequenceLstmLayer.cpp",
"src/armnn/layers/UnmapLayer.cpp",
"src/armnnSerializer/Serializer.cpp",
"src/armnnSerializer/SerializerUtils.cpp",
"src/armnnDeserializer/Deserializer.cpp",
]
GPU_BACKEND_SOURCES = [
"src/backends/aclCommon/ArmComputeTuningUtils.cpp",
"src/backends/cl/ClBackend.cpp",
"src/backends/cl/ClBackendContext.cpp",
"src/backends/cl/ClBackendModelContext.cpp",
"src/backends/cl/ClContextControl.cpp",
"src/backends/cl/ClContextDeserializer.cpp",
"src/backends/cl/ClContextSerializer.cpp",
"src/backends/cl/ClImportTensorHandleFactory.cpp",
"src/backends/cl/ClLayerSupport.cpp",
"src/backends/cl/ClRegistryInitializer.cpp",
"src/backends/cl/ClTensorHandleFactory.cpp",
"src/backends/cl/ClWorkloadFactory.cpp",
"src/backends/cl/OpenClTimer.cpp",
"src/backends/cl/workloads/ClAbsWorkload.cpp",
"src/backends/cl/workloads/ClActivationWorkload.cpp",
"src/backends/cl/workloads/ClAdditionWorkload.cpp",
"src/backends/cl/workloads/ClArgMinMaxWorkload.cpp",
"src/backends/cl/workloads/ClBatchMatMulWorkload.cpp",
"src/backends/cl/workloads/ClBatchNormalizationFloatWorkload.cpp",
"src/backends/cl/workloads/ClBatchToSpaceNdWorkload.cpp",
"src/backends/cl/workloads/ClCastWorkload.cpp",
"src/backends/cl/workloads/ClChannelShuffleWorkload.cpp",
"src/backends/cl/workloads/ClComparisonWorkload.cpp",
"src/backends/cl/workloads/ClConcatWorkload.cpp",
"src/backends/cl/workloads/ClConstantWorkload.cpp",
"src/backends/cl/workloads/ClConvertFp16ToFp32Workload.cpp",
"src/backends/cl/workloads/ClConvertFp32ToFp16Workload.cpp",
"src/backends/cl/workloads/ClConvolution2dWorkload.cpp",
"src/backends/cl/workloads/ClConvolution3dWorkload.cpp",
"src/backends/cl/workloads/ClDepthToSpaceWorkload.cpp",
"src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp",
"src/backends/cl/workloads/ClDequantizeWorkload.cpp",
"src/backends/cl/workloads/ClDivisionWorkload.cpp",
"src/backends/cl/workloads/ClExpWorkload.cpp",
"src/backends/cl/workloads/ClFillWorkload.cpp",
"src/backends/cl/workloads/ClFloorFloatWorkload.cpp",
"src/backends/cl/workloads/ClFullyConnectedWorkload.cpp",
"src/backends/cl/workloads/ClGatherWorkload.cpp",
"src/backends/cl/workloads/ClGatherNdWorkload.cpp",
"src/backends/cl/workloads/ClInstanceNormalizationWorkload.cpp",
"src/backends/cl/workloads/ClL2NormalizationFloatWorkload.cpp",
"src/backends/cl/workloads/ClLogWorkload.cpp",
"src/backends/cl/workloads/ClLogicalAndWorkload.cpp",
"src/backends/cl/workloads/ClLogicalNotWorkload.cpp",
"src/backends/cl/workloads/ClLogicalOrWorkload.cpp",
"src/backends/cl/workloads/ClLogSoftmaxWorkload.cpp",
"src/backends/cl/workloads/ClLstmFloatWorkload.cpp",
"src/backends/cl/workloads/ClMaximumWorkload.cpp",
"src/backends/cl/workloads/ClMeanWorkload.cpp",
"src/backends/cl/workloads/ClMinimumWorkload.cpp",
"src/backends/cl/workloads/ClMultiplicationWorkload.cpp",
"src/backends/cl/workloads/ClNegWorkload.cpp",
"src/backends/cl/workloads/ClNormalizationFloatWorkload.cpp",
"src/backends/cl/workloads/ClPadWorkload.cpp",
"src/backends/cl/workloads/ClPermuteWorkload.cpp",
"src/backends/cl/workloads/ClPooling2dWorkload.cpp",
"src/backends/cl/workloads/ClPooling3dWorkload.cpp",
"src/backends/cl/workloads/ClPreluWorkload.cpp",
"src/backends/cl/workloads/ClQLstmWorkload.cpp",
"src/backends/cl/workloads/ClQuantizedLstmWorkload.cpp",
"src/backends/cl/workloads/ClQuantizeWorkload.cpp",
"src/backends/cl/workloads/ClReduceWorkload.cpp",
"src/backends/cl/workloads/ClReshapeWorkload.cpp",
"src/backends/cl/workloads/ClResizeWorkload.cpp",
"src/backends/cl/workloads/ClRsqrtWorkload.cpp",
"src/backends/cl/workloads/ClSinWorkload.cpp",
"src/backends/cl/workloads/ClSliceWorkload.cpp",
"src/backends/cl/workloads/ClSoftmaxWorkload.cpp",
"src/backends/cl/workloads/ClSpaceToBatchNdWorkload.cpp",
"src/backends/cl/workloads/ClSpaceToDepthWorkload.cpp",
"src/backends/cl/workloads/ClSplitterWorkload.cpp",
"src/backends/cl/workloads/ClSqrtWorkload.cpp",
"src/backends/cl/workloads/ClStackWorkload.cpp",
"src/backends/cl/workloads/ClStridedSliceWorkload.cpp",
"src/backends/cl/workloads/ClSubtractionWorkload.cpp",
"src/backends/cl/workloads/ClTransposeConvolution2dWorkload.cpp",
"src/backends/cl/workloads/ClTransposeWorkload.cpp",
"src/backends/cl/workloads/ClUnidirectionalSequenceLstmFloatWorkload.cpp",
]
ARMNN_CFLAGS = [
"-std=c++17",
"-fexceptions",
"-Wno-unused-parameter",
"-DFMT_HEADER_ONLY",
"-Wno-ignored-qualifiers",
"-Wno-macro-redefined",
"-Wno-unreachable-code-loop-increment",
"-DARMCOMPUTECL_ENABLED", // TODO: ifeq ($(ARMNN_COMPUTE_CL_ENABLED),1)
"-DARMNN_MIXED_PRECISION_FP16_POOLING",
]
package {
// See: http://go/android-license-faq
default_applicable_licenses: [
"external_armnn_license",
],
}
license {
name: "external_armnn_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-BSD",
"SPDX-license-identifier-BSL-1.0",
"SPDX-license-identifier-MIT",
"SPDX-license-identifier-PSF-2.0",
"legacy_unencumbered",
],
license_text: [
"LICENSE",
],
}
// cc_library_shared {
cc_library_static {
name: "libarmnn",
rtti: true,
enabled : false,
arch: {
arm: {
enabled : true,
},
arm64: {
enabled : true,
},
},
defaults: [
"neuralnetworks_cl_defaults",
],
local_include_dirs: [
"generated",
"profiling",
"profiling/common/include",
"profiling/client/include",
"include",
"src/timelineDecoder",
"third-party",
"src",
"src/armnn",
"src/armnnUtils",
"src/profiling",
"src/backends",
"src/armnnSerializer",
"src/armnnDeserializer",
],
include_dirs: [
"external/ComputeLibrary",
],
static_libs: [
"libflatbuffers-cpp",
],
whole_static_libs: [
"arm_compute_library",
],
shared_libs: ["liblog"],
ldflags: ["-Wl,-Map=libarmnnMapFile.map"],
cflags: ARMNN_CFLAGS + [
"-DARMCOMPUTECL_ENABLED",
],
srcs: ARMNN_SOURCES + COMMON_SOURCES + GPU_BACKEND_SOURCES,
}