Skip to content

Commit

Permalink
ARM static build
Browse files Browse the repository at this point in the history
  • Loading branch information
ilya-lavrenov committed Jun 10, 2023
1 parent a0e8d9a commit 7de74d5
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 25 deletions.
11 changes: 3 additions & 8 deletions .ci/azure/linux_arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -178,10 +178,11 @@ jobs:
- script: |
source $(BUILD_OPENVINO)/conanbuild.sh
# TODO: return tests building once GPU plugin migrates to Plugin API 2.0
cmake \
-G Ninja \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
-DENABLE_CPPLINT=ON \
-DENABLE_INTEL_GPU=ON \
Expand All @@ -191,7 +192,6 @@ jobs:
-DPYTHON_MODULE_EXTENSION=$(aarch64-linux-gnu-python3-config --extension-suffix) \
-DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libc-2.31.so \
-DPYTHON_INCLUDE_DIR=$(Agent.ToolsDirectory)/Python/$(OV_PYTHON_VERSION)/x64/include/python$(OV_PYTHON_VERSION_MAJOR_MINOR) \
-DENABLE_TESTS=ON \
-DENABLE_DATA=OFF \
-DENABLE_SYSTEM_TBB=ON \
-DENABLE_SYSTEM_PROTOBUF=ON \
Expand All @@ -203,6 +203,7 @@ jobs:
-DARM_COMPUTE_SCONS_JOBS=$(NUM_PROC) \
-DCMAKE_INSTALL_PREFIX=$(INSTALL_OPENVINO) \
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
-DVCPKG_BUILD_TYPE=$(BUILD_TYPE)
-S $(OPENVINO_REPO_DIR) \
-B $(BUILD_OPENVINO)
source $(BUILD_OPENVINO)/deactivate_conanbuild.sh
Expand All @@ -226,9 +227,3 @@ jobs:
env:
CMAKE_TOOLCHAIN_FILE: $(BUILD_OPENVINO)/conan_toolchain.cmake
displayName: 'Build OpenVINO C++ samples'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: $(INSTALL_OPENVINO)
ArtifactName: 'openvino_aarch64_linux'
displayName: 'Publish OpenVINO Runtime for ARM'
11 changes: 10 additions & 1 deletion cmake/features.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,15 @@ else()
set(ENABLE_SYSTEM_PUGIXML_DEFAULT OFF)
endif()

if(ANDROID)
# when protobuf from /usr/include is used, then Android toolchain ignores include paths
# but if we build for Android using vcpkg / conan / etc where flatbuffers is not located in
# the /usr/include folders, we can still use 'system' flatbuffers
set(ENABLE_SYSTEM_FLATBUFFERS_DEFAULT OFF)
else()
set(ENABLE_SYSTEM_FLATBUFFERS_DEFAULT ON)
endif()

