Conda-forge fixes (#13392)

This commit is contained in:
Ilya Lavrenov 2022-10-12 12:16:13 +04:00 committed by GitHub
parent ea3ac0d335
commit c2911adf94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
59 changed files with 572 additions and 335 deletions

View File

@ -176,7 +176,7 @@ ov_set_if_not_defined(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FO
ov_set_if_not_defined(CMAKE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
ov_set_if_not_defined(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
if(CPACK_GENERATOR STREQUAL "DEB")
if(CPACK_GENERATOR MATCHES "^(DEB|RPM)$")
# to make sure that lib/<multiarch-tuple> is created on Debian
set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Cmake install prefix" FORCE)
endif()

View File

@ -7,13 +7,13 @@ if(ENABLE_CLANG_FORMAT)
find_host_program(CLANG_FORMAT NAMES ${CLANG_FORMAT_FILENAME} PATHS ENV PATH)
if(CLANG_FORMAT)
execute_process(COMMAND ${CLANG_FORMAT} ${CMAKE_CURRENT_SOURCE_DIR} ARGS --version OUTPUT_VARIABLE CLANG_VERSION)
if(NOT CLANG_VERSION OR CLANG_VERSION STREQUAL "")
if(NOT CLANG_VERSION)
message(WARNING "Supported clang-format version is 9!")
set(ENABLE_CLANG_FORMAT OFF)
else()
string(REGEX REPLACE "[^0-9]+([0-9]+)\\..*" "\\1" CLANG_FORMAT_MAJOR_VERSION ${CLANG_VERSION})
if(NOT ${CLANG_FORMAT_MAJOR_VERSION} EQUAL "9")
message(WARNING "Supported clang-format version is 9!")
if(NOT CLANG_FORMAT_MAJOR_VERSION EQUAL 9)
message(WARNING "Supported clang-format version is 9! Provided version ${CLANG_FORMAT_MAJOR_VERSION}")
set(ENABLE_CLANG_FORMAT OFF)
endif()
endif()

View File

@ -47,8 +47,6 @@ ie_dependent_option (ENABLE_AVX2 "Enable AVX2 optimizations" ON "X86_64 OR X86"
ie_dependent_option (ENABLE_AVX512F "Enable AVX512 optimizations" ON "X86_64 OR X86" OFF)
# Type of build, we add this as an explicit option to default it to ON
# FIXME: Ah this moment setting this to OFF will only build ngraph a static library
ie_option (BUILD_SHARED_LIBS "Build as a shared library" ON)
# Android does not support SOVERSION

View File

@ -0,0 +1,71 @@
# Copyright (C) 2018-2022 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
include(GNUInstallDirs)
#
# ov_common_libraries_cpack_set_dirs()
#
# Set directories for cpack
#
macro(ov_common_libraries_cpack_set_dirs)
# override default locations for common libraries
set(OV_CPACK_TOOLSDIR ${CMAKE_INSTALL_BINDIR}) # only C++ tools are here
set(OV_CPACK_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR})
set(OV_CPACK_LIBRARYDIR ${CMAKE_INSTALL_LIBDIR})
set(OV_CPACK_RUNTIMEDIR ${CMAKE_INSTALL_LIBDIR})
set(OV_WHEEL_RUNTIMEDIR ${OV_CPACK_RUNTIMEDIR})
set(OV_CPACK_ARCHIVEDIR ${CMAKE_INSTALL_LIBDIR})
set(OV_CPACK_PLUGINSDIR ${CMAKE_INSTALL_LIBDIR})
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/inferenceengine${OpenVINO_VERSION})
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph${OpenVINO_VERSION})
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
set(OV_CPACK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/openvino-${OpenVINO_VERSION})
ov_get_pyversion(pyversion)
if(pyversion)
set(OV_CPACK_PYTHONDIR ${CMAKE_INSTALL_LIBDIR}/${pyversion}/site-packages)
endif()
# non-native stuff
set(OV_CPACK_SHAREDIR ${CMAKE_INSTALL_DATADIR}/openvino) # internal
set(OV_CPACK_SAMPLESDIR ${OV_CPACK_SHAREDIR}/samples)
set(OV_CPACK_DEVREQDIR ${OV_CPACK_SHAREDIR})
unset(OV_CPACK_SHAREDIR)
# skipped during common libraries packaging
set(OV_CPACK_WHEELSDIR "tools")
# for BW compatibility
set(IE_CPACK_LIBRARY_PATH ${OV_CPACK_LIBRARYDIR})
set(IE_CPACK_RUNTIME_PATH ${OV_CPACK_RUNTIMEDIR})
set(IE_CPACK_ARCHIVE_PATH ${OV_CPACK_ARCHIVEDIR})
endmacro()
ov_common_libraries_cpack_set_dirs()
#
# Override CPack components name for common libraries generator
# This is needed to change the granularity, i.e. merge several components
# into a single one
#
macro(ov_override_component_names)
# merge C++ and C runtimes
set(OV_CPACK_COMP_CORE_C "${OV_CPACK_COMP_CORE}")
set(OV_CPACK_COMP_CORE_C_DEV "${OV_CPACK_COMP_CORE_DEV}")
# merge all pythons into a single component
set(OV_CPACK_COMP_PYTHON_OPENVINO "pyopenvino")
set(OV_CPACK_COMP_PYTHON_IE_API "${OV_CPACK_COMP_PYTHON_OPENVINO}")
set(OV_CPACK_COMP_PYTHON_NGRAPH "${OV_CPACK_COMP_PYTHON_OPENVINO}")
# merge all C / C++ samples as a single samples component
set(OV_CPACK_COMP_CPP_SAMPLES "samples")
set(OV_CPACK_COMP_C_SAMPLES "${OV_CPACK_COMP_CPP_SAMPLES}")
# move requirements.txt to core-dev
set(OV_CPACK_COMP_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
# move core_tools to core-dev
set(OV_CPACK_COMP_CORE_TOOLS "${OV_CPACK_COMP_CORE_DEV}")
endmacro()
ov_override_component_names()

View File

@ -23,8 +23,12 @@ macro(ov_debian_cpack_set_dirs)
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
set(OV_CPACK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/openvino-${OpenVINO_VERSION})
ov_get_pyversion(pyversion)
if(pyversion)
set(OV_CPACK_PYTHONDIR ${CMAKE_INSTALL_LIBDIR}/${pyversion}/site-packages)
endif()
# non-native stuff
set(OV_CPACK_PYTHONDIR ${OV_CPACK_PLUGINSDIR})
set(OV_CPACK_SHAREDIR ${CMAKE_INSTALL_DATADIR}/openvino) # internal
set(OV_CPACK_SAMPLESDIR ${OV_CPACK_SHAREDIR}/samples)
set(OV_CPACK_DEVREQDIR ${OV_CPACK_SHAREDIR})

View File

@ -4,6 +4,18 @@
include(CPackComponent)
#
# ov_get_pyversion()
#
function(ov_get_pyversion pyversion)
find_package(PythonInterp 3 QUIET)
if(PYTHONINTERP_FOUND)
set(${pyversion} "python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" PARENT_SCOPE)
else()
set(${pyversion} "NOT-FOUND" PARENT_SCOPE)
endif()
endfunction()
#
# ov_cpack_set_dirs()
#
@ -18,11 +30,15 @@ macro(ov_cpack_set_dirs)
set(OV_CPACK_OPENVINO_CMAKEDIR runtime/cmake)
set(OV_CPACK_DOCDIR docs)
set(OV_CPACK_SAMPLESDIR samples)
set(OV_CPACK_PYTHONDIR python)
set(OV_CPACK_WHEELSDIR tools)
set(OV_CPACK_TOOLSDIR tools)
set(OV_CPACK_DEVREQDIR tools)
ov_get_pyversion(pyversion)
if(pyversion)
set(OV_CPACK_PYTHONDIR python/${pyversion})
endif()
if(WIN32)
set(OV_CPACK_LIBRARYDIR runtime/lib/${ARCH_FOLDER}/$<CONFIG>)
set(OV_CPACK_RUNTIMEDIR runtime/bin/${ARCH_FOLDER}/$<CONFIG>)
@ -118,14 +134,12 @@ ov_define_component_names()
# - ov_add_latest_component()
if(CPACK_GENERATOR STREQUAL "DEB")
include(packaging/debian)
endif()
if(CPACK_GENERATOR STREQUAL "RPM")
elseif(CPACK_GENERATOR STREQUAL "RPM")
include(packaging/rpm)
endif()
if(CPACK_GENERATOR STREQUAL "NSIS")
elseif(CPACK_GENERATOR STREQUAL "NSIS")
include(packaging/nsis)
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW)$")
include(packaging/common-libraries)
endif()
macro(ie_cpack)
@ -180,14 +194,6 @@ macro(ie_cpack)
set(CPACK_SYSTEM_NAME "${OS_FOLDER}")
endif()
# generator specific variables
if(CPACK_GENERATOR MATCHES "^(7Z|TBZ2|TGZ|TXZ|TZ|ZIP)$")
# New in version 3.18
set(CPACK_ARCHIVE_THREADS 8)
# multiple packages are generated
set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
endif()
# include GENERATOR dedicated per-component configuration file
# NOTE: private modules need to define ov_cpack_settings macro
# for custom packages configuration
@ -195,5 +201,13 @@ macro(ie_cpack)
ov_cpack_settings()
endif()
# generator specific variables
if(CPACK_GENERATOR MATCHES "^(7Z|TBZ2|TGZ|TXZ|TZ|ZIP)$")
# New in version 3.18
set(CPACK_ARCHIVE_THREADS 8)
# multiple packages are generated
set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
endif()
include(CPack)
endmacro()

View File

@ -23,8 +23,12 @@ macro(ov_rpm_cpack_set_dirs)
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
set(OV_CPACK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/openvino-${OpenVINO_VERSION})
ov_get_pyversion(pyversion)
if(pyversion)
set(OV_CPACK_PYTHONDIR ${CMAKE_INSTALL_LIBDIR}/${pyversion}/site-packages)
endif()
# non-native stuff
set(OV_CPACK_PYTHONDIR ${OV_CPACK_PLUGINSDIR})
set(OV_CPACK_SHAREDIR ${CMAKE_INSTALL_DATADIR}/openvino-${OpenVINO_VERSION}) # internal
set(OV_CPACK_SAMPLESDIR ${OV_CPACK_SHAREDIR}/samples)
set(OV_CPACK_DEVREQDIR ${OV_CPACK_SHAREDIR})

View File

@ -175,7 +175,7 @@ ie_dependent_option(ENABLE_SYSTEM_PROTOBUF "Use system protobuf" OFF
ie_dependent_option(ENABLE_OV_CORE_UNIT_TESTS "Enables OpenVINO core unit tests" ON "ENABLE_TESTS" OFF)
ie_option(ENABLE_OPENVINO_DEBUG "Enable output for OPENVINO_DEBUG statements" OFF)
ie_option(ENABLE_REQUIREMENTS_INSTALL "Dynamic dependencies install" ON)
ie_dependent_option(ENABLE_REQUIREMENTS_INSTALL "Dynamic dependencies install" ON "ENABLE_TESTS" OFF)
if(NOT BUILD_SHARED_LIBS AND ENABLE_OV_TF_FRONTEND)
set(FORCE_FRONTENDS_USE_PROTOBUF ON)

View File

@ -0,0 +1,40 @@
# Copyright (C) 2018-2022 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
#
# OpenVINO Core components including frontends, plugins, etc
#
macro(ov_cpack_settings)
# fill a list of components which are part of conda
set(cpack_components_all ${CPACK_COMPONENTS_ALL})
unset(CPACK_COMPONENTS_ALL)
foreach(item IN LISTS cpack_components_all)
# filter out some components, which are not needed to be wrapped to conda-forge
if(# python wheels are not needed to be wrapped by conda | brew packages
NOT item STREQUAL OV_CPACK_COMP_PYTHON_WHEELS AND
# skip C / C++ / Python samples
NOT item STREQUAL OV_CPACK_COMP_CPP_SAMPLES AND
NOT item STREQUAL OV_CPACK_COMP_C_SAMPLES AND
NOT item STREQUAL OV_CPACK_COMP_PYTHON_SAMPLES AND
# even for case of system TBB we have installation rules for wheels packages
# so, need to skip this explicitly since they are installed in `host` section
NOT item MATCHES "^tbb(_dev)?$" AND
# the same for pugixml
NOT item STREQUAL "pugixml" AND
# TF component is not released
NOT item STREQUAL "tensorflow" AND
# we have `license_file` field in conda meta.yml
NOT item STREQUAL OV_CPACK_COMP_LICENSING AND
# not appropriate components
NOT item STREQUAL OV_CPACK_COMP_DEPLOYMENT_MANAGER AND
NOT item STREQUAL OV_CPACK_COMP_INSTALL_DEPENDENCIES AND
NOT item STREQUAL OV_CPACK_COMP_SETUPVARS)
list(APPEND CPACK_COMPONENTS_ALL ${item})
endif()
endforeach()
list(REMOVE_DUPLICATES CPACK_COMPONENTS_ALL)
# override generator
set(CPACK_GENERATOR "TGZ")
endmacro()

View File

@ -3,9 +3,11 @@
#
if(CPACK_GENERATOR STREQUAL "DEB")
include(cmake/packaging/debian.cmake)
include(cmake/packaging/debian.cmake)
elseif(CPACK_GENERATOR STREQUAL "RPM")
include(cmake/packaging/rpm.cmake)
include(cmake/packaging/rpm.cmake)
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW)$")
include(cmake/packaging/common-libraries.cmake)
elseif(CPACK_GENERATOR STREQUAL "NSIS")
include(cmake/packaging/nsis.cmake)
include(cmake/packaging/nsis.cmake)
endif()

View File

@ -82,12 +82,6 @@ if(ARM AND NOT CMAKE_CROSSCOMPILING)
add_compile_options(-march=armv7-a)
endif()
if(NOT COMMAND find_host_package)
macro(find_host_package)
find_package(${ARGN})
endmacro()
endif()
set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
@ -104,18 +98,29 @@ endif()
####################################
if(NOT TARGET gflags)
if(NOT APPLE AND NOT DEFINED ENV{CONDA_PREFIX})
# - conda-forge contains only dynamic libraries
# - on Apple only dynamic libraries are available
# also, we can easily mix arm64 and x86_64 binaries when cross-compile for Intel CPU
if(APPLE OR DEFINED ENV{CONDA_PREFIX} OR DEFINED ENV{HOMEBREW_PREFIX})
# conda-forge and brew contains only shared version of gflags
find_package(gflags QUIET COMPONENTS nothreads_shared)
else()
find_package(gflags QUIET COMPONENTS nothreads_static)
endif()
if(gflags_FOUND)
if(NOT TARGET ${GFLAGS_TARGET})
if(TARGET gflags_nothreads-static)
# arm cross-compilation
set(GFLAGS_TARGET gflags_nothreads-static)
else()
message(FATAL_ERROR "Failed to set GFLAGS_TARGET target")
endif()
endif()
message(STATUS "gflags (${gflags_VERSION}) is found at ${gflags_DIR}")
elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags")
add_subdirectory(thirdparty/gflags EXCLUDE_FROM_ALL)
set(GFLAGS_TARGET gflags_nothreads_static)
endif()
else()
set(GFLAGS_TARGET gflags)
endif()
if(NOT ANDROID)
@ -255,7 +260,7 @@ macro(ie_add_sample)
target_link_libraries(${IE_SAMPLE_NAME} PRIVATE ${ov_link_libraries} Threads::Threads ${IE_SAMPLE_DEPENDENCIES})
if(NOT c_sample)
target_link_libraries(${IE_SAMPLE_NAME} PRIVATE gflags)
target_link_libraries(${IE_SAMPLE_NAME} PRIVATE ${GFLAGS_TARGET})
endif()
install(TARGETS ${IE_SAMPLE_NAME}

View File

@ -36,15 +36,23 @@ function(ov_check_python_build_conditions)
find_host_package(PythonInterp 3 ${find_package_mode})
if(PYTHONINTERP_FOUND)
function(_ov_find_python_libs_new)
set(PYBIND11_PYTHON_VERSION ${PYTHON_VERSION_STRING})
list(APPEND CMAKE_MODULE_PATH "${OpenVINOPython_SOURCE_DIR}/thirdparty/pybind11/tools")
set(pybind11_tools_dir "${OpenVINOPython_SOURCE_DIR}/thirdparty/pybind11/tools")
if(EXISTS ${pybind11_tools_dir})
list(APPEND CMAKE_MODULE_PATH ${pybind11_tools_dir})
else()
find_package(pybind11 QUIET)
list(APPEND CMAKE_MODULE_PATH "${pybind11_DIR}")
endif()
# use libraries with the same version as python itself
set(PYBIND11_PYTHON_VERSION ${PYTHON_VERSION_STRING})
find_package(PythonLibsNew ${PYBIND11_PYTHON_VERSION} EXACT ${find_package_mode})
set(PYTHONLIBSNEW_FOUND ${PYTHONLIBS_FOUND} PARENT_SCOPE)
endfunction()
# try to find python libraries
_ov_find_python_libs_new()
if(PYTHONLIBSNEW_FOUND)
# clear Python_ADDITIONAL_VERSIONS to find only python library matching PYTHON_EXECUTABLE
unset(Python_ADDITIONAL_VERSIONS CACHE)
find_package(PythonLibs ${PYTHON_VERSION_STRING} EXACT ${find_package_mode})
endif()
if(NOT PYTHONLIBS_FOUND)
@ -147,7 +155,12 @@ ie_dependent_option(ENABLE_WHEEL "Build wheel packages for PyPI" ${ENABLE_WHEEL_
# Build the code
#
add_subdirectory(thirdparty/pybind11 EXCLUDE_FROM_ALL)
find_package(pybind11 QUIET)
if(NOT pybind11_FOUND)
add_subdirectory(thirdparty/pybind11 EXCLUDE_FROM_ALL)
endif()
add_subdirectory(src/compatibility/pyngraph)
add_subdirectory(src/pyopenvino)

View File

@ -14,8 +14,6 @@ endif()
option(ENABLE_CONDA_FOLDER "Create output folder with conda python bindings" OFF)
set(PYTHON_BRIDGE_CPACK_PATH "${OV_CPACK_PYTHONDIR}")
if(UNIX)
# cython generated files requires public visibility. Force visibility required.
set(CMAKE_CXX_VISIBILITY_PRESET default)
@ -68,5 +66,5 @@ endif()
ie_cpack_add_component(${PYTHON_COMPONENT} HIDDEN)
install(FILES requirements.txt
DESTINATION ${PYTHON_BRIDGE_CPACK_PATH}/${pyversion}
DESTINATION ${OV_CPACK_PYTHONDIR}
COMPONENT ${PYTHON_COMPONENT})

View File

@ -36,7 +36,7 @@ if( PYTHONINTERP_FOUND )
file(TO_CMAKE_PATH "$ENV{HOME}" ENV_HOME)
find_host_program( CYTHON_EXECUTABLE
NAMES cython cython.bat cython3
HINTS ${_python_path} ${ENV_HOME}/.local/bin
HINTS ${_python_path} ${ENV_HOME}/.local/bin $ENV{HOMEBREW_OPT}/cython/bin
)
else()
find_host_program( CYTHON_EXECUTABLE

View File

@ -90,7 +90,6 @@ find_package( Cython REQUIRED
NO_DEFAULT_PATH )
find_package(PythonInterp 3 REQUIRED)
find_package(PythonLibs ${PYTHON_VERSION_STRING} EXACT REQUIRED)
set( CYTHON_CXX_EXTENSION "cxx" )
set( CYTHON_C_EXTENSION "c" )
@ -285,11 +284,11 @@ function( cython_add_module _name )
endif()
endforeach()
compile_pyx( ${_name} generated_file ${pyx_module_sources} )
include_directories( ${PYTHON_INCLUDE_DIRS} )
python_add_module ( ${_name} ${generated_file} ${other_module_sources} )
target_include_directories( ${_name} PRIVATE ${PYTHON_INCLUDE_DIRS} )
if(PYTHON_MODULE_EXTENSION)
set_target_properties(${_name} PROPERTIES PREFIX "" SUFFIX "${PYTHON_MODULE_EXTENSION}")
elseif(NOT CMAKE_CROSSCOMPILING)
else()
message(FATAL_ERROR "Internal error: PYTHON_MODULE_EXTENSION is not defined")
endif()
if( APPLE )

View File

@ -74,13 +74,13 @@ add_custom_command(TARGET ${TARGET_NAME}
# install
install(TARGETS ${INSTALLED_TARGETS}
RUNTIME DESTINATION ${PYTHON_BRIDGE_CPACK_PATH}/${pyversion}/openvino/inference_engine
RUNTIME DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/inference_engine
COMPONENT ${PYTHON_COMPONENT}
LIBRARY DESTINATION ${PYTHON_BRIDGE_CPACK_PATH}/${pyversion}/openvino/inference_engine
LIBRARY DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/inference_engine
COMPONENT ${PYTHON_COMPONENT})
install(PROGRAMS __init__.py
DESTINATION ${PYTHON_BRIDGE_CPACK_PATH}/${pyversion}/openvino/inference_engine
DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/inference_engine
COMPONENT ${PYTHON_COMPONENT})
add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}

View File

@ -77,11 +77,11 @@ if(OpenVINO_SOURCE_DIR OR InferenceEngineDeveloperPackage_FOUND)
ie_cpack_add_component(${OV_CPACK_COMP_PYTHON_NGRAPH}_${pyversion} HIDDEN)
install(TARGETS _${PROJECT_NAME}
DESTINATION ${OV_CPACK_PYTHONDIR}/${pyversion}
DESTINATION ${OV_CPACK_PYTHONDIR}
COMPONENT ${OV_CPACK_COMP_PYTHON_NGRAPH}_${pyversion})
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../ngraph
DESTINATION ${OV_CPACK_PYTHONDIR}/${pyversion}
DESTINATION ${OV_CPACK_PYTHONDIR}
COMPONENT ${OV_CPACK_COMP_PYTHON_NGRAPH}_${pyversion}
USE_SOURCE_PERMISSIONS)

View File

@ -97,13 +97,13 @@ if(OpenVINO_SOURCE_DIR OR InferenceEngineDeveloperPackage_FOUND)
HIDDEN)
install(DIRECTORY ${OpenVINOPython_SOURCE_DIR}/src/openvino
DESTINATION ${OV_CPACK_PYTHONDIR}/${pyversion}
DESTINATION ${OV_CPACK_PYTHONDIR}
COMPONENT ${OV_CPACK_COMP_PYTHON_OPENVINO}_${pyversion}
USE_SOURCE_PERMISSIONS
PATTERN "test_utils" EXCLUDE)
install(TARGETS ${PROJECT_NAME}
DESTINATION ${OV_CPACK_PYTHONDIR}/${pyversion}/openvino
DESTINATION ${OV_CPACK_PYTHONDIR}/openvino
COMPONENT ${OV_CPACK_COMP_PYTHON_OPENVINO}_${pyversion})
install(DIRECTORY ${OpenVINOPython_SOURCE_DIR}/tests

View File

@ -13,7 +13,6 @@ function(frontend_module TARGET FRAMEWORK INSTALL_COMPONENT)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/frontend/${FRAMEWORK})
set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/frontend/${FRAMEWORK})
set(CMAKE_PDB_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/frontend/${FRAMEWORK})
set(PYTHON_BRIDGE_CPACK_PATH "${OV_CPACK_PYTHONDIR}")
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
@ -41,6 +40,6 @@ function(frontend_module TARGET FRAMEWORK INSTALL_COMPONENT)
${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/__init__.py)
install(TARGETS ${TARGET_NAME}
DESTINATION ${OV_CPACK_PYTHONDIR}/${pyversion}/openvino/frontend/${FRAMEWORK}
DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/frontend/${FRAMEWORK}
COMPONENT ${INSTALL_COMPONENT})
endfunction()

View File

@ -8,7 +8,6 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/test_utils)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/test_utils)
set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/test_utils)
set(CMAKE_PDB_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/test_utils)
set(PYTHON_BRIDGE_CPACK_PATH "${OV_CPACK_PYTHONDIR}")
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/test_utils.cpp)
@ -49,12 +48,12 @@ add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}
# install
install(TARGETS ${TARGET_NAME}
RUNTIME DESTINATION ${PYTHON_BRIDGE_CPACK_PATH}/${pyversion}/openvino/test_utils
RUNTIME DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/test_utils
COMPONENT tests EXCLUDE_FROM_ALL
LIBRARY DESTINATION ${PYTHON_BRIDGE_CPACK_PATH}/${pyversion}/openvino/test_utils
LIBRARY DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/test_utils
COMPONENT tests EXCLUDE_FROM_ALL)
install(PROGRAMS ${OpenVINOPython_SOURCE_DIR}/src/openvino/test_utils/__init__.py
DESTINATION ${PYTHON_BRIDGE_CPACK_PATH}/${pyversion}/openvino/test_utils
DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/test_utils
COMPONENT tests
EXCLUDE_FROM_ALL)

