diff options
author | Renato Grottesi <otaner@google.com> | 2023-05-08 07:29:50 +0000 |
---|---|---|
committer | Renato Grottesi <otaner@google.com> | 2023-05-08 07:30:04 +0000 |
commit | d5e11decae33b60fb8b35039bf5ed388b2fb6ff2 (patch) | |
tree | 5561ca57639650f9893e926183c235676ced22c8 /CMakeLists.txt | |
parent | 69a666ddb01cbe66e3de808fc4ff8192a552e50d (diff) | |
download | armnn-d5e11decae33b60fb8b35039bf5ed388b2fb6ff2.tar.gz |
Revert "Merge remote-tracking branch 'aosp/upstream-main' into master"
Revert submission 2563157-armn_nn_update_278832962
Reason for revert: The change breaks aosp_x86-eng compilation.
Test: local build
This reverts commit 69a666ddb01cbe66e3de808fc4ff8192a552e50d, reversing
changes made to 094cd640f7f302cae481bfdfb76ddc2d89d7ca86.
Change-Id: I4c66077d15a02f1211fbdafa94a58ef1b49fe8e1
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 598 |
1 files changed, 358 insertions, 240 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index edb148512..cee3c2a02 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,23 +1,17 @@ # -# Copyright © 2017-2023 Arm Ltd and Contributors. All rights reserved. -# Copyright © 2020 NXP +# Copyright © 2020 Arm Ltd and Contributors. All rights reserved. +# Copyright 2020 NXP # SPDX-License-Identifier: MIT # -cmake_minimum_required (VERSION 3.7.0) +cmake_minimum_required (VERSION 3.0.2) # 3.0.2 required for return() statement used in AddDllCopyCommands.cmake project(armnn) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) set(additional_cmake_files) list(APPEND additional_cmake_files cmake/ArmnnVersion.cmake - cmake/ClassicDelegateVersion.cmake - cmake/OpaqueDelegateVersion.cmake - cmake/ParserVersion.cmake cmake/Utils.cmake cmake/GlobalConfig.cmake - cmake/AddDllCopyCommands.cmake - cmake/ArmnnTestUtilsVersion.cmake) + cmake/AddDllCopyCommands.cmake) foreach(cmake_file ${additional_cmake_files}) include(${cmake_file}) @@ -25,20 +19,6 @@ endforeach() cmake_policy(SET CMP0057 NEW) -# If the root of the tensorflow source tree has not been specified -# and we are trying to build the tensorflow lite parser make -# our best guess as to where it will be i.e. one directory above -# the one this CMakeLists.txt file lives in, in a subdirectory -# called tensorflow -if (BUILD_TF_LITE_PARSER AND "${TENSORFLOW_ROOT}" STREQUAL "") - set(TENSORFLOW_ROOT "${PROJECT_SOURCE_DIR}/../tensorflow" CACHE INTERNAL "") - message(STATUS "Set TENSORFLOW_ROOT: ${TENSORFLOW_ROOT}") -else() - message(STATUS "TENSORFLOW_ROOT: ${TENSORFLOW_ROOT}") -endif() - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/delegate/cmake/Modules/") - set(as_subproject Armnn) macro(find_package) @@ -54,14 +34,19 @@ endif() include(GNUInstallDirs) -add_subdirectory(profiling/common/src) -add_subdirectory(profiling/client/src) - add_subdirectory(samples) add_subdirectory(src/armnnTfLiteParser) add_subdirectory(src/armnnSerializer) add_subdirectory(src/armnnDeserializer) -add_subdirectory(src/armnnTestUtils) + + +if (BUILD_ARMNN_TFLITE_DELEGATE) + + list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/delegate/cmake/Modules) + add_subdirectory(delegate) + + add_definitions(-DARMNN_TF_LITE_DELEGATE) +endif() if (BUILD_TESTS) add_subdirectory(tests) @@ -72,18 +57,14 @@ add_custom_target(AdditionalCMakeFiles SOURCES ${additional_cmake_files}) set(armnnUtils_sources) list(APPEND armnnUtils_sources - include/armnnUtils/CompatibleTypes.hpp include/armnnUtils/DataLayoutIndexed.hpp include/armnnUtils/Permute.hpp - include/armnnUtils/Filesystem.hpp include/armnnUtils/FloatingPointComparison.hpp include/armnnUtils/FloatingPointConverter.hpp - include/armnnUtils/QuantizeHelper.hpp - include/armnnUtils/TContainer.hpp include/armnnUtils/TensorUtils.hpp include/armnnUtils/Transpose.hpp src/armnnUtils/BFloat16.hpp - src/armnnUtils/CompatibleTypes.cpp + src/armnnUtils/Filesystem.hpp src/armnnUtils/Filesystem.cpp src/armnnUtils/GraphTopologicalSort.hpp src/armnnUtils/Half.hpp @@ -103,24 +84,52 @@ list(APPEND armnnUtils_sources src/armnnUtils/ParserHelper.hpp src/armnnUtils/ParserHelper.cpp src/armnnUtils/ParserPrototxtFixture.hpp - src/armnnUtils/ProfilingOptionsConverter.hpp - src/armnnUtils/ProfilingOptionsConverter.cpp + src/armnnUtils/Processes.hpp + src/armnnUtils/Processes.cpp src/armnnUtils/PrototxtConversions.hpp src/armnnUtils/PrototxtConversions.cpp + src/armnnUtils/QuantizeHelper.hpp src/armnnUtils/TensorIOUtils.hpp src/armnnUtils/TensorUtils.cpp + src/armnnUtils/Threads.hpp + src/armnnUtils/Threads.cpp src/armnnUtils/Transpose.cpp ) add_library_ex(armnnUtils STATIC ${armnnUtils_sources}) - target_include_directories(armnnUtils PRIVATE src/backends) +if(BUILD_CAFFE_PARSER) + # ArmNN Parser source files required for all build options + set(armnn_caffe_parser_sources) + list(APPEND armnn_caffe_parser_sources + include/armnnCaffeParser/ICaffeParser.hpp + src/armnnCaffeParser/RecordByRecordCaffeParser.hpp + src/armnnCaffeParser/RecordByRecordCaffeParser.cpp + src/armnnCaffeParser/CaffeParser.hpp + src/armnnCaffeParser/CaffeParser.cpp + ${CAFFE_GENERATED_SOURCES}/caffe/proto/caffe.pb.cc + ) + # The generated Caffe protobuf .cc file is not warning clean and we can't fix them. + if(COMPILER_IS_GNU_LIKE) + set_source_files_properties(${CAFFE_GENERATED_SOURCES}/caffe/proto/caffe.pb.cc PROPERTIES COMPILE_FLAGS "-Wno-unused-variable -Wno-unused-parameter -Wno-conversion -Wno-sign-conversion") + endif() + + add_library_ex(armnnCaffeParser SHARED ${armnn_caffe_parser_sources}) + set_target_properties(armnnCaffeParser PROPERTIES COMPILE_FLAGS "${CAFFE_PARSER_ADDITIONAL_COMPILE_FLAGS}") + + target_include_directories(armnnCaffeParser PRIVATE src/armnnUtils) + + target_link_libraries(armnnCaffeParser armnn) + target_link_libraries(armnnCaffeParser ${PROTOBUF_LIBRARIES}) + set_target_properties(armnnCaffeParser PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION}) + +endif() + if(BUILD_ONNX_PARSER) set(armnn_onnx_parser_sources) list(APPEND armnn_onnx_parser_sources include/armnnOnnxParser/IOnnxParser.hpp - include/armnnOnnxParser/Version.hpp src/armnnOnnxParser/OnnxParser.hpp src/armnnOnnxParser/OnnxParser.cpp ${ONNX_GENERATED_SOURCES}/onnx/onnx.pb.cc @@ -138,9 +147,82 @@ if(BUILD_ONNX_PARSER) # Protobuf target_link_libraries(armnnOnnxParser ${PROTOBUF_LIBRARIES}) - set_target_properties(armnnOnnxParser PROPERTIES VERSION ${ONNX_PARSER_LIB_VERSION} SOVERSION ${ONNX_PARSER_LIB_SOVERSION}) + set_target_properties(armnnOnnxParser PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION}) endif() +if(BUILD_TF_PARSER) + set(armnn_tf_parser_sources) + list(APPEND armnn_tf_parser_sources + include/armnnTfParser/ITfParser.hpp + src/armnnTfParser/TfParser.hpp + src/armnnTfParser/TfParser.cpp + ${TF_PROTOBUFS} + ) + # The generated tensorflow protobuf .cc files are not warning clean and we can't fix them. + if(COMPILER_IS_GNU_LIKE) + set_source_files_properties(${TF_PROTOBUFS} PROPERTIES COMPILE_FLAGS "-Wno-unused-variable -Wno-unused-parameter -Wno-conversion -Wno-sign-conversion -Wno-error=deprecated-declarations") + endif() + + add_library_ex(armnnTfParser SHARED ${armnn_tf_parser_sources}) + + target_include_directories(armnnTfParser PRIVATE src/armnnUtils) + + target_link_libraries(armnnTfParser armnn) + + # Protobuf (use the specific version tensorflow wants) + target_link_libraries(armnnTfParser ${PROTOBUF_LIBRARIES}) + set_target_properties(armnnTfParser PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION}) +endif() + +if(BUILD_ARMNN_QUANTIZER AND ARMNNREF) + if(NOT BUILD_ARMNN_SERIALIZER) + message(ERROR, "In order to build the ArmNN Quantization Tool you must set BUILD_ARMNN_SERIALIZER = YES") + endif() + + set(armnn_quantizer_sources) + list(APPEND armnn_quantizer_sources + src/armnnQuantizer/QuantizationDataSet.hpp + src/armnnQuantizer/QuantizationDataSet.cpp + src/armnnQuantizer/QuantizationInput.hpp + src/armnnQuantizer/QuantizationInput.cpp + src/armnnQuantizer/CommandLineProcessor.hpp + src/armnnQuantizer/CommandLineProcessor.cpp + ) + + add_library_ex(armnnQuantizer SHARED ${armnn_quantizer_sources}) + + target_include_directories(armnnQuantizer PRIVATE include/armnnDeserializer) + target_include_directories(armnnQuantizer PRIVATE src/armnnUtils) + target_include_directories(armnnQuantizer PRIVATE src/armnn) + target_include_directories(armnnQuantizer PRIVATE third-party) + + include_directories(SYSTEM "${FLATBUFFERS_INCLUDE_PATH}") + set_target_properties(armnnQuantizer PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) + + target_link_libraries(armnnQuantizer armnn) + + add_executable_ex(ArmnnQuantizer + src/armnnQuantizer/ArmNNQuantizerMain.cpp) + + target_include_directories(ArmnnQuantizer PRIVATE include/armnnDeserializer) + target_include_directories(ArmnnQuantizer PRIVATE src/armnn) + + target_link_libraries(ArmnnQuantizer + armnnQuantizer + armnnSerializer + armnn + armnnUtils + ${FLATBUFFERS_LIBRARY}) + + if(Threads_FOUND AND (NOT ("${CMAKE_SYSTEM_NAME}" STREQUAL Android))) + target_link_libraries(ArmnnQuantizer pthread) + endif() + + set_target_properties(armnnQuantizer PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION}) + +endif() + + list(APPEND armnn_sources include/armnn/ArmNN.hpp include/armnn/BackendHelper.hpp @@ -152,35 +234,33 @@ list(APPEND armnn_sources include/armnn/Descriptors.hpp include/armnn/DescriptorsFwd.hpp include/armnn/Exceptions.hpp - include/armnn/backends/ILayerSupport.hpp - include/armnn/backends/ICustomAllocator.hpp - include/armnn/IAsyncExecutionCallback.hpp + include/armnn/ILayerSupport.hpp + include/armnn/ILayerVisitor.hpp include/armnn/INetwork.hpp include/armnn/IProfiler.hpp include/armnn/IRuntime.hpp - include/armnn/IStrategy.hpp - include/armnn/IWorkingMemHandle.hpp + include/armnn/LayerSupport.hpp + include/armnn/LayerVisitorBase.hpp include/armnn/Logging.hpp include/armnn/LstmParams.hpp include/armnn/MemorySources.hpp include/armnn/NetworkFwd.hpp include/armnn/Optional.hpp include/armnn/QuantizedLstmParams.hpp - include/armnn/StrategyBase.hpp include/armnn/Tensor.hpp include/armnn/TensorFwd.hpp - include/armnn/Threadpool.hpp include/armnn/Types.hpp include/armnn/TypesUtils.hpp include/armnn/Utils.hpp include/armnn/Version.hpp + include/armnn/profiling/IProfilingGuidGenerator.hpp + include/armnn/profiling/ISendTimelinePacket.hpp include/armnn/utility/Assert.hpp include/armnn/utility/IgnoreUnused.hpp include/armnn/utility/NumericCast.hpp include/armnn/utility/PolymorphicDowncast.hpp include/armnn/utility/StringUtils.hpp include/armnn/utility/TransformIterator.hpp - include/armnn/backends/SubgraphView.hpp src/armnn/layers/LayerCloneBase.hpp src/armnn/layers/LayerWithParameters.hpp src/armnn/layers/ActivationLayer.hpp @@ -189,16 +269,10 @@ list(APPEND armnn_sources src/armnn/layers/AdditionLayer.cpp src/armnn/layers/ArgMinMaxLayer.hpp src/armnn/layers/ArgMinMaxLayer.cpp - src/armnn/layers/BatchMatMulLayer.hpp - src/armnn/layers/BatchMatMulLayer.cpp src/armnn/layers/BatchNormalizationLayer.hpp src/armnn/layers/BatchNormalizationLayer.cpp src/armnn/layers/BatchToSpaceNdLayer.hpp src/armnn/layers/BatchToSpaceNdLayer.cpp - src/armnn/layers/CastLayer.hpp - src/armnn/layers/CastLayer.cpp - src/armnn/layers/ChannelShuffleLayer.hpp - src/armnn/layers/ChannelShuffleLayer.cpp src/armnn/layers/ComparisonLayer.hpp src/armnn/layers/ComparisonLayer.cpp src/armnn/layers/ConcatLayer.hpp @@ -207,10 +281,12 @@ list(APPEND armnn_sources src/armnn/layers/ConstantLayer.cpp src/armnn/layers/Convolution2dLayer.hpp src/armnn/layers/Convolution2dLayer.cpp - src/armnn/layers/Convolution3dLayer.hpp - src/armnn/layers/Convolution3dLayer.cpp + src/armnn/layers/ConvertBf16ToFp32Layer.cpp + src/armnn/layers/ConvertBf16ToFp32Layer.hpp src/armnn/layers/ConvertFp16ToFp32Layer.hpp src/armnn/layers/ConvertFp16ToFp32Layer.cpp + src/armnn/layers/ConvertFp32ToBf16Layer.hpp + src/armnn/layers/ConvertFp32ToBf16Layer.cpp src/armnn/layers/ConvertFp32ToFp16Layer.hpp src/armnn/layers/ConvertFp32ToFp16Layer.cpp src/armnn/layers/DebugLayer.hpp @@ -225,8 +301,6 @@ list(APPEND armnn_sources src/armnn/layers/DetectionPostProcessLayer.cpp src/armnn/layers/ElementwiseBaseLayer.hpp src/armnn/layers/ElementwiseBaseLayer.cpp - src/armnn/layers/ElementwiseBinaryLayer.hpp - src/armnn/layers/ElementwiseBinaryLayer.cpp src/armnn/layers/ElementwiseUnaryLayer.hpp src/armnn/layers/ElementwiseUnaryLayer.cpp src/armnn/layers/FakeQuantizationLayer.hpp @@ -239,8 +313,6 @@ list(APPEND armnn_sources src/armnn/layers/FullyConnectedLayer.cpp src/armnn/layers/GatherLayer.cpp src/armnn/layers/GatherLayer.hpp - src/armnn/layers/GatherNdLayer.cpp - src/armnn/layers/GatherNdLayer.hpp src/armnn/layers/InputLayer.hpp src/armnn/layers/InputLayer.cpp src/armnn/layers/InstanceNormalizationLayer.hpp @@ -279,8 +351,6 @@ list(APPEND armnn_sources src/armnn/layers/PermuteLayer.cpp src/armnn/layers/Pooling2dLayer.hpp src/armnn/layers/Pooling2dLayer.cpp - src/armnn/layers/Pooling3dLayer.hpp - src/armnn/layers/Pooling3dLayer.cpp src/armnn/layers/QuantizeLayer.cpp src/armnn/layers/QuantizeLayer.hpp src/armnn/layers/QLstmLayer.hpp @@ -295,14 +365,10 @@ list(APPEND armnn_sources src/armnn/layers/PreluLayer.cpp src/armnn/layers/RankLayer.hpp src/armnn/layers/RankLayer.cpp - src/armnn/layers/ReduceLayer.hpp - src/armnn/layers/ReduceLayer.cpp src/armnn/layers/ReshapeLayer.hpp src/armnn/layers/ReshapeLayer.cpp src/armnn/layers/ResizeLayer.hpp src/armnn/layers/ResizeLayer.cpp - src/armnn/layers/ShapeLayer.cpp - src/armnn/layers/ShapeLayer.hpp src/armnn/layers/SliceLayer.cpp src/armnn/layers/SliceLayer.hpp src/armnn/layers/SoftmaxLayer.hpp @@ -327,28 +393,23 @@ list(APPEND armnn_sources src/armnn/layers/TransposeConvolution2dLayer.hpp src/armnn/layers/TransposeLayer.hpp src/armnn/layers/TransposeLayer.cpp - src/armnn/layers/UnidirectionalSequenceLstmLayer.cpp - src/armnn/layers/UnidirectionalSequenceLstmLayer.hpp src/armnn/layers/UnmapLayer.cpp src/armnn/layers/UnmapLayer.hpp - src/armnn/ArmNNProfilingServiceInitialiser.cpp - src/armnn/ArmNNProfilingServiceInitialiser.hpp - src/armnn/AsyncExecutionCallback.cpp - src/armnn/AsyncExecutionCallback.hpp src/armnn/BackendRegistry.cpp src/armnn/BackendSettings.hpp src/armnn/BackendHelper.cpp + src/armnn/CompatibleTypes.hpp src/armnn/Descriptors.cpp src/armnn/DeviceSpec.hpp src/armnn/DllExport.hpp + src/armnn/DynamicQuantizationVisitor.cpp + src/armnn/DynamicQuantizationVisitor.hpp src/armnn/Exceptions.cpp - src/armnn/ExecutionData.hpp src/armnn/ExecutionFrame.cpp src/armnn/ExecutionFrame.hpp src/armnn/Graph.cpp src/armnn/Graph.hpp src/armnn/IGraphObservable.hpp - src/armnn/ILayerSupport.cpp src/armnn/Instrument.hpp src/armnn/InternalTypes.cpp src/armnn/InternalTypes.hpp @@ -360,11 +421,17 @@ list(APPEND armnn_sources src/armnn/Layer.hpp src/armnn/LayersFwd.hpp src/armnn/LayerSupportCommon.hpp + src/armnn/LayerSupport.cpp src/armnn/LoadedNetwork.cpp src/armnn/LoadedNetwork.hpp src/armnn/Logging.cpp src/armnn/Network.cpp src/armnn/Network.hpp + src/armnn/NetworkQuantizationScheme.hpp + src/armnn/NetworkQuantizer.cpp + src/armnn/NetworkQuantizer.hpp + src/armnn/NetworkQuantizerUtils.cpp + src/armnn/NetworkQuantizerUtils.hpp src/armnn/NetworkUtils.cpp src/armnn/NetworkUtils.hpp src/armnn/Observable.cpp @@ -373,11 +440,14 @@ list(APPEND armnn_sources src/armnn/Optimizer.hpp src/armnn/OutputHandler.cpp src/armnn/OutputHandler.hpp + src/armnn/OverrideInputRangeVisitor.cpp + src/armnn/OverrideInputRangeVisitor.hpp src/armnn/Profiling.cpp src/armnn/ProfilingEvent.cpp - src/armnn/ProfilingDetails.hpp src/armnn/ProfilingEvent.hpp src/armnn/Profiling.hpp + src/armnn/QuantizerVisitor.cpp + src/armnn/QuantizerVisitor.hpp src/armnn/Runtime.cpp src/armnn/Runtime.hpp src/armnn/RangeTracker.cpp @@ -385,24 +455,24 @@ list(APPEND armnn_sources src/armnn/ResolveType.hpp src/armnn/SerializeLayerParameters.cpp src/armnn/SerializeLayerParameters.hpp + src/armnn/StaticRangeVisitor.cpp + src/armnn/StaticRangeVisitor.hpp src/armnn/SubgraphView.cpp + src/armnn/SubgraphView.hpp src/armnn/SubgraphViewSelector.cpp src/armnn/SubgraphViewSelector.hpp src/armnn/Tensor.cpp - src/armnn/Threadpool.cpp src/armnn/TypesUtils.cpp src/armnn/Utils.cpp src/armnn/WallClockTimer.cpp src/armnn/WallClockTimer.hpp - src/armnn/WorkingMemDescriptor.hpp - src/armnn/WorkingMemHandle.cpp - src/armnn/WorkingMemHandle.hpp src/armnn/optimizations/AddBroadcastReshapeLayer.hpp src/armnn/optimizations/AddDebug.hpp src/armnn/optimizations/All.hpp src/armnn/optimizations/ConvertConstants.hpp + src/armnn/optimizations/ConvertFp32NetworkToBf16.hpp src/armnn/optimizations/ConvertFp32NetworkToFp16.hpp - src/armnn/optimizations/FoldPadIntoLayer2d.hpp + src/armnn/optimizations/FoldPadIntoConvolution2d.hpp src/armnn/optimizations/MovePermuteUp.hpp src/armnn/optimizations/MoveTransposeUp.hpp src/armnn/optimizations/Optimization.hpp @@ -412,6 +482,79 @@ list(APPEND armnn_sources src/armnn/optimizations/PermuteAndBatchToSpaceAsDepthToSpace.hpp src/armnn/optimizations/PermuteAsReshape.hpp src/armnn/optimizations/SquashEqualSiblings.hpp + src/profiling/ActivateTimelineReportingCommandHandler.cpp + src/profiling/ActivateTimelineReportingCommandHandler.hpp + src/profiling/BufferManager.cpp + src/profiling/BufferManager.hpp + src/profiling/CommandHandler.cpp + src/profiling/CommandHandler.hpp + src/profiling/ConnectionAcknowledgedCommandHandler.cpp + src/profiling/ConnectionAcknowledgedCommandHandler.hpp + src/profiling/CounterDirectory.cpp + src/profiling/CounterDirectory.hpp + src/profiling/CounterIdMap.cpp + src/profiling/CounterIdMap.hpp + src/profiling/DeactivateTimelineReportingCommandHandler.cpp + src/profiling/DeactivateTimelineReportingCommandHandler.hpp + src/profiling/DirectoryCaptureCommandHandler.cpp + src/profiling/DirectoryCaptureCommandHandler.hpp + src/profiling/FileOnlyProfilingConnection.cpp + src/profiling/FileOnlyProfilingConnection.hpp + src/profiling/Holder.cpp + src/profiling/Holder.hpp + src/profiling/IBufferManager.hpp + src/profiling/IConsumer.hpp + src/profiling/ICounterDirectory.hpp + src/profiling/ICounterRegistry.hpp + src/profiling/ICounterValues.hpp + src/profiling/INotifyBackends.hpp + src/profiling/IReportStructure.hpp + src/profiling/ISendCounterPacket.hpp + src/profiling/ISendThread.hpp + src/profiling/IPacketBuffer.hpp + src/profiling/IPeriodicCounterCapture.hpp + src/profiling/IProfilingConnection.hpp + src/profiling/IProfilingConnectionFactory.hpp + src/profiling/LabelsAndEventClasses.cpp + src/profiling/LabelsAndEventClasses.hpp + src/profiling/NullProfilingConnection.hpp + src/profiling/PacketBuffer.cpp + src/profiling/PacketBuffer.hpp + src/profiling/PeriodicCounterCapture.hpp + src/profiling/PeriodicCounterCapture.cpp + src/profiling/PeriodicCounterSelectionCommandHandler.cpp + src/profiling/PeriodicCounterSelectionCommandHandler.hpp + src/profiling/PerJobCounterSelectionCommandHandler.cpp + src/profiling/PerJobCounterSelectionCommandHandler.hpp + src/profiling/ProfilingConnectionDumpToFileDecorator.cpp + src/profiling/ProfilingConnectionDumpToFileDecorator.hpp + src/profiling/ProfilingConnectionFactory.cpp + src/profiling/ProfilingConnectionFactory.hpp + src/profiling/ProfilingGuidGenerator.hpp + src/profiling/ProfilingService.cpp + src/profiling/ProfilingService.hpp + src/profiling/ProfilingStateMachine.cpp + src/profiling/ProfilingStateMachine.hpp + src/profiling/ProfilingUtils.cpp + src/profiling/ProfilingUtils.hpp + src/profiling/RegisterBackendCounters.cpp + src/profiling/RegisterBackendCounters.hpp + src/profiling/RequestCounterDirectoryCommandHandler.cpp + src/profiling/RequestCounterDirectoryCommandHandler.hpp + src/profiling/SendCounterPacket.cpp + src/profiling/SendCounterPacket.hpp + src/profiling/SendThread.cpp + src/profiling/SendThread.hpp + src/profiling/SendTimelinePacket.cpp + src/profiling/SendTimelinePacket.hpp + src/profiling/SocketProfilingConnection.cpp + src/profiling/SocketProfilingConnection.hpp + src/profiling/TimelinePacketWriterFactory.cpp + src/profiling/TimelinePacketWriterFactory.hpp + src/profiling/TimelineUtilityMethods.cpp + src/profiling/TimelineUtilityMethods.hpp + src/profiling/backends/BackendProfiling.cpp + src/profiling/backends/BackendProfiling.hpp third-party/cxxopts/cxxopts.hpp third-party/ghc/filesystem.hpp third-party/half/half.hpp @@ -438,41 +581,10 @@ foreach(lib ${armnnLibraries}) list(APPEND armnn_sources $<TARGET_OBJECTS:${lib}>) endforeach() -# The delegate needs to be placed after armnnLibraries has been fully populated. The armnn_delegate_jni library -# requires a static armnn build. -# Explanation: -# Because backends are added as object libraries they won't be linked to armnn when building armnn statically. -# A target that uses a static armnn library has to link to the object libraries in the variable armnnLibraries -# manually to include all symbols from backends. -if (BUILD_CLASSIC_DELEGATE OR BUILD_OPAQUE_DELEGATE) - set(ARMNN_SUB_PROJECT ON) - set(ARMNN_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - add_subdirectory(delegate) -endif() -if (BUILD_CLASSIC_DELEGATE) - add_definitions(-DARMNN_TFLITE_DELEGATE) -endif() -if (BUILD_OPAQUE_DELEGATE) - add_definitions(-DARMNN_TFLITE_OPAQUE_DELEGATE) -endif() - -if(BUILD_BARE_METAL OR EXECUTE_NETWORK_STATIC) - add_library_ex(armnn STATIC ${armnn_sources}) -else() - if (BUILD_SHARED_LIBS) - add_library_ex(armnn SHARED ${armnn_sources}) - else() - add_library(armnn ${armnn_sources}) - endif() -endif() +add_library_ex(armnn SHARED ${armnn_sources}) target_compile_definitions(armnn PRIVATE "ARMNN_COMPILING_DLL") -# Generate a map file for all build modes -set_property(TARGET armnn APPEND_STRING PROPERTY - LINK_FLAGS " -Wl,-Map=libarmnnMapFile.map") -message(STATUS "Linker will generate mapfile ") - target_include_directories(armnn PUBLIC $<INSTALL_INTERFACE:include> @@ -483,85 +595,47 @@ target_include_directories(armnn src/backends src/profiling profiling/common/include - profiling/client/include ) -# Link fmt third-party library -add_subdirectory(third-party/fmt) -target_link_libraries(armnn PUBLIC fmt) - -target_link_libraries(armnn PUBLIC armnnUtils) -target_link_libraries(armnn PUBLIC pipeCommon) -target_link_libraries(armnn PUBLIC pipeClient) - -if(NOT BUILD_BARE_METAL AND NOT EXECUTE_NETWORK_STATIC) - target_link_libraries(armnn PUBLIC ${CMAKE_DL_LIBS}) +target_link_libraries(armnn armnnUtils) +# only link pipeCommon if it has been built +if(BUILD_TIMELINE_DECODER) + target_link_libraries(armnn pipeCommon) endif() +target_link_libraries(armnn ${CMAKE_DL_LIBS}) if ("${CMAKE_SYSTEM_NAME}" STREQUAL Windows) - target_link_libraries(armnn PUBLIC Ws2_32.lib) + target_link_libraries(armnn Ws2_32.lib) endif() +# Link fmt third-party library +add_subdirectory(third-party/fmt) +target_link_libraries(armnn fmt) +if(BUILD_CAFFE_PARSER) + install(TARGETS armnnCaffeParser + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +endif() if(BUILD_ONNX_PARSER) install(TARGETS armnnOnnxParser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +endif() +if(BUILD_TF_PARSER) + install(TARGETS armnnTfParser + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) if(ARMCOMPUTENEON OR ARMCOMPUTECL) - target_link_libraries(armnn PUBLIC ${ARMCOMPUTE_LIBRARIES}) -endif() - -# Flatbuffers is not included in armnn if the armnnSerializer is not present -# Required to target link both flatbuffers and tosa_serialization_lib to armnn -if(ARMNNTOSACOMMON) - if (FLATBUFFERS_LIBRARY) - target_link_libraries(armnn PUBLIC ${FLATBUFFERS_LIBRARY}) - else() - # Use PATH_SUFFIXES to help find separate libs for debug/release on Windows builds - find_library(FLATBUFFERS_LIBRARY_DEBUG NAMES flatbuffers - HINTS ${FLATBUFFERS_BUILD_DIR} - PATH_SUFFIXES "Debug") - find_library(FLATBUFFERS_LIBRARY_RELEASE NAMES flatbuffers - HINTS ${FLATBUFFERS_BUILD_DIR} - PATH_SUFFIXES "Release") - target_link_libraries(armnn PUBLIC - debug ${FLATBUFFERS_LIBRARY_DEBUG} - optimized ${FLATBUFFERS_LIBRARY_RELEASE}) - endif() - - if (TOSA_SERIALIZATION_LIB) - target_link_libraries(armnn PUBLIC -Wl,--whole-archive ${TOSA_SERIALIZATION_LIB} -Wl,--no-whole-archive) - else() - find_library(TOSA_SERIALIZATION_LIB - NAMES libtosa_serialization_lib.a tosa_serialization_lib - HINTS ${TOSA_SERIALIZATION_LIB_ROOT}/lib /usr/local/lib /usr/lib) - - message(STATUS "TOSA serialization library set to ${TOSA_SERIALIZATION_LIB}") - - target_link_libraries(armnn PUBLIC -Wl,--whole-archive ${TOSA_SERIALIZATION_LIB} -Wl,--no-whole-archive) - endif() -endif() - -if (ARMNNTOSAREF) - if (TOSA_REFERENCE_MODEL_LIB) - target_link_libraries(armnn PUBLIC -Wl,--whole-archive ${TOSA_REFERENCE_MODEL_LIB} -Wl,--no-whole-archive) - else() - find_library(TOSA_REFERENCE_MODEL_LIB - NAMES libtosa_reference_model_lib.a tosa_reference_model_lib - HINTS ${TOSA_REFERENCE_MODEL_ROOT}/lib /usr/local/lib /usr/lib) - message(STATUS "TOSA Reference Model set to ${TOSA_REFERENCE_MODEL_LIB}") - - target_link_libraries(armnn PUBLIC -Wl,--whole-archive ${TOSA_REFERENCE_MODEL_LIB} -Wl,--no-whole-archive) - endif() + target_link_libraries(armnn ${ARMCOMPUTE_LIBRARIES}) endif() if(PROFILING_BACKEND_STREAMLINE AND (NOT ("${CMAKE_SYSTEM_NAME}" STREQUAL Android))) - target_link_libraries(armnn PUBLIC ${CMAKE_THREAD_LIBS_INIT}) + target_link_libraries(armnn pthread) endif() set_target_properties(armnn PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION}) @@ -569,14 +643,16 @@ set_target_properties(armnn PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION if(BUILD_UNIT_TESTS) set(unittest_sources) list(APPEND unittest_sources - src/armnn/test/CloneTests.cpp src/armnn/test/ConstTensorLayerVisitor.hpp src/armnn/test/ConstTensorLayerVisitor.cpp + src/armnn/test/CreateWorkload.hpp src/armnn/test/EndToEndTest.cpp src/armnn/test/ExecutionFrameTest.cpp src/armnn/test/FloatingPointConverterTest.cpp src/armnn/test/FlowControl.cpp src/armnn/test/GraphTests.cpp + src/armnn/test/GraphUtils.cpp + src/armnn/test/GraphUtils.hpp src/armnn/test/InstrumentTests.cpp src/armnn/test/InferOutputTests.cpp src/armnn/test/InferOutputTests.hpp @@ -585,14 +661,13 @@ if(BUILD_UNIT_TESTS) src/armnn/test/ObservableTest.cpp src/armnn/test/OptimizerTests.cpp src/armnn/test/optimizations/AddBroadcastReshapeLayerTests.cpp - src/armnn/test/optimizations/ConvertConstDequantisationLayersToConstLayersTest.cpp - src/armnn/test/optimizations/ConvertConstPermuteLayersToConstLayersTest.cpp + src/armnn/test/optimizations/ConvertConstantsBFloatTests.cpp src/armnn/test/optimizations/ConvertConstantsFloatToHalfTests.cpp src/armnn/test/optimizations/ConvertConstantsHalfToFloatTests.cpp - src/armnn/test/optimizations/FoldPadIntoQuantizedAveragePooling2DTests.cpp - src/armnn/test/optimizations/FoldPadTests.cpp + src/armnn/test/optimizations/Fp32NetworkToBf16ConverterTests.cpp src/armnn/test/optimizations/Fp32NetworkToFp16ConverterTests.cpp src/armnn/test/optimizations/FuseActivationTests.cpp + src/armnn/test/optimizations/FuseBatchNormTests.cpp src/armnn/test/optimizations/InsertDebugLayerTests.cpp src/armnn/test/optimizations/MovePermuteUpTests.cpp src/armnn/test/optimizations/MoveTransposeUpTests.cpp @@ -601,7 +676,6 @@ if(BUILD_UNIT_TESTS) src/armnn/test/optimizations/OptimizeInversePermutesTests.cpp src/armnn/test/optimizations/PermuteAndBatchToSpaceAsDepthToSpaceTests.cpp src/armnn/test/optimizations/PermuteAsReshapeTests.cpp - src/armnn/test/optimizations/ReduceMultipleAxesTests.cpp src/armnn/test/optimizations/SquashEqualSiblingsTests.cpp src/armnn/test/optimizations/TransposeAsReshapeTests.cpp src/armnn/test/OptionalTest.cpp @@ -610,6 +684,7 @@ if(BUILD_UNIT_TESTS) src/armnn/test/ShapeInferenceTests.cpp src/armnn/test/SubgraphViewTests.cpp src/armnn/test/TensorHandleStrategyTest.cpp + src/armnn/test/TensorHelpers.hpp src/armnn/test/TensorTest.cpp src/armnn/test/TestInputOutputLayerVisitor.cpp src/armnn/test/TestInputOutputLayerVisitor.hpp @@ -619,7 +694,11 @@ if(BUILD_UNIT_TESTS) src/armnn/test/TestNameOnlyLayerVisitor.hpp src/armnn/test/TestNameAndDescriptorLayerVisitor.hpp src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp + src/armnn/test/TestUtils.cpp + src/armnn/test/TestUtils.hpp src/armnn/test/UtilityTests.cpp + src/armnn/test/UnitTests.cpp + src/armnn/test/UnitTests.hpp src/armnn/test/UtilsTests.cpp src/armnnUtils/test/FloatingPointComparisonTest.cpp src/armnnUtils/test/ParserHelperTest.cpp @@ -649,73 +728,102 @@ if(BUILD_UNIT_TESTS) src/profiling/test/SendTimelinePacketTests.cpp src/profiling/test/TimelinePacketTests.cpp src/profiling/test/TimelineUtilityMethodsTests.cpp - third-party/doctest/doctest.h ) if(ARMNNREF) list(APPEND unittest_sources - src/armnn/test/optimizations/FuseBatchNormTests.cpp src/armnn/test/DebugCallbackTest.cpp + src/armnn/test/QuantizerTest.cpp src/armnn/test/RuntimeTests.cpp src/armnn/test/RuntimeTests.hpp ) endif() + if(BUILD_TF_PARSER AND ARMNNREF) + list(APPEND unittest_sources + src/armnnTfParser/test/Activations.cpp + src/armnnTfParser/test/Addition.cpp + src/armnnTfParser/test/AddN.cpp + src/armnnTfParser/test/Assert.cpp + src/armnnTfParser/test/BiasAdd.cpp + src/armnnTfParser/test/BroadcastForAdd.cpp + src/armnnTfParser/test/Convolution2d.cpp + src/armnnTfParser/test/Concat.cpp + src/armnnTfParser/test/ConcatOfConcats.cpp + src/armnnTfParser/test/DepthwiseConvolution2d.cpp + src/armnnTfParser/test/Equal.cpp + src/armnnTfParser/test/ExpandDims.cpp + src/armnnTfParser/test/FusedBatchNorm.cpp + src/armnnTfParser/test/Gather.cpp + src/armnnTfParser/test/Greater.cpp + src/armnnTfParser/test/Identity.cpp + src/armnnTfParser/test/LocalResponseNormalization.cpp + src/armnnTfParser/test/Maximum.cpp + src/armnnTfParser/test/MaximumForLeakyRelu.cpp + src/armnnTfParser/test/Mean.cpp + src/armnnTfParser/test/Minimum.cpp + src/armnnTfParser/test/Multiplication.cpp + src/armnnTfParser/test/Pad.cpp + src/armnnTfParser/test/MultiOutput.cpp + src/armnnTfParser/test/PassThru.cpp + src/armnnTfParser/test/Pooling.cpp + src/armnnTfParser/test/RealDiv.cpp + src/armnnTfParser/test/Reshape.cpp + src/armnnTfParser/test/ResizeBilinear.cpp + src/armnnTfParser/test/Rsqrt.cpp + src/armnnTfParser/test/Shape.cpp + src/armnnTfParser/test/Softmax.cpp + src/armnnTfParser/test/TestDependencies.cpp + src/armnnTfParser/test/FullyConnected.cpp + src/armnnTfParser/test/Constant.cpp + src/armnnTfParser/test/TestMultiInputsOutputs.cpp + src/armnnTfParser/test/Split.cpp + src/armnnTfParser/test/Squeeze.cpp + src/armnnTfParser/test/Stack.cpp + src/armnnTfParser/test/Sub.cpp + src/armnnTfParser/test/StridedSlice.cpp + src/armnnTfParser/test/Transpose.cpp + ) + + endif() + if(BUILD_TF_LITE_PARSER AND ARMNNREF) list(APPEND unittest_sources src/armnnTfLiteParser/test/Activations.cpp src/armnnTfLiteParser/test/Addition.cpp - src/armnnTfLiteParser/test/ArgMinMax.cpp src/armnnTfLiteParser/test/AvgPool2D.cpp - src/armnnTfLiteParser/test/BatchMatMul.cpp src/armnnTfLiteParser/test/BatchToSpaceND.cpp - src/armnnTfLiteParser/test/Cast.cpp - src/armnnTfLiteParser/test/Comparison.cpp src/armnnTfLiteParser/test/Concatenation.cpp src/armnnTfLiteParser/test/Constant.cpp src/armnnTfLiteParser/test/Conv2D.cpp - src/armnnTfLiteParser/test/Conv3D.cpp src/armnnTfLiteParser/test/DepthwiseConvolution2D.cpp - src/armnnTfLiteParser/test/DepthToSpace.cpp src/armnnTfLiteParser/test/Dequantize.cpp src/armnnTfLiteParser/test/DetectionPostProcess.cpp src/armnnTfLiteParser/test/Div.cpp - src/armnnTfLiteParser/test/ElementWiseUnary.cpp - src/armnnTfLiteParser/test/ExpandDims.cpp - src/armnnTfLiteParser/test/FloorDiv.cpp + src/armnnTfLiteParser/test/Exp.cpp src/armnnTfLiteParser/test/FullyConnected.cpp - src/armnnTfLiteParser/test/Gather.cpp - src/armnnTfLiteParser/test/GatherNd.cpp src/armnnTfLiteParser/test/L2Normalization.cpp src/armnnTfLiteParser/test/LeakyRelu.cpp src/armnnTfLiteParser/test/LoadScopeDynamicTensor.cpp - src/armnnTfLiteParser/test/LocalResponseNormalization.cpp src/armnnTfLiteParser/test/Maximum.cpp src/armnnTfLiteParser/test/MaxPool2D.cpp src/armnnTfLiteParser/test/Mean.cpp src/armnnTfLiteParser/test/Minimum.cpp - src/armnnTfLiteParser/test/MirrorPad.cpp src/armnnTfLiteParser/test/Multiplication.cpp + src/armnnTfLiteParser/test/Neg.cpp src/armnnTfLiteParser/test/Pack.cpp src/armnnTfLiteParser/test/Pad.cpp - src/armnnTfLiteParser/test/PadV2.cpp - src/armnnTfLiteParser/test/Prelu.cpp - src/armnnTfLiteParser/test/Reduce.cpp src/armnnTfLiteParser/test/Reshape.cpp - src/armnnTfLiteParser/test/ReshapeDynamic.cpp src/armnnTfLiteParser/test/ResizeBilinear.cpp src/armnnTfLiteParser/test/ResizeNearestNeighbor.cpp - src/armnnTfLiteParser/test/Quantize.cpp src/armnnTfLiteParser/test/Softmax.cpp src/armnnTfLiteParser/test/SpaceToBatchND.cpp - src/armnnTfLiteParser/test/Shape.cpp src/armnnTfLiteParser/test/Slice.cpp src/armnnTfLiteParser/test/Split.cpp src/armnnTfLiteParser/test/SplitV.cpp src/armnnTfLiteParser/test/Squeeze.cpp src/armnnTfLiteParser/test/StridedSlice.cpp src/armnnTfLiteParser/test/Sub.cpp - src/armnnTfLiteParser/test/Sum.cpp src/armnnTfLiteParser/test/TransposeConv.cpp src/armnnTfLiteParser/test/Transpose.cpp src/armnnTfLiteParser/test/Unpack.cpp @@ -742,12 +850,26 @@ if(BUILD_UNIT_TESTS) list(APPEND unittest_sources ${CMAKE_CURRENT_BINARY_DIR}/SchemaText.cpp) endif() + if(BUILD_CAFFE_PARSER AND ARMNNREF) + list(APPEND unittest_sources + src/armnnCaffeParser/test/TestAdd.cpp + src/armnnCaffeParser/test/TestConcat.cpp + src/armnnCaffeParser/test/TestConvolution.cpp + src/armnnCaffeParser/test/TestDropout.cpp + src/armnnCaffeParser/test/TestInputs.cpp + src/armnnCaffeParser/test/TestMul.cpp + src/armnnCaffeParser/test/TestPooling2d.cpp + src/armnnCaffeParser/test/TestInPlace.cpp + src/armnnCaffeParser/test/TestMultiInputsOutputs.cpp + src/armnnCaffeParser/test/TestSplit.cpp + ) + endif() + if(BUILD_ONNX_PARSER AND ARMNNREF) list(APPEND unittest_sources src/armnnOnnxParser/test/Addition.cpp src/armnnOnnxParser/test/BatchNorm.cpp src/armnnOnnxParser/test/Clip.cpp - src/armnnOnnxParser/test/Concat.cpp src/armnnOnnxParser/test/Const.cpp src/armnnOnnxParser/test/Constructor.cpp src/armnnOnnxParser/test/Conv2D.cpp @@ -755,51 +877,39 @@ if(BUILD_UNIT_TESTS) src/armnnOnnxParser/test/DepthConv.cpp src/armnnOnnxParser/test/Flatten.cpp src/armnnOnnxParser/test/FullyConnected.cpp - src/armnnOnnxParser/test/Gather.cpp - src/armnnOnnxParser/test/Gemm.cpp src/armnnOnnxParser/test/GetInputsOutputs.cpp - src/armnnOnnxParser/test/LoadScopeDynamicTensor.cpp - src/armnnOnnxParser/test/OnnxParserTestUtils.cpp - src/armnnOnnxParser/test/OnnxParserTestUtils.hpp src/armnnOnnxParser/test/Pooling.cpp src/armnnOnnxParser/test/ProtoxtFixture.cpp src/armnnOnnxParser/test/Relu.cpp src/armnnOnnxParser/test/Reshape.cpp - src/armnnOnnxParser/test/Shape.cpp - src/armnnOnnxParser/test/Unsqueeze.cpp ) endif() + if(BUILD_ARMNN_QUANTIZER AND ARMNNREF) + list(APPEND unittest_sources + src/armnnQuantizer/test/QuantizationDataSetTests.cpp + ) + endif() + if(BUILD_ARMNN_SERIALIZER AND ARMNNREF) enable_language(ASM) list(APPEND unittest_sources src/armnnSerializer/test/ActivationSerializationTests.cpp - src/armnnSerializer/test/ComparisonSerializationTests.cpp - src/armnnSerializer/test/LstmSerializationTests.cpp src/armnnSerializer/test/SerializerTests.cpp - src/armnnSerializer/test/SerializerTestUtils.cpp - src/armnnSerializer/test/SerializerTestUtils.hpp src/armnnDeserializer/test/DeserializeAbs.cpp src/armnnDeserializer/test/DeserializeActivation.cpp src/armnnDeserializer/test/DeserializeAdd.cpp - src/armnnDeserializer/test/DeserializeArgMinMax.cpp - src/armnnDeserializer/test/DeserializeBatchMatMul.cpp src/armnnDeserializer/test/DeserializeBatchToSpaceNd.cpp src/armnnDeserializer/test/DeserializeBatchNormalization.cpp - src/armnnDeserializer/test/DeserializeCast.cpp - src/armnnDeserializer/test/DeserializeChannelShuffle.cpp src/armnnDeserializer/test/DeserializeComparison.cpp src/armnnDeserializer/test/DeserializeConstant.cpp src/armnnDeserializer/test/DeserializeConvolution2d.cpp - src/armnnDeserializer/test/DeserializeConvolution3d.cpp src/armnnDeserializer/test/DeserializeDepthToSpace.cpp - src/armnnDeserializer/test/DeserializeDepthwiseConv2d.cpp src/armnnDeserializer/test/DeserializeDivision.cpp src/armnnDeserializer/test/DeserializeFill.cpp src/armnnDeserializer/test/DeserializeFloor.cpp src/armnnDeserializer/test/DeserializeFullyConnected.cpp src/armnnDeserializer/test/DeserializeGather.cpp - src/armnnDeserializer/test/DeserializeGatherNd.cpp src/armnnDeserializer/test/DeserializeInstanceNormalization.cpp src/armnnDeserializer/test/DeserializeL2Normalization.cpp src/armnnDeserializer/test/DeserializeLogSoftmax.cpp @@ -809,13 +919,10 @@ if(BUILD_UNIT_TESTS) src/armnnDeserializer/test/DeserializePad.cpp src/armnnDeserializer/test/DeserializePermute.cpp src/armnnDeserializer/test/DeserializePooling2d.cpp - src/armnnDeserializer/test/DeserializePooling3d.cpp src/armnnDeserializer/test/DeserializeRank.cpp - src/armnnDeserializer/test/DeserializeReduceSum.cpp src/armnnDeserializer/test/DeserializeReshape.cpp src/armnnDeserializer/test/DeserializeResizeBilinear.cpp src/armnnDeserializer/test/DeserializeRsqrt.cpp - src/armnnDeserializer/test/DeserializeShape.cpp src/armnnDeserializer/test/DeserializeSlice.cpp src/armnnDeserializer/test/DeserializeSpaceToBatchNd.cpp src/armnnDeserializer/test/DeserializeStridedSlice.cpp @@ -845,12 +952,6 @@ if(BUILD_UNIT_TESTS) ) endif() - if(BUILD_TESTS) - list(APPEND unittest_sources - ./tests/NetworkExecutionUtils/NetworkExecutionUtils.cpp - ./tests/NetworkExecutionUtils/test/NetworkExecutionUtilsTests.cpp) - endif() - foreach(lib ${armnnUnitTestLibraries}) message(STATUS "Adding object library dependency to UnitTests: ${lib}") list(APPEND unittest_sources $<TARGET_OBJECTS:${lib}>) @@ -859,7 +960,6 @@ if(BUILD_UNIT_TESTS) add_executable(UnitTests ${unittest_sources}) target_include_directories(UnitTests PRIVATE src/armnn) target_include_directories(UnitTests PRIVATE src/armnnUtils) - target_include_directories(UnitTests PRIVATE src/armnnTestUtils) target_include_directories(UnitTests PRIVATE src/backends) target_include_directories(UnitTests PRIVATE src/profiling) @@ -873,9 +973,14 @@ if(BUILD_UNIT_TESTS) endif() target_link_libraries(UnitTests ${CMAKE_THREAD_LIBS_INIT}) + target_link_libraries(UnitTests ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}) target_link_libraries(UnitTests armnn) - target_link_libraries(UnitTests armnnTestUtils) + target_link_libraries(UnitTests armnnUtils) + + if(BUILD_TF_PARSER) + target_link_libraries(UnitTests armnnTfParser) + endif() if(BUILD_GATORD_MOCK) target_link_libraries(UnitTests gatordMockService) @@ -892,13 +997,22 @@ if(BUILD_UNIT_TESTS) target_link_libraries(UnitTests armnnTfLiteParser) endif() + if(BUILD_CAFFE_PARSER) + target_link_libraries(UnitTests armnnCaffeParser) + endif() + if(BUILD_ARMNN_SERIALIZER AND ARMNNREF) - target_include_directories(UnitTests SYSTEM PRIVATE generated) target_include_directories(UnitTests SYSTEM PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src/armnnSerializer) target_include_directories(UnitTests SYSTEM PRIVATE "${FLATBUFFERS_INCLUDE_PATH}") target_link_libraries(UnitTests armnnSerializer) endif() + if(BUILD_ARMNN_QUANTIZER AND ARMNNREF) + target_include_directories(UnitTests SYSTEM PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src/armnnQuantizer) + target_include_directories(UnitTests SYSTEM PRIVATE "${FLATBUFFERS_INCLUDE_PATH}") + target_link_libraries(UnitTests armnnQuantizer armnnSerializer) + endif() + if(BUILD_ONNX_PARSER) target_link_libraries(UnitTests armnnOnnxParser) endif() @@ -910,7 +1024,7 @@ if(BUILD_UNIT_TESTS) addDllCopyCommands(UnitTests) endif() -if (BUILD_ARMNN_SERIALIZER AND (BUILD_TF_LITE_PARSER OR BUILD_ONNX_PARSER) AND ARMNNREF) +if (BUILD_ARMNN_SERIALIZER AND (BUILD_TF_PARSER OR BUILD_TF_LITE_PARSER OR BUILD_ONNX_PARSER OR BUILD_CAFFE_PARSER) AND ARMNNREF) set(ArmnnConverter_sources src/armnnConverter/ArmnnConverter.cpp) @@ -918,10 +1032,18 @@ if (BUILD_ARMNN_SERIALIZER AND (BUILD_TF_LITE_PARSER OR BUILD_ONNX_PARSER) AND A target_include_directories(ArmnnConverter PRIVATE src/armnn) target_include_directories(ArmnnConverter PRIVATE src/armnnUtils) + if(BUILD_CAFFE_PARSER) + target_link_libraries(ArmnnConverter armnnCaffeParser) + endif() + if(BUILD_ONNX_PARSER) target_link_libraries(ArmnnConverter armnnOnnxParser) endif() + if(BUILD_TF_PARSER) + target_link_libraries(ArmnnConverter armnnTfParser) + endif() + if(BUILD_TF_LITE_PARSER) target_link_libraries(ArmnnConverter armnnTfLiteParser) endif() @@ -931,9 +1053,6 @@ if (BUILD_ARMNN_SERIALIZER AND (BUILD_TF_LITE_PARSER OR BUILD_ONNX_PARSER) AND A target_link_libraries(ArmnnConverter armnn) target_link_libraries(ArmnnConverter ${CMAKE_THREAD_LIBS_INIT}) addDllCopyCommands(ArmnnConverter) - - install(TARGETS ArmnnConverter - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() if(BUILD_BASE_PIPE_SERVER) @@ -942,6 +1061,7 @@ endif() if(BUILD_TIMELINE_DECODER) add_subdirectory(profiling/server/src/timelineDecoder) + add_subdirectory(profiling/common/src) add_subdirectory(src/timelineDecoder) endif() @@ -974,7 +1094,6 @@ if(BUILD_GATORD_MOCK) add_library_ex(gatordMockService STATIC ${gatord_mock_sources}) target_include_directories(gatordMockService PRIVATE profiling/common/include - profiling/client/include profiling/server/src/basePipeServer src/armnnUtils src/profiling @@ -988,20 +1107,19 @@ if(BUILD_GATORD_MOCK) add_executable_ex(GatordMock tests/profiling/gatordmock/GatordMockMain.cpp) target_include_directories(GatordMock PRIVATE profiling/common/include - profiling/client/include profiling/server/src/basePipeServer src/armnnUtils src/profiling src/timelineDecoder) - target_link_libraries(GatordMock PUBLIC + target_link_libraries(GatordMock armnn armnnBasePipeServer timelineDecoder gatordMockService) if(Threads_FOUND AND (NOT ("${CMAKE_SYSTEM_NAME}" STREQUAL Android))) - target_link_libraries(GatordMock PUBLIC ${CMAKE_THREAD_LIBS_INIT}) + target_link_libraries(GatordMock ${CMAKE_THREAD_LIBS_INIT}) endif() endif() @@ -1033,7 +1151,7 @@ install( EXPORT armnn-targets FILE ArmnnTargets.cmake NAMESPACE Armnn:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} + DESTINATION ${CMAKE_INSTALL_LIBDIR} ) #################################################### @@ -1046,7 +1164,7 @@ message(STATUS "CMAKE_CURRENT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}" ) configure_package_config_file( ${CMAKE_CURRENT_LIST_DIR}/cmake/ArmnnConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/ArmnnConfig.cmake - INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} + INSTALL_DESTINATION ${INSTALL_CONFIGDIR} ) #################################################### @@ -1054,7 +1172,7 @@ configure_package_config_file( install( FILES ${CMAKE_CURRENT_BINARY_DIR}/ArmnnConfig.cmake - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} + DESTINATION ${INSTALL_CONFIGDIR} ) #################################################### @@ -1072,4 +1190,4 @@ add_library(Armnn::armnnUtils ALIAS armnnUtils) ## Build Python bindings if (BUILD_PYTHON_WHL OR BUILD_PYTHON_SRC) add_subdirectory(python/pyarmnn) -endif() +endif()
\ No newline at end of file |