// // 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, }