View File

@ -10,8 +10,7 @@ set(pyversion python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
set(WHEEL_VERSION "${OpenVINO_VERSION}" CACHE STRING "Version of this release" FORCE)
set(WHEEL_BUILD "${OpenVINO_VERSION_BUILD}" CACHE STRING "Build number of this release" FORCE)
set(PYTHON_BRIDGE_CPACK_PATH "${OV_CPACK_PYTHONDIR}")
set(PY_PACKAGES_DIR ${PYTHON_BRIDGE_CPACK_PATH}/${pyversion})
set(PY_PACKAGES_DIR ${OV_CPACK_PYTHONDIR})
set(TBB_LIBS_DIR runtime/3rdparty/tbb/lib)
if(WIN32)
set(TBB_LIBS_DIR runtime/3rdparty/tbb/bin)

View File

@ -98,8 +98,8 @@ macro(ov_find_package_tbb)
else()
_ov_pkg_config_tbb_unset()
if(CPACK_GENERATOR STREQUAL "DEB")
# debian cpack generator requires system TBB
if(CPACK_GENERATOR STREQUAL "^(DEB|RPM|CONDA-FORGE|BREW)$")
# package managers require system TBB
set(message_type FATAL_ERROR)
else()
set(message_type WARNING)

View File

@ -7,7 +7,7 @@ include(cmake/ie_parallel.cmake)
# pre-find TBB: need to provide TBB_IMPORTED_TARGETS used for installation
ov_find_package_tbb()
# check whether TBB has TBBBind 2.5 with hwloc 2.5 or higher which is required
# check whether TBB has TBBBind 2.5+ with hwloc 2.5+ or higher which is required
# to detect hybrid cores
function(_ov_detect_dynamic_tbbbind_2_5 var)
if(NOT TBB_FOUND)
@ -24,8 +24,9 @@ function(_ov_detect_dynamic_tbbbind_2_5 var)
find_library(_ov_tbbbind_2_5
NAMES tbbbind_2_5
HINTS "${_tbb_libs_dir}"
"Path to TBBBind 2.5 library"
NO_DEFAULT_PATH)
"Path to TBBBind 2.5+ library"
NO_DEFAULT_PATH
NO_CMAKE_FIND_ROOT_PATH)
if(_ov_tbbbind_2_5)
set(${var} ON PARENT_SCOPE)
@ -35,7 +36,7 @@ endfunction()
_ov_detect_dynamic_tbbbind_2_5(_ov_dynamic_tbbbind_2_5_found)
if(_ov_dynamic_tbbbind_2_5_found)
message(STATUS "Static tbbbind_2_5 package usage is disabled, since oneTBB (ver. ${TBB_VERSION}) provides dynamic TBBBind 2.5")
message(STATUS "Static tbbbind_2_5 package usage is disabled, since oneTBB (ver. ${TBB_VERSION}) provides dynamic TBBBind 2.5+")
set(ENABLE_TBBBIND_2_5 OFF)
elseif(ENABLE_TBBBIND_2_5)
# TMP: for Apple Silicon TBB does not provide TBBBind
@ -92,8 +93,8 @@ if(THREADING MATCHES "^(TBB|TBB_AUTO)$" AND
set(tbb_custom ON)
endif()
if(CPACK_GENERATOR STREQUAL "DEB" AND NOT ENABLE_SYSTEM_TBB)
message(FATAL_ERROR "Debian packages can be built only with system TBB. Use -DENABLE_SYSTEM_TBB=ON")
if(CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW)$" AND NOT ENABLE_SYSTEM_TBB)
message(FATAL_ERROR "Debian | RPM | Conda-forge | Brew packages can be built only with system TBB. Use -DENABLE_SYSTEM_TBB=ON")
endif()
if(ENABLE_SYSTEM_TBB)

View File

@ -26,7 +26,7 @@ if(TARGET ittnotify)
endif()
endif()
if (CMAKE_COMPILER_IS_GNUCXX)
if(CMAKE_COMPILER_IS_GNUCXX)
target_compile_options(${TARGET_NAME} PRIVATE -Wall)
endif()

View File

@ -22,7 +22,7 @@ add_library(${TARGET_NAME} STATIC ${LIBRARY_SRC} ${PUBLIC_HEADERS})
target_link_libraries(${TARGET_NAME} PRIVATE openvino::runtime::dev openvino::itt openvino::pugixml ngraph::reference
openvino::runtime nlohmann_json_schema_validator)
set_source_files_properties(src/json_config.json_config.cpp INCLUDE_DIRECTORIES
set_source_files_properties(src/json_extension/json_config.cpp INCLUDE_DIRECTORIES
$<TARGET_PROPERTY:nlohmann_json_schema_validator,INTERFACE_INCLUDE_DIRECTORIES>)
set_source_files_properties(src/generate_mapping_file.cpp INCLUDE_DIRECTORIES
$<TARGET_PROPERTY:openvino::pugixml,INTERFACE_INCLUDE_DIRECTORIES>)

View File

@ -93,35 +93,38 @@ endif()
# Create object library
add_library(${TARGET_NAME}_obj OBJECT
${LIBRARY_SRC}
${LIBRARY_HEADERS})
if(ENABLE_GAPI_PREPROCESSING)
add_library(${TARGET_NAME}_obj OBJECT
${LIBRARY_SRC}
${LIBRARY_HEADERS})
ie_faster_build(${TARGET_NAME}_obj
UNITY
)
ie_faster_build(${TARGET_NAME}_obj UNITY)
target_compile_definitions(${TARGET_NAME}_obj PRIVATE IMPLEMENT_INFERENCE_ENGINE_PLUGIN
$<TARGET_PROPERTY:openvino::runtime,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:fluid,INTERFACE_COMPILE_DEFINITIONS>
$<$<BOOL:${ENABLE_GAPI_PREPROCESSING}>:ENABLE_GAPI_PREPROCESSING>)
target_compile_definitions(${TARGET_NAME}_obj PRIVATE
IMPLEMENT_INFERENCE_ENGINE_PLUGIN
$<TARGET_PROPERTY:openvino::runtime,INTERFACE_COMPILE_DEFINITIONS>
$<TARGET_PROPERTY:fluid,INTERFACE_COMPILE_DEFINITIONS>
ENABLE_GAPI_PREPROCESSING)
target_include_directories(${TARGET_NAME}_obj SYSTEM PRIVATE $<TARGET_PROPERTY:ocv_hal,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:fluid,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:inference_engine_plugin_api,INTERFACE_INCLUDE_DIRECTORIES>)
target_include_directories(${TARGET_NAME}_obj SYSTEM PRIVATE
$<TARGET_PROPERTY:ocv_hal,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:fluid,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:inference_engine_plugin_api,INTERFACE_INCLUDE_DIRECTORIES>)
target_include_directories(${TARGET_NAME}_obj PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}"
$<TARGET_PROPERTY:openvino::util,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:openvino::itt,INTERFACE_INCLUDE_DIRECTORIES>)
target_include_directories(${TARGET_NAME}_obj PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}"
$<TARGET_PROPERTY:openvino::util,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:openvino::itt,INTERFACE_INCLUDE_DIRECTORIES>)
set_ie_threading_interface_for(${TARGET_NAME}_obj)
set_ie_threading_interface_for(${TARGET_NAME}_obj)
add_cpplint_target(${TARGET_NAME}_obj_cpplint FOR_TARGETS ${TARGET_NAME}_obj)
add_cpplint_target(${TARGET_NAME}_obj_cpplint FOR_TARGETS ${TARGET_NAME}_obj)
set(library_sources $<TARGET_OBJECTS:${TARGET_NAME}_obj>)
endif()
# Create module library file from object library
set(library_sources $<TARGET_OBJECTS:${TARGET_NAME}_obj>)
if(ENABLE_GAPI_PREPROCESSING)
if(BUILD_SHARED_LIBS)
set(library_type MODULE)
@ -130,7 +133,6 @@ if(ENABLE_GAPI_PREPROCESSING)
endif()
else()
set(library_type INTERFACE)
unset(library_sources)
endif()
add_library(${TARGET_NAME} ${library_type} ${library_sources})
@ -177,27 +179,31 @@ target_include_directories(${TARGET_NAME} INTERFACE
# Static library used for unit tests which are always built
add_library(${TARGET_NAME}_s STATIC EXCLUDE_FROM_ALL
$<TARGET_OBJECTS:${TARGET_NAME}_obj>)
if(ENABLE_GAPI_PREPROCESSING)
add_library(${TARGET_NAME}_s STATIC EXCLUDE_FROM_ALL
$<TARGET_OBJECTS:${TARGET_NAME}_obj>)
set_ie_threading_interface_for(${TARGET_NAME}_s)
set_ie_threading_interface_for(${TARGET_NAME}_s)
target_include_directories(${TARGET_NAME}_s INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}")
target_include_directories(${TARGET_NAME}_s INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}")
if(WIN32)
set_target_properties(${TARGET_NAME}_s PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}_s)
if(WIN32)
set_target_properties(${TARGET_NAME}_s PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}_s)
endif()
target_link_libraries(${TARGET_NAME}_s PRIVATE fluid openvino::itt openvino::runtime)
target_compile_definitions(${TARGET_NAME}_s INTERFACE USE_STATIC_IE)
set_target_properties(${TARGET_NAME}_s PROPERTIES EXCLUDE_FROM_ALL ON)
endif()
target_link_libraries(${TARGET_NAME}_s PRIVATE fluid openvino::itt openvino::runtime)
target_compile_definitions(${TARGET_NAME}_s INTERFACE USE_STATIC_IE)
set_target_properties(${TARGET_NAME}_s PROPERTIES EXCLUDE_FROM_ALL ON)
# LTO
set_target_properties(${TARGET_NAME}_obj ${TARGET_NAME}_s
PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO})
if(TARGET ${TARGET_NAME}_obj)
set_target_properties(${TARGET_NAME}_obj ${TARGET_NAME}_s
PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO})
endif()
if(NOT library_type STREQUAL "INTERFACE")
set_target_properties(${TARGET_NAME}

View File

@ -25,44 +25,7 @@ void validate_group_convolution_parameters(const Shape& in_shape,
const Strides& strides,
const Strides& dilations,
const CoordinateDiff& pads_begin,
const CoordinateDiff& pads_end) {
// this implementation supports 1D, 2D and 3D convolutions
NGRAPH_CHECK(in_shape.size() >= 3 && in_shape.size() <= 5, "Unsupported input rank: ", in_shape);
NGRAPH_CHECK(in_shape.size() + 1 == f_shape.size(), "Unsupported filter rank: ", f_shape.size());
NGRAPH_CHECK(in_shape.size() == out_shape.size(),
"Incompatible input and output ranks: ",
in_shape.size(),
" and ",
out_shape.size());
const size_t groups = f_shape[filter_group_axis];
const size_t in_channels = in_shape[in_channel_axis];
NGRAPH_CHECK(in_channels % groups == 0, "Input channels of data batch input must be multiple of groups");
const Shape in_group_shape = [&]() {
Shape new_shape{in_shape};
new_shape[in_channel_axis] /= groups;
return new_shape;
}();
const size_t out_channels = out_shape[out_channel_axis];
NGRAPH_CHECK(out_channels % groups == 0, "Output channels of output must be multiple of groups");
const Shape out_group_shape = [&]() {
Shape new_shape{out_shape};
new_shape[out_channel_axis] /= groups;
return new_shape;
}();
const Shape f_group_shape{std::next(f_shape.begin(), 1), std::end(f_shape)};
validate_convolution_parameters(in_group_shape,
f_group_shape,
out_group_shape,
strides,
dilations,
pads_begin,
pads_end);
}
const CoordinateDiff& pads_end);
template <typename INPUT, typename FILTER, typename OUTPUT, typename ACCU = typename widen<OUTPUT>::type>
void group_convolution(const INPUT* in,

View File

@ -5,25 +5,20 @@
#pragma once
#include "ngraph/runtime/reference/convolution_backprop_data.hpp"
#include "ngraph/runtime/reference/group_convolution.hpp"
#include "ngraph/util.hpp"
namespace ngraph {
namespace runtime {
namespace reference {
void infer_backward_conv_output_shape(const Shape& in_spatial_shape,
const Shape& f_spatial_shape,
Shape& out_spatial_shape,
const Strides& strides,
const Strides& dilations,
const CoordinateDiff& pads_begin,
const CoordinateDiff& pads_end) {
for (size_t idx = 0; idx < in_spatial_shape.size(); idx++) {
size_t in_padded_dim = (in_spatial_shape[idx] - 1) * strides[idx] - pads_begin[idx] - pads_end[idx];
size_t filter_dilated_dim = dilations[idx] * (f_spatial_shape[idx] - 1) + 1;
size_t out_spatial_dim = in_padded_dim + filter_dilated_dim;
out_spatial_shape.push_back(out_spatial_dim);
}
}
const CoordinateDiff& pads_end);
void validate_convolution_backprop_data_parameters(const Shape& in_shape,
const Shape& f_shape,
@ -31,41 +26,7 @@ void validate_convolution_backprop_data_parameters(const Shape& in_shape,
const Strides& strides,
const Strides& dilations,
const CoordinateDiff& pads_begin,
const CoordinateDiff& pads_end) {
// this implementation supports 1D, 2D and 3D convolutions
NGRAPH_CHECK(in_shape.size() >= 3 && in_shape.size() <= 5, "Unsupported input rank: ", in_shape);
NGRAPH_CHECK(in_shape.size() == f_shape.size(),
"Incompatible input ranks: ",
in_shape.size(),
" and ",
f_shape.size());
NGRAPH_CHECK(in_shape[in_channel_axis] == f_shape[filter_in_ch_axis],
"Incompatible input channels in data batch and filters shapes: ",
in_shape[in_channel_axis],
" and ",
f_shape[filter_in_ch_axis]);
NGRAPH_CHECK(in_shape.size() == out_shape.size(),
"Incompatible input and output ranks: ",
in_shape.size(),
" and ",
out_shape.size());
const auto spatial_dims = in_shape.size() - 2;
NGRAPH_CHECK(strides.size() == spatial_dims, "Strides not definied for all and only spatial dimensions");
NGRAPH_CHECK(dilations.size() == spatial_dims, "Dilations not defined for all and only spatial dimensions");
NGRAPH_CHECK((pads_begin.size() == pads_end.size()) && (pads_begin.size() == spatial_dims),
"Pads not defined for all and only spatial dimensions");
Shape out_spatial_shape{std::next(out_shape.begin(), 2), std::end(out_shape)};
Shape infered_out_spatial_shape{};
infer_backward_conv_output_shape(Shape{std::next(in_shape.begin(), 2), std::end(in_shape)},
Shape{std::next(f_shape.begin(), 2), std::end(f_shape)},
infered_out_spatial_shape,
strides,
dilations,
pads_begin,
pads_end);
NGRAPH_CHECK(out_spatial_shape == infered_out_spatial_shape, "Incorrect output shape provided");
}
const CoordinateDiff& pads_end);
void validate_group_convolution_backprop_data_parameters(const Shape& in_shape,
const Shape& f_shape,
@ -73,44 +34,7 @@ void validate_group_convolution_backprop_data_parameters(const Shape& in_shape,
const Strides& strides,
const Strides& dilations,
const CoordinateDiff& pads_begin,
const CoordinateDiff& pads_end) {
// this implementation supports 1D, 2D and 3D convolutions
NGRAPH_CHECK(in_shape.size() >= 3 && in_shape.size() <= 5, "Unsupported input rank: ", in_shape);
NGRAPH_CHECK(in_shape.size() + 1 == f_shape.size(), "Unsupported filter rank: ", f_shape.size());
NGRAPH_CHECK(in_shape.size() == out_shape.size(),
"Incompatible input and output ranks: ",
in_shape.size(),
" and ",
out_shape.size());
const size_t groups = f_shape[filter_group_axis];
const size_t in_channels = in_shape[in_channel_axis];
NGRAPH_CHECK(in_channels % groups == 0, "Input channels of data batch input must be multiple of groups");
const Shape in_group_shape = [&]() {
Shape new_shape{in_shape};
new_shape[in_channel_axis] /= groups;
return new_shape;
}();
const size_t out_channels = out_shape[out_channel_axis];
NGRAPH_CHECK(out_channels % groups == 0, "Output channels of output must be multiple of groups");
const Shape out_group_shape = [&]() {
Shape new_shape{out_shape};
new_shape[out_channel_axis] /= groups;
return new_shape;
}();
const Shape f_group_shape{std::next(f_shape.begin(), 1), std::end(f_shape)};
validate_convolution_backprop_data_parameters(in_group_shape,
f_group_shape,
out_group_shape,
strides,
dilations,
pads_begin,
pads_end);
}
const CoordinateDiff& pads_end);
template <typename T>
void group_convolution_backprop_data(const T* in,
@ -204,8 +128,7 @@ void group_convolution_backprop_data(const INPUT* in,
pads_end,
output_padding);
}
} // namespace reference
} // namespace runtime
} // namespace ngraph
} // namespace ngraph

View File

@ -0,0 +1,58 @@
// Copyright (C) 2018-2022 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#include "ngraph/runtime/reference/group_convolution.hpp"
namespace ngraph {
namespace runtime {
namespace reference {
void validate_group_convolution_parameters(const Shape& in_shape,
const Shape& f_shape,
const Shape& out_shape,
const Strides& strides,
const Strides& dilations,
const CoordinateDiff& pads_begin,
const CoordinateDiff& pads_end) {
// this implementation supports 1D, 2D and 3D convolutions
NGRAPH_CHECK(in_shape.size() >= 3 && in_shape.size() <= 5, "Unsupported input rank: ", in_shape);
NGRAPH_CHECK(in_shape.size() + 1 == f_shape.size(), "Unsupported filter rank: ", f_shape.size());
NGRAPH_CHECK(in_shape.size() == out_shape.size(),
"Incompatible input and output ranks: ",
in_shape.size(),
" and ",
out_shape.size());
const size_t groups = f_shape[filter_group_axis];
const size_t in_channels = in_shape[in_channel_axis];
NGRAPH_CHECK(in_channels % groups == 0, "Input channels of data batch input must be multiple of groups");
const Shape in_group_shape = [&]() {
Shape new_shape{in_shape};
new_shape[in_channel_axis] /= groups;
return new_shape;
}();
const size_t out_channels = out_shape[out_channel_axis];
NGRAPH_CHECK(out_channels % groups == 0, "Output channels of output must be multiple of groups");
const Shape out_group_shape = [&]() {
Shape new_shape{out_shape};
new_shape[out_channel_axis] /= groups;
return new_shape;
}();
const Shape f_group_shape{std::next(f_shape.begin(), 1), std::end(f_shape)};
validate_convolution_parameters(in_group_shape,
f_group_shape,
out_group_shape,
strides,
dilations,
pads_begin,
pads_end);
}
} // namespace reference
} // namespace runtime
} // namespace ngraph

View File

@ -0,0 +1,117 @@
// Copyright (C) 2018-2022 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#include "ngraph/runtime/reference/group_convolution_backprop_data.hpp"
#include "ngraph/runtime/reference/group_convolution.hpp"
namespace ngraph {
namespace runtime {
namespace reference {
void infer_backward_conv_output_shape(const Shape& in_spatial_shape,
const Shape& f_spatial_shape,
Shape& out_spatial_shape,
const Strides& strides,
const Strides& dilations,
const CoordinateDiff& pads_begin,
const CoordinateDiff& pads_end) {
for (size_t idx = 0; idx < in_spatial_shape.size(); idx++) {
size_t in_padded_dim = (in_spatial_shape[idx] - 1) * strides[idx] - pads_begin[idx] - pads_end[idx];
size_t filter_dilated_dim = dilations[idx] * (f_spatial_shape[idx] - 1) + 1;
size_t out_spatial_dim = in_padded_dim + filter_dilated_dim;
out_spatial_shape.push_back(out_spatial_dim);
}
}
void validate_convolution_backprop_data_parameters(const Shape& in_shape,
const Shape& f_shape,
const Shape& out_shape,
const Strides& strides,
const Strides& dilations,
const CoordinateDiff& pads_begin,
const CoordinateDiff& pads_end) {
// this implementation supports 1D, 2D and 3D convolutions
NGRAPH_CHECK(in_shape.size() >= 3 && in_shape.size() <= 5, "Unsupported input rank: ", in_shape);
NGRAPH_CHECK(in_shape.size() == f_shape.size(),
"Incompatible input ranks: ",
in_shape.size(),
" and ",
f_shape.size());
NGRAPH_CHECK(in_shape[in_channel_axis] == f_shape[filter_in_ch_axis],
"Incompatible input channels in data batch and filters shapes: ",
in_shape[in_channel_axis],
" and ",
f_shape[filter_in_ch_axis]);
NGRAPH_CHECK(in_shape.size() == out_shape.size(),
"Incompatible input and output ranks: ",
in_shape.size(),
" and ",
out_shape.size());
const auto spatial_dims = in_shape.size() - 2;
NGRAPH_CHECK(strides.size() == spatial_dims, "Strides not definied for all and only spatial dimensions");
NGRAPH_CHECK(dilations.size() == spatial_dims, "Dilations not defined for all and only spatial dimensions");
NGRAPH_CHECK((pads_begin.size() == pads_end.size()) && (pads_begin.size() == spatial_dims),
"Pads not defined for all and only spatial dimensions");
Shape out_spatial_shape{std::next(out_shape.begin(), 2), std::end(out_shape)};
Shape infered_out_spatial_shape{};
infer_backward_conv_output_shape(Shape{std::next(in_shape.begin(), 2), std::end(in_shape)},
Shape{std::next(f_shape.begin(), 2), std::end(f_shape)},
infered_out_spatial_shape,
strides,
dilations,
pads_begin,
pads_end);
NGRAPH_CHECK(out_spatial_shape == infered_out_spatial_shape, "Incorrect output shape provided");
}
void validate_group_convolution_backprop_data_parameters(const Shape& in_shape,
const Shape& f_shape,
const Shape& out_shape,
const Strides& strides,
const Strides& dilations,
const CoordinateDiff& pads_begin,
const CoordinateDiff& pads_end) {
// this implementation supports 1D, 2D and 3D convolutions
NGRAPH_CHECK(in_shape.size() >= 3 && in_shape.size() <= 5, "Unsupported input rank: ", in_shape);
NGRAPH_CHECK(in_shape.size() + 1 == f_shape.size(), "Unsupported filter rank: ", f_shape.size());
NGRAPH_CHECK(in_shape.size() == out_shape.size(),
"Incompatible input and output ranks: ",
in_shape.size(),
" and ",
out_shape.size());
const size_t groups = f_shape[filter_group_axis];
const size_t in_channels = in_shape[in_channel_axis];
NGRAPH_CHECK(in_channels % groups == 0, "Input channels of data batch input must be multiple of groups");
const Shape in_group_shape = [&]() {
Shape new_shape{in_shape};
new_shape[in_channel_axis] /= groups;
return new_shape;
}();
const size_t out_channels = out_shape[out_channel_axis];
NGRAPH_CHECK(out_channels % groups == 0, "Output channels of output must be multiple of groups");
const Shape out_group_shape = [&]() {
Shape new_shape{out_shape};
new_shape[out_channel_axis] /= groups;
return new_shape;
}();
const Shape f_group_shape{std::next(f_shape.begin(), 1), std::end(f_shape)};
validate_convolution_backprop_data_parameters(in_group_shape,
f_group_shape,
out_group_shape,
strides,
dilations,
pads_begin,
pads_end);
}
} // namespace reference
} // namespace runtime
} // namespace ngraph

View File

@ -2,7 +2,7 @@
# SPDX-License-Identifier: Apache-2.0
#
if(NOT CPACK_GENERATOR STREQUAL "DEB")
if(NOT CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW)$")
set(linkable_frontend LINKABLE_FRONTEND)
endif()

View File

@ -198,7 +198,7 @@ if(WIN32)
endif()
target_link_libraries(${TARGET_NAME}_s PRIVATE openvino::itt ${CMAKE_DL_LIBS} ngraph
frontend_common::static openvino_gapi_preproc_s inference_engine_transformations openvino::pugixml)
frontend_common::static inference_engine_transformations openvino::pugixml)
target_compile_definitions(${TARGET_NAME}_s PUBLIC USE_STATIC_IE)

View File

@ -483,7 +483,7 @@ IExecutableNetworkInternal::Ptr MultiDeviceInferencePlugin::LoadNetworkImpl(cons
if (configIter != fullConfig.end() && configIter->second == InferenceEngine::PluginConfigParams::CUMULATIVE_THROUGHPUT) {
configIter->second = InferenceEngine::PluginConfigParams::THROUGHPUT;
_LogTag = "AUTO";
LOG_INFO_TAG("CUMULATIVE Call MULTI PERFORMACE_HINT set to THROUGHPUT");
LOG_INFO_TAG("CUMULATIVE Call MULTI PERFORMANCE_HINT set to THROUGHPUT");
}
if (priorities->second.empty()) {
IE_THROW() << "KEY_MULTI_DEVICE_PRIORITIES key is not set for " << GetName() << " device";

View File

@ -20,8 +20,6 @@
#include <ngraph/rt_info.hpp>
#include <ie_ngraph_utils.hpp>
#include <shared_mutex>
#include <snippets/op/subgraph.hpp>
#include "emitters/cpu_generator.hpp"
#include "snippets_transformations/fuse_load_store_and_convert.hpp"

View File

@ -77,7 +77,7 @@ target_compile_definitions(${TARGET_NAME}_test_static
INTEGER_LOW_P
USE_STATIC_IE)
target_link_libraries(${TARGET_NAME}_test_static PUBLIC inference_engine_s openvino_gapi_preproc_s inference_engine_transformations libGNA::API)
target_link_libraries(${TARGET_NAME}_test_static PUBLIC inference_engine_s inference_engine_transformations libGNA::API)
target_include_directories(${TARGET_NAME}_test_static
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src

View File

@ -141,6 +141,8 @@ std::vector<layout> crop_inst::calc_output_layouts(const crop_node& /*node*/, co
return {output_layouts[desc->output_idx]};
}
template std::vector<layout> crop_inst::calc_output_layouts<ov::PartialShape>(crop_node const& node, const kernel_impl_params& impl_param);
std::string crop_inst::to_string(crop_node const& node) {
const auto& desc = node.get_primitive();
auto ref_in_sizes = desc->reference_input;

View File

@ -33,8 +33,7 @@ if(ENABLE_INTEL_MYRIAD)
add_subdirectory(graph_transformer)
add_subdirectory(myriad_plugin)
# TODO: custom installation or totally remove
if(DEFINED VPU_CLC_MA2X8X_ROOT AND NOT CPACK_GENERATOR STREQUAL "DEB")
if(DEFINED VPU_CLC_MA2X8X_ROOT AND NOT CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW)$")
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/custom_kernels/
DESTINATION ${OV_CPACK_PLUGINSDIR}/vpu_custom_kernels
COMPONENT myriad)

View File

@ -54,8 +54,7 @@ set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_REL
# install
# TODO: think about creation of dedicated package with device rules
if(LINUX AND NOT CPACK_GENERATOR STREQUAL "DEB")
if(LINUX AND NOT CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW)$")
install(FILES ${mvnc_SOURCE_DIR}/src/97-myriad-usbboot.rules
DESTINATION install_dependencies
COMPONENT myriad)

View File

@ -422,7 +422,7 @@ class SamplesCommonTestClass():
retcode_perf, stdout_perf, stderr_perf = shell([self.executable_path, cmd_perf])
if (retcode_perf != 0):
log.error(stderr_perf)
assert retcode_perf == 0, "Execution sample for performace failed"
assert retcode_perf == 0, "Execution sample for performance failed"
fps_perf = self.find_fps(stdout_perf)
self.write_csv(sample_name=self.sample_name, sample_type=sample_type, cmd_perf=cmd_perf, fps_perf=fps_perf)
log.info('Perf results: {}'.format(fps_perf))

View File

@ -15,7 +15,7 @@ import os
import yaml
import sys
import logging as log
from common.samples_common_test_clas import Environment
from common.samples_common_test_class import Environment
from common.common_utils import fix_env_conf
log.basicConfig(format="[ %(levelname)s ] %(message)s", level=log.INFO, stream=sys.stdout)

View File

@ -14,8 +14,8 @@ import os
import pytest
import logging as log
import sys
from common.samples_common_test_clas import SamplesCommonTestClass
from common.samples_common_test_clas import get_tests
from common.samples_common_test_class import SamplesCommonTestClass
from common.samples_common_test_class import get_tests
log.basicConfig(format="[ %(levelname)s ] %(message)s", level=log.INFO, stream=sys.stdout)

View File

@ -15,8 +15,8 @@ import pytest
import re
import sys
import logging as log
from common.samples_common_test_clas import SamplesCommonTestClass
from common.samples_common_test_clas import get_tests
from common.samples_common_test_class import SamplesCommonTestClass
from common.samples_common_test_class import get_tests
log.basicConfig(format="[ %(levelname)s ] %(message)s", level=log.INFO, stream=sys.stdout)

View File

@ -16,9 +16,9 @@ import re
import sys
import logging as log
import subprocess
from common.samples_common_test_clas import get_tests
from common.samples_common_test_clas import SamplesCommonTestClass
from common.samples_common_test_clas import Environment
from common.samples_common_test_class import get_tests
from common.samples_common_test_class import SamplesCommonTestClass
from common.samples_common_test_class import Environment
from common.common_utils import shell
from pathlib import Path
import shutil

View File

@ -15,8 +15,8 @@ import pytest
import re
import sys
import logging as log
from common.samples_common_test_clas import get_tests
from common.samples_common_test_clas import SamplesCommonTestClass
from common.samples_common_test_class import get_tests
from common.samples_common_test_class import SamplesCommonTestClass
log.basicConfig(format="[ %(levelname)s ] %(message)s", level=log.INFO, stream=sys.stdout)

View File

@ -15,8 +15,8 @@ import pytest
import re
import sys
import logging as log
from common.samples_common_test_clas import get_tests
from common.samples_common_test_clas import SamplesCommonTestClass
from common.samples_common_test_class import get_tests
from common.samples_common_test_class import SamplesCommonTestClass
log.basicConfig(format="[ %(levelname)s ] %(message)s", level=log.INFO, stream=sys.stdout)

View File

@ -14,8 +14,8 @@ import os
import pytest
import logging as log
import sys
from common.samples_common_test_clas import get_tests
from common.samples_common_test_clas import SamplesCommonTestClass
from common.samples_common_test_class import get_tests
from common.samples_common_test_class import SamplesCommonTestClass
from common.specific_samples_parsers import parse_hello_reshape_ssd
log.basicConfig(format="[ %(levelname)s ] %(message)s", level=log.INFO, stream=sys.stdout)

View File

@ -14,9 +14,9 @@ import os
import pytest
import sys
import logging as log
from common.samples_common_test_clas import SamplesCommonTestClass
from common.samples_common_test_clas import Environment
from common.samples_common_test_clas import get_tests
from common.samples_common_test_class import SamplesCommonTestClass
from common.samples_common_test_class import Environment
from common.samples_common_test_class import get_tests
from common.common_utils import parse_avg_err
log.basicConfig(format="[ %(levelname)s ] %(message)s", level=log.INFO, stream=sys.stdout)

View File

@ -10,9 +10,13 @@ if(ENABLE_LTO)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)
endif()
add_subdirectory(ittapi)
add_subdirectory(itt_collector EXCLUDE_FROM_ALL)
if(ENABLE_PROFILING_ITT)
add_subdirectory(ittapi)
add_subdirectory(itt_collector EXCLUDE_FROM_ALL)
endif()
add_subdirectory(cnpy EXCLUDE_FROM_ALL)
if(ENABLE_INTEL_GPU)
add_subdirectory(ocl)
endif()
@ -54,6 +58,10 @@ if(ENABLE_SYSTEM_PUGIXML)
if(TARGET pugixml::shared)
# example: cross-compilation on debian
set(pugixml_target pugixml::shared)
elseif(TARGET pugixml::pugixml)
# or create an alias for pugixml::pugixml shared library
# example: pugixml brew package
set(pugixml_target pugixml::pugixml)
elseif(TARGET pugixml)
# or create an alias for pugixml shared library
# example: libpugixml-dev debian package
@ -117,8 +125,8 @@ if(ENABLE_SYSTEM_PUGIXML)
DESTINATION runtime/3rdparty/pugixml/lib
COMPONENT pugixml
EXCLUDE_FROM_ALL)
elseif(CPACK_GENERATOR STREQUAL "DEB")
message(FATAL_ERROR "Debian package build requires shared Pugixml library")
elseif(CPACK_GENERATOR MATCHES "^(DEB|RPM)$")
message(FATAL_ERROR "Debian | RPM package build requires shared Pugixml library")
endif()
set_target_properties(${pugixml_target} PROPERTIES IMPORTED_GLOBAL ON)
@ -151,39 +159,50 @@ endif()
# Fluid, G-API, OpenCV HAL
#
add_library(ocv_hal INTERFACE)
target_include_directories(ocv_hal INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/ocv")
if(ENABLE_GAPI_PREPROCESSING)
add_library(ocv_hal INTERFACE)
target_include_directories(ocv_hal INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/ocv")
add_subdirectory(ade EXCLUDE_FROM_ALL)
add_subdirectory(fluid/modules/gapi EXCLUDE_FROM_ALL)
add_subdirectory(ade EXCLUDE_FROM_ALL)
add_subdirectory(fluid/modules/gapi EXCLUDE_FROM_ALL)
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 11 AND NOT OV_COMPILER_IS_CLANG)
target_compile_options(fluid PRIVATE "-Wno-maybe-uninitialized")
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 11 AND NOT OV_COMPILER_IS_CLANG)
target_compile_options(fluid PRIVATE "-Wno-maybe-uninitialized")
endif()
set_target_properties(ade fluid PROPERTIES FOLDER thirdparty)
openvino_developer_export_targets(COMPONENT openvino_common TARGETS ade fluid)
ov_install_static_lib(ade ${OV_CPACK_COMP_CORE})
ov_install_static_lib(fluid ${OV_CPACK_COMP_CORE})
endif()
set_target_properties(ade fluid PROPERTIES FOLDER thirdparty)
openvino_developer_export_targets(COMPONENT openvino_common TARGETS ade fluid)
ov_install_static_lib(ade ${OV_CPACK_COMP_CORE})
ov_install_static_lib(fluid ${OV_CPACK_COMP_CORE})
#
# Gflags
#
if(NOT APPLE AND NOT DEFINED ENV{CONDA_PREFIX})
# - conda-forge contains only dynamic libraries
if(NOT APPLE OR CPACK_GENERATOR MATCHES "^(BREW|CONDA-FORGE)$")
# - on Apple only dynamic libraries are available
# also, we can easily mix arm64 and x86_64 binaries when cross-compile for Intel CPU
find_package(gflags QUIET COMPONENTS nothreads_static)
if(CPACK_GENERATOR MATCHES "^(BREW|CONDA-FORGE)$" OR DEFINED ENV{HOMEBREW_PREFIX})
# conda-forge and brew contains only shared version of gflags
find_package(gflags QUIET COMPONENTS nothreads_shared)
else()
find_package(gflags QUIET COMPONENTS nothreads_static)
endif()
endif()
if(gflags_FOUND)
if(TARGET gflags_nothreads-static)
if(TARGET gflags)
set_target_properties(gflags PROPERTIES IMPORTED_GLOBAL ON)
elseif(TARGET gflags_nothreads-static)
# debian_9_arm case
set_target_properties(gflags_nothreads-static PROPERTIES IMPORTED_GLOBAL ON)
add_library(gflags ALIAS gflags_nothreads-static)
elseif(TARGET gflags)
set_target_properties(gflags PROPERTIES IMPORTED_GLOBAL ON)
elseif(TARGET ${GFLAGS_TARGET})
set_target_properties(${GFLAGS_TARGET} PROPERTIES IMPORTED_GLOBAL ON)
add_library(gflags ALIAS ${GFLAGS_TARGET})
else()
message(FATAL_ERROR "Internal error: failed to find imported target 'gflags'")
endif()
@ -198,10 +217,19 @@ endif()
#
if(ENABLE_TESTS)
add_subdirectory(gtest EXCLUDE_FROM_ALL)
# TODO: migrate to official version of googltest
# find_package(GTest QUIET)
openvino_developer_export_targets(COMPONENT tests
TARGETS gmock gmock_main gtest gtest_main)
if(GTest_FOUND)
foreach(gtest_target gtest gtest_main gmock gmock_main)
set_target_properties(GTest::${gtest_target} PROPERTIES IMPORTED_GLOBAL ON)
add_library(${gtest_target} ALIAS GTest::${gtest_target})
endforeach()
else()
add_subdirectory(gtest EXCLUDE_FROM_ALL)
openvino_developer_export_targets(COMPONENT tests
TARGETS gmock gmock_main gtest gtest_main)
endif()
endif()
#
@ -270,17 +298,17 @@ ov_install_static_lib(nlohmann_json_schema_validator ${OV_CPACK_COMP_CORE})
# Install
#
if(CPACK_GENERATOR STREQUAL "DEB")
# These libraries are dependencies for openvino-samples-2022.1 package
if(CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW)$")
# These libraries are dependencies for openvino-samples package
if(NOT gflags_FOUND)
message(FATAL_ERROR "gflags must be used as a debian package. Install libgflags-dev")
message(FATAL_ERROR "gflags must be used as a ${CPACK_GENERATOR} package. Install libgflags-dev")
endif()
if(NOT zlib_FOUND)
message(FATAL_ERROR "zlib must be used as a debian package. Install zlib1g-dev")
message(FATAL_ERROR "zlib must be used as a ${CPACK_GENERATOR} package. Install zlib1g-dev")
endif()
if(NOT ENABLE_SYSTEM_PUGIXML)
message(FATAL_ERROR "Pugixml must be used as a debian package. Install libpugixml-dev")
message(FATAL_ERROR "Pugixml must be used as a ${CPACK_GENERATOR} package. Install libpugixml-dev")
endif()
else()
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/gflags

View File

@ -2,36 +2,28 @@
# SPDX-License-Identifier: Apache-2.0
#
#
# Adds compiler flags to C / C++ sources
#
macro(add_compiler_flags)
foreach(flag ${ARGN})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
endforeach()
endmacro()
#
# Google Tests framework
#
set(gtest_force_shared_crt ON CACHE BOOL "disable static CRT for google test")
set(BUILD_SHARED_LIBS OFF)
set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
add_subdirectory(gtest EXCLUDE_FROM_ALL)
get_target_property(gtest_include_dirs gtest INTERFACE_INCLUDE_DIRECTORIES)
set_target_properties(gtest PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${gtest_include_dirs}")
get_target_property(gmock_include_dirs gtest INTERFACE_INCLUDE_DIRECTORIES)
set_target_properties(gmock PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${gmock_include_dirs};${gmock_SOURCE_DIR}/include")
set_target_properties(gmock PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
"${gmock_include_dirs};${gmock_SOURCE_DIR}/include")
set(gtest_targets gtest gtest_main gmock gmock_main)
foreach(target IN LISTS gtest_targets)
# If we have specified /Z7 option, remove -Zi option which comes from gtest
# If we have specified /Z7 option, remove -Zi option which comes from gtest
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
get_target_property(_target_cxx_flags ${target} COMPILE_OPTIONS)
if(_target_cxx_flags)
@ -51,5 +43,5 @@ foreach(target IN LISTS gtest_targets)
ov_disable_all_warnings(${target})
endforeach()
set_target_properties(gtest gtest_main gmock gmock_main
set_target_properties(${gtest_targets}
PROPERTIES FOLDER thirdparty)

View File

@ -14,6 +14,6 @@
# limitations under the License.
# ******************************************************************************
if(ENABLE_PROFILING_ITT AND SELECTIVE_BUILD STREQUAL "COLLECT")
if(SELECTIVE_BUILD STREQUAL "COLLECT")
add_subdirectory(sea_itt_lib)
endif()

View File

@ -2,28 +2,26 @@
# SPDX-License-Identifier: Apache-2.0
#
if(ENABLE_PROFILING_ITT)
if(DEFINED INTEL_VTUNE_DIR OR DEFINED ENV{INTEL_VTUNE_DIR})
find_package(ITT
PATHS "${OpenVINO_SOURCE_DIR}/src/common/itt/cmake"
NO_DEFAULT_PATH)
if(NOT ITT_FOUND)
message(WARNING "Profiling option enabled, but no ITT library was found under INTEL_VTUNE_DIR")
endif()
else()
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ittapi ${CMAKE_BINARY_DIR}/_deps/ittapi EXCLUDE_FROM_ALL)
target_compile_definitions(ittnotify INTERFACE ENABLE_PROFILING_ITT)
if(CMAKE_COMPILER_IS_GNUCXX)
target_compile_options(ittnotify PRIVATE -Wno-undef)
endif()
# override INTERFACE_INCLUDE_DIRECTORIES
set_property(TARGET ittnotify PROPERTY INTERFACE_INCLUDE_DIRECTORIES
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/ittapi/src/ittnotify>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/ittapi/include>)
openvino_developer_export_targets(COMPONENT openvino_common TARGETS ittnotify)
ov_install_static_lib(ittnotify ${OV_CPACK_COMP_CORE})
if(DEFINED INTEL_VTUNE_DIR OR DEFINED ENV{INTEL_VTUNE_DIR})
find_package(ITT
PATHS "${OpenVINO_SOURCE_DIR}/src/common/itt/cmake"
NO_DEFAULT_PATH)
if(NOT ITT_FOUND)
message(WARNING "Profiling option enabled, but no ITT library was found under INTEL_VTUNE_DIR")
endif()
else()
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ittapi ${CMAKE_BINARY_DIR}/_deps/ittapi EXCLUDE_FROM_ALL)
target_compile_definitions(ittnotify INTERFACE ENABLE_PROFILING_ITT)
if(CMAKE_COMPILER_IS_GNUCXX)
target_compile_options(ittnotify PRIVATE -Wno-undef)
endif()
# override INTERFACE_INCLUDE_DIRECTORIES
set_property(TARGET ittnotify PROPERTY INTERFACE_INCLUDE_DIRECTORIES
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/ittapi/src/ittnotify>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/ittapi/include>)
openvino_developer_export_targets(COMPONENT openvino_common TARGETS ittnotify)
ov_install_static_lib(ittnotify ${OV_CPACK_COMP_CORE})
endif()

@ -1 +1 @@
Subproject commit ca5e389079a08764b72c95f4ecfe6ee64f9c8848
Subproject commit 96a01335dbc560b9224f52f0cc25c28ca0f1b564

View File

@ -14,6 +14,11 @@ set(JSON_VALIDATOR_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
add_subdirectory(nlohmann_json_schema_validator EXCLUDE_FROM_ALL)
set_target_properties(nlohmann_json_schema_validator PROPERTIES FOLDER thirdparty)
if(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
target_compile_options(nlohmann_json_schema_validator PRIVATE -Wno-switch -Wno-deprecated-declarations)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
target_compile_options(nlohmann_json_schema_validator PRIVATE /wd4996)
endif()
# WA for CentOS with gcc < 4.9: override defitions to remove boost usage
set_property(TARGET nlohmann_json_schema_validator PROPERTY COMPILE_DEFINITIONS "")

@ -1 +1 @@
Subproject commit fec56a1a16c6e1c1b1f4e116a20e79398282626c
Subproject commit bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d

@ -1 +1 @@
Subproject commit b1ef8628326cf0b53612f12784fd245e5e4382f1
Subproject commit 27fc1d094503623dfe39365ba82581507524545c

View File

@ -29,6 +29,9 @@ set(ONNX_USE_LITE_PROTO ${ONNX_USE_LITE_PROTO_DEFAULT} CACHE BOOL "Use protobuf
set(ONNX_ML ON CACHE BOOL "Use ONNX ML" FORCE)
set(ONNX_CUSTOM_PROTOC_EXECUTABLE ${PROTOC_EXECUTABLE})
# clear Python_ADDITIONAL_VERSIONS to find only python library matching PYTHON_EXECUTABLE
unset(Python_ADDITIONAL_VERSIONS CACHE)
# build targets
function(ov_onnx_build_static)

View File

@ -43,7 +43,7 @@ ie_cpack_add_component(${OV_CPACK_COMP_CORE_TOOLS}
HIDDEN
DEPENDS ${OV_CPACK_COMP_CORE})
if(CPACK_GENERATOR MATCHES "DEB")
if(CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW)$")
install(TARGETS compile_tool
RUNTIME DESTINATION ${OV_CPACK_TOOLSDIR}
COMPONENT ${OV_CPACK_COMP_CORE_TOOLS})

View File

@ -53,7 +53,7 @@ void StatisticsReport::dump() {
slog::info << "Statistics report is stored to " << dumper.getFilename() << slog::endl;
}
void StatisticsReport::dumpPerformanceCountersRequest(CsvDumper& dumper, const PerformaceCounters& perfCounts) {
void StatisticsReport::dumpPerformanceCountersRequest(CsvDumper& dumper, const PerformanceCounters& perfCounts) {
auto performanceMapSorted = perfCountersSorted(perfCounts);
long long total = 0L;
@ -96,7 +96,7 @@ void StatisticsReport::dumpPerformanceCountersRequest(CsvDumper& dumper, const P
dumper.endLine();
}
void StatisticsReport::dumpPerformanceCounters(const std::vector<PerformaceCounters>& perfCounts) {
void StatisticsReport::dumpPerformanceCounters(const std::vector<PerformanceCounters>& perfCounts) {
if ((_config.report_type.empty()) || (_config.report_type == noCntReport)) {
slog::info << "Statistics collecting for performance counters was not "
"requested. No reports are dumped."

View File

@ -21,7 +21,7 @@ static constexpr char detailedCntReport[] = "detailed_counters";
/// @brief Responsible for collecting of statistics and dumping to .csv file
class StatisticsReport {
public:
typedef std::map<std::string, InferenceEngine::InferenceEngineProfileInfo> PerformaceCounters;
typedef std::map<std::string, InferenceEngine::InferenceEngineProfileInfo> PerformanceCounters;
typedef std::vector<std::pair<std::string, std::string>> Parameters;
struct Config {
@ -54,10 +54,10 @@ public:
void dump();
void dumpPerformanceCounters(const std::vector<PerformaceCounters>& perfCounts);
void dumpPerformanceCounters(const std::vector<PerformanceCounters>& perfCounts);
private:
void dumpPerformanceCountersRequest(CsvDumper& dumper, const PerformaceCounters& perfCounts);
void dumpPerformanceCountersRequest(CsvDumper& dumper, const PerformanceCounters& perfCounts);
// configuration of current benchmark execution
const Config _config;