From ee86968bbbe9a40f0df6d148c7b655e3fcbab72b Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Mon, 29 Aug 2022 12:21:59 +0400 Subject: [PATCH] Use TBB as default threading (#12783) * Use TBB as default threading * Use custom TBBConfigs only if TBBROOT is passed --- cmake/dependencies.cmake | 3 ++- cmake/features.cmake | 9 ++------- src/cmake/ie_parallel.cmake | 8 ++++++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake index b94c501b5d4..1e3c7f1c078 100644 --- a/cmake/dependencies.cmake +++ b/cmake/dependencies.cmake @@ -144,7 +144,8 @@ function(ov_download_tbb) ENVIRONMENT "TBBROOT" SHA256 "ad9cf52e657660058aa6c6844914bc0fc66241fec89a392d8b79a7ff69c3c7f6") else() - message(FATAL_ERROR "TBB is not available on current platform") + message(WARNING "TBB is not available on current platform") + return() endif() update_deps_cache(TBBROOT "${TBB}" "Path to TBB root folder") diff --git a/cmake/features.cmake b/cmake/features.cmake index 504f7b2e27f..b26e3e2ee68 100644 --- a/cmake/features.cmake +++ b/cmake/features.cmake @@ -50,19 +50,14 @@ ie_option (ENABLE_DOCS "Build docs using Doxygen" OFF) # # "OneDNN library based on OMP or TBB or Sequential implementation: TBB|OMP|SEQ" -if(X86 OR ARM OR (MSVC AND (ARM OR AARCH64)) ) - set(THREADING_DEFAULT "SEQ") -else() - set(THREADING_DEFAULT "TBB") -endif() -set(THREADING "${THREADING_DEFAULT}" CACHE STRING "Threading") +set(THREADING "TBB" CACHE STRING "Threading") set_property(CACHE THREADING PROPERTY STRINGS "TBB" "TBB_AUTO" "OMP" "SEQ") list (APPEND IE_OPTIONS THREADING) if (NOT THREADING STREQUAL "TBB" AND NOT THREADING STREQUAL "TBB_AUTO" AND NOT THREADING STREQUAL "OMP" AND NOT THREADING STREQUAL "SEQ") - message(FATAL_ERROR "THREADING should be set to TBB, TBB_AUTO, OMP or SEQ. Default option is ${THREADING_DEFAULT}") + message(FATAL_ERROR "THREADING should be set to TBB (default), TBB_AUTO, OMP or SEQ") endif() if((THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") AND diff --git a/src/cmake/ie_parallel.cmake b/src/cmake/ie_parallel.cmake index 9e93d23802c..556ffab28ea 100644 --- a/src/cmake/ie_parallel.cmake +++ b/src/cmake/ie_parallel.cmake @@ -25,12 +25,16 @@ macro(ov_find_package_tbb) # if TBBROOT env variable is not defined ov_download_tbb() + # fallback variant for TBB 2018 and older where TBB have not had cmake interface + if(DEFINED TBBROOT OR DEFINED ENV{TBBROOT}) + set(_tbb_paths PATHS ${IEDevScripts_DIR}) + endif() + # try to find one more time find_package(TBB QUIET COMPONENTS tbb tbbmalloc # can be provided by ov_download_tbb HINTS ${TBB_DIR} - # fallback variant for TBB 2018 and older - PATHS ${IEDevScripts_DIR} + ${_tbb_paths} ${_find_package_no_args}) endif()