# users wants to use his own TBB version, specific either via env vars or cmake options
if(DEFINED ENV{TBBROOT} OR DEFINED ENV{TBB_DIR} OR DEFINED TBB_DIR OR DEFINED TBBROOT)
set(ENABLE_SYSTEM_TBB_DEFAULT OFF)
Expand All @@ -163,7 +172,7 @@ ie_dependent_option (ENABLE_SYSTEM_TBB "Enables use of system TBB" ${ENABLE_SYS
# available out of box on all systems (like RHEL, UBI)
ie_option (ENABLE_SYSTEM_PUGIXML "Enables use of system PugiXML" ${ENABLE_SYSTEM_PUGIXML_DEFAULT})
# the option is on by default, because we use only flatc compiler and don't use any libraries
ie_dependent_option(ENABLE_SYSTEM_FLATBUFFERS "Enables use of system flatbuffers" ON
ie_dependent_option(ENABLE_SYSTEM_FLATBUFFERS "Enables use of system flatbuffers" ${ENABLE_SYSTEM_FLATBUFFERS_DEFAULT}
"ENABLE_OV_TF_LITE_FRONTEND" OFF)
ie_dependent_option (ENABLE_SYSTEM_OPENCL "Enables use of system OpenCL" ${ENABLE_SYSTEM_LIBS_DEFAULT}
"ENABLE_INTEL_GPU" OFF)
Expand Down
11 changes: 3 additions & 8 deletions cmake/templates/OpenVINOConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -345,20 +345,15 @@ macro(_ov_find_intel_cpu_dependencies)
if(_OV_ENABLE_CPU_ACL)
if(_ov_as_external_package)
set_and_check(ARM_COMPUTE_LIB_DIR "@PACKAGE_ARM_COMPUTE_LIB_DIR@")
set(_ov_find_acl_options NO_DEFAULT_PATH)
set(_ov_find_acl_path "${CMAKE_CURRENT_LIST_DIR}")
set(ACL_DIR "${CMAKE_CURRENT_LIST_DIR}")
else()
set_and_check(_ov_find_acl_path "@PACKAGE_FIND_ACL_PATH@")
set_and_check(ACL_DIR "@PACKAGE_FIND_ACL_PATH@")
endif()

_ov_find_dependency(ACL
NO_MODULE
PATHS "${_ov_find_acl_path}"
${_ov_find_acl_options})
_ov_find_dependency(ACL)

unset(ARM_COMPUTE_LIB_DIR)
unset(_ov_find_acl_path)
unset(_ov_find_acl_options)
endif()
unset(_OV_ENABLE_CPU_ACL)
endmacro()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class FRONTEND_API ConversionExtensionBase : public ov::Extension {
return m_op_type;
}

~ConversionExtensionBase() override = 0;
virtual ~ConversionExtensionBase();

private:
std::string m_op_type;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class INFERENCE_ENGINE_API_CLASS(CPUStreamsExecutor) : public IStreamsExecutor {
* @brief Constructor
* @param config Stream executor parameters
*/
explicit CPUStreamsExecutor(const InferenceEngine::IStreamsExecutor::Config& config = {});
explicit CPUStreamsExecutor(const IStreamsExecutor::Config& config = {});

/**
* @brief A class destructor
Expand Down
5 changes: 2 additions & 3 deletions src/inference/src/dev/threading/cpu_streams_executor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ struct CPUStreamsExecutor::Impl {
std::queue<Task> _taskQueue;
bool _isStopped = false;
std::vector<int> _usedNumaNodes;
ov::threading::ThreadLocal<std::shared_ptr<Stream>> _streams;
ThreadLocal<std::shared_ptr<Stream>> _streams;
#if (OV_THREAD == OV_THREAD_TBB || OV_THREAD == OV_THREAD_TBB_AUTO)
// stream id mapping to the core type
// stored in the reversed order (so the big cores, with the highest core_type_id value, are populated first)
Expand All @@ -451,8 +451,7 @@ int CPUStreamsExecutor::get_numa_node_id() {
return stream->_numaNodeId;
}

CPUStreamsExecutor::CPUStreamsExecutor(const ov::threading::IStreamsExecutor::Config& config)
: _impl{new Impl{config}} {}
CPUStreamsExecutor::CPUStreamsExecutor(const IStreamsExecutor::Config& config) : _impl{new Impl{config}} {}

CPUStreamsExecutor::~CPUStreamsExecutor() {
{
Expand Down
4 changes: 1 addition & 3 deletions src/inference/src/threading/ie_cpu_streams_executor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@
#include "threading/ie_thread_affinity.hpp"
#include "threading/ie_thread_local.hpp"

using namespace openvino;

namespace InferenceEngine {
struct CPUStreamsExecutor::Impl : public ov::threading::CPUStreamsExecutor {
Impl(const InferenceEngine::IStreamsExecutor::Config& config) : ov::threading::CPUStreamsExecutor(config) {}
Expand All @@ -41,7 +39,7 @@ int CPUStreamsExecutor::GetNumaNodeId() {
return _impl->get_numa_node_id();
}

CPUStreamsExecutor::CPUStreamsExecutor(const Config& config) : _impl{new Impl(config)} {}
CPUStreamsExecutor::CPUStreamsExecutor(const IStreamsExecutor::Config& config) : _impl{new Impl(config)} {}

CPUStreamsExecutor::~CPUStreamsExecutor() {}

Expand Down

0 comments on commit 7de74d5

Please sign in to comment.