-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3aeb2ae
commit 9ae7fb6
Showing
9 changed files
with
756 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
sources: | ||
"2023.1.0": | ||
"openvino": | ||
url: "https://github.com/openvinotoolkit/openvino/archive/47b736f63edda256d66e2bbb572f42a9d6549f6e.tar.gz" | ||
sha256: "8a1dd5b35fe4b60440e97ee61e12e01aa4dd78b5be30550aa08fcd96c416e1d7" | ||
"arm_compute": | ||
url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.02.1.tar.gz" | ||
sha256: "c3a443e26539f866969242e690cf0651ef629149741ee18732f954c734da6763" | ||
"onednn_cpu": | ||
url: "https://github.com/openvinotoolkit/oneDNN/archive/ae825539bd850d1ad5c83d4bb0d56c65d46d5842.tar.gz" | ||
sha256: "1204df17785c8603f9dfa1f4f91e91e5ffd4391bf7680d2b256de2513490ebee" | ||
"mlas": | ||
url: "https://github.com/openvinotoolkit/mlas/archive/c7c8a631315000f17c650af34431009d2f22129c.tar.gz" | ||
sha256: "7b790dfeef8e1dd612f920c85186c52ad3a3e2245e2a2afd6cc91ce4b1dc64a9" | ||
"onednn_gpu": | ||
url: "https://github.com/oneapi-src/oneDNN/archive/4b82a66ed38ecaa993352e5cc6ed7753656b8a26.tar.gz" | ||
sha256: "cb17c003fe51bc9b4e20189573956b4446468162adf0fc4cea2ee0820cff0cd0" | ||
patches: | ||
"2023.1.0": | ||
- patch_file: "patches/2023.1.0/0001-cpu-plugin-compilation-c++17.patch" | ||
patch_description: "Fixed CPU plugin compilation with C++17" | ||
patch_type: "portability" | ||
patch_source: "https://github.com/openvinotoolkit/openvino/pull/19628" | ||
- patch_file: "patches/2023.1.0/0002-core-compilation-c++17.patch" | ||
patch_description: "Fixed OpenVINO Core compilation with C++17" | ||
patch_type: "portability" | ||
patch_source: "https://github.com/openvinotoolkit/openvino/pull/19707" | ||
- patch_file: "patches/2023.1.0/0003-fixed-gpu-with-onednn-build.patch" | ||
patch_description: "Fixed Intel GPU plugin with oneDNN" | ||
patch_type: "portability" | ||
# severals PR are merged into a single patch including: | ||
# https://github.com/openvinotoolkit/openvino/pull/19668, | ||
# https://github.com/openvinotoolkit/openvino/pull/19715 and | ||
patch_source: "https://github.com/openvinotoolkit/openvino/pull/19716" |
Large diffs are not rendered by default.
Oops, something went wrong.
16 changes: 16 additions & 0 deletions
16
recipes/openvino/all/patches/2023.1.0/0001-cpu-plugin-compilation-c++17.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
diff --git a/src/plugins/intel_cpu/src/cpu_tensor.cpp b/src/plugins/intel_cpu/src/cpu_tensor.cpp | ||
index 48d8fdd4be..815edd9309 100644 | ||
--- a/src/plugins/intel_cpu/src/cpu_tensor.cpp | ||
+++ b/src/plugins/intel_cpu/src/cpu_tensor.cpp | ||
@@ -68,8 +68,9 @@ void Tensor::update_strides() const { | ||
OPENVINO_ASSERT(blocked_desc, "not a valid blocked memory descriptor."); | ||
auto& strides = blocked_desc->getStrides(); | ||
m_strides.resize(strides.size()); | ||
- std::transform(strides.cbegin(), strides.cend(), m_strides.begin(), | ||
- std::bind1st(std::multiplies<size_t>(), m_element_type.size())); | ||
+ std::transform(strides.cbegin(), strides.cend(), m_strides.begin(), [this] (const size_t stride) { | ||
+ return stride * m_element_type.size(); | ||
+ }); | ||
} | ||
|
||
void* Tensor::data(const element::Type& element_type) const { |
46 changes: 46 additions & 0 deletions
46
recipes/openvino/all/patches/2023.1.0/0002-core-compilation-c++17.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
diff --git a/src/frontends/common/src/utils.cpp b/src/frontends/common/src/utils.cpp | ||
index 8ef7481551..3a0db585fd 100644 | ||
--- a/src/frontends/common/src/utils.cpp | ||
+++ b/src/frontends/common/src/utils.cpp | ||
@@ -12,10 +12,6 @@ | ||
# include <dlfcn.h> | ||
# include <limits.h> | ||
# include <unistd.h> | ||
-# ifdef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT | ||
-# include <codecvt> | ||
-# include <locale> | ||
-# endif | ||
#else | ||
# if defined(WINAPI_FAMILY) && !WINAPI_PARTITION_DESKTOP | ||
# error "Only WINAPI_PARTITION_DESKTOP is supported, because of GetModuleHandleEx[A|W]" | ||
diff --git a/src/frontends/paddle/src/input_model.cpp b/src/frontends/paddle/src/input_model.cpp | ||
index 6987b3285e..287fa5e54a 100644 | ||
--- a/src/frontends/paddle/src/input_model.cpp | ||
+++ b/src/frontends/paddle/src/input_model.cpp | ||
@@ -13,14 +13,10 @@ | ||
#include "openvino/frontend/paddle/node_context.hpp" | ||
#include "openvino/opsets/opset7.hpp" | ||
#include "openvino/util/common_util.hpp" | ||
+#include "openvino/util/file_util.hpp" | ||
#include "paddle_utils.hpp" | ||
#include "place.hpp" | ||
|
||
-#if defined(OPENVINO_ENABLE_UNICODE_PATH_SUPPORT) && defined(_WIN32) | ||
-# include <codecvt> | ||
-# include <locale> | ||
-#endif | ||
- | ||
namespace ov { | ||
namespace frontend { | ||
namespace paddle { | ||
@@ -169,9 +165,7 @@ std::basic_string<T> get_const_path(const std::basic_string<T>& folder_with_weig | ||
#if defined(OPENVINO_ENABLE_UNICODE_PATH_SUPPORT) && defined(_WIN32) | ||
template <> | ||
std::basic_string<wchar_t> get_const_path(const std::basic_string<wchar_t>& folder, const std::string& name) { | ||
- std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter; | ||
- std::wstring _name = converter.from_bytes(name); | ||
- return folder + paddle::get_path_sep<wchar_t>() + _name; | ||
+ return folder + paddle::get_path_sep<wchar_t>() + ov::util::string_to_wstring(name); | ||
} | ||
#endif | ||
|
56 changes: 56 additions & 0 deletions
56
recipes/openvino/all/patches/2023.1.0/0003-fixed-gpu-with-onednn-build.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
diff --git a/src/plugins/intel_gpu/thirdparty/CMakeLists.txt b/src/plugins/intel_gpu/thirdparty/CMakeLists.txt | ||
index c7c616d0df..63eeade1f1 100644 | ||
--- a/src/plugins/intel_gpu/thirdparty/CMakeLists.txt | ||
+++ b/src/plugins/intel_gpu/thirdparty/CMakeLists.txt | ||
@@ -88,17 +88,12 @@ if(ENABLE_ONEDNN_FOR_GPU) | ||
endif() | ||
|
||
ExternalProject_Add(onednn_gpu_build | ||
+ # Directory Options: | ||
+ PREFIX "${ONEDNN_PREFIX_DIR}" | ||
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu" | ||
BINARY_DIR "${ONEDNN_BUILD_DIR}" | ||
INSTALL_DIR "${ONEDNN_INSTALL_DIR}" | ||
- PREFIX "${ONEDNN_PREFIX_DIR}" | ||
- EXCLUDE_FROM_ALL ON | ||
- CMAKE_CACHE_ARGS | ||
- # The arguments below requires list to be passed as argument | ||
- # which doesn't work properly when passed to CMAKE_ARGS. | ||
- # Thus we pass it via CMAKE_CACHE_ARGS | ||
- "-DDNNL_ENABLE_PRIMITIVE:STRING=${ONEDNN_ENABLED_PRIMITIVES}" | ||
- "-DDNNL_ENABLE_PRIMITIVE_GPU_ISA:STRING=${ONEDNN_ENABLED_ISA}" | ||
+ # Configure Step Options: | ||
CMAKE_ARGS | ||
${cmake_extra_args} | ||
"-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" | ||
@@ -114,7 +109,6 @@ if(ENABLE_ONEDNN_FOR_GPU) | ||
"-DDNNL_GPU_RUNTIME=OCL" | ||
"-DDNNL_LIBRARY_NAME=openvino_onednn_gpu" | ||
"-DCMAKE_INSTALL_PREFIX=${ONEDNN_INSTALL_DIR}" | ||
- "-DCMAKE_INSTALL_LIBDIR=lib/$<CONFIG>" | ||
"-DDNNL_ENABLE_CONCURRENT_EXEC=ON" | ||
"-DDNNL_ENABLE_PRIMITIVE_CACHE=OFF" | ||
"-DDNNL_ENABLE_WORKLOAD=INFERENCE" | ||
@@ -129,10 +123,21 @@ if(ENABLE_ONEDNN_FOR_GPU) | ||
# specifically for Conan, because it overrides CMAKE_PREFIX_PATH and oneDNN's FindOpenCL.cmake is ignored | ||
# Conan's FindOpenCL.cmake module does not set OpenCL_INCLUDE_DIRS, so we need to set it manually | ||
"-DOpenCL_INCLUDE_DIRS=$<TARGET_PROPERTY:OpenCL::OpenCL,INTERFACE_INCLUDE_DIRECTORIES>" | ||
+ # Conan calls cmake with default value for CMP0091, so we have to bypass it to oneDNN build | ||
+ # because we bypass conan_toolchain.cmake via CMAKE_TOOLCHAIN_FILE | ||
+ "-DCMAKE_POLICY_DEFAULT_CMP0091=NEW" | ||
+ CMAKE_CACHE_ARGS | ||
+ # The arguments below requires list to be passed as argument | ||
+ # which doesn't work properly when passed to CMAKE_ARGS. | ||
+ # Thus we pass it via CMAKE_CACHE_ARGS | ||
+ "-DDNNL_ENABLE_PRIMITIVE:STRING=${ONEDNN_ENABLED_PRIMITIVES}" | ||
+ "-DDNNL_ENABLE_PRIMITIVE_GPU_ISA:STRING=${ONEDNN_ENABLED_ISA}" | ||
+ # Target Options: | ||
+ EXCLUDE_FROM_ALL ON | ||
) | ||
add_library(onednn_gpu_tgt INTERFACE) | ||
set_target_properties(onednn_gpu_tgt PROPERTIES | ||
- INTERFACE_LINK_DIRECTORIES "${ONEDNN_INSTALL_DIR}/lib/$<CONFIG>" | ||
+ INTERFACE_LINK_DIRECTORIES "${ONEDNN_INSTALL_DIR}/lib" | ||
INTERFACE_LINK_LIBRARIES "openvino_onednn_gpu" | ||
INTERFACE_INCLUDE_DIRECTORIES "${ONEDNN_INSTALL_DIR}/include" | ||
INTERFACE_COMPILE_DEFINITIONS ENABLE_ONEDNN_FOR_GPU |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
cmake_minimum_required(VERSION 3.15) | ||
project(test_package LANGUAGES CXX) | ||
|
||
macro(add_component def comp) | ||
if(${def}) | ||
list(APPEND OpenVINO_COMPONENTS ${comp}) | ||
endif() | ||
endmacro() | ||
|
||
add_component(ENABLE_ONNX_FRONTEND ONNX) | ||
add_component(ENABLE_PADDLE_FRONTEND Paddle) | ||
add_component(ENABLE_TF_FRONTEND TensorFlow) | ||
add_component(ENABLE_TF_LITE_FRONTEND TensorFlowLite) | ||
add_component(ENABLE_PYTORCH_FRONTEND PyTroch) | ||
|
||
find_package(OpenVINO REQUIRED COMPONENTS Runtime ${OpenVINO_COMPONENTS}) | ||
|
||
add_executable(${PROJECT_NAME} test_package.cpp) | ||
target_link_libraries(${PROJECT_NAME} PRIVATE openvino::runtime) | ||
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) | ||
|
||
function(add_plugin def) | ||
if(${def}) | ||
target_compile_definitions(${PROJECT_NAME} PRIVATE ${def}) | ||
endif() | ||
endfunction() | ||
|
||
add_plugin(ENABLE_INTEL_CPU) | ||
add_plugin(ENABLE_INTEL_GPU) | ||
add_plugin(ENABLE_AUTO) | ||
add_plugin(ENABLE_HETERO) | ||
add_plugin(ENABLE_AUTO_BATCH) | ||
|
||
function(add_frontend def frontend) | ||
if(${def}) | ||
target_compile_definitions(${PROJECT_NAME} PRIVATE ${def}) | ||
if(NOT TARGET openvino::frontend::${frontend}) | ||
message(FATAL_ERROR "Target for ${frontend} has not been created") | ||
endif() | ||
endif() | ||
endfunction() | ||
|
||
add_plugin(ENABLE_IR_FRONTEND) | ||
add_frontend(ENABLE_ONNX_FRONTEND onnx) | ||
add_frontend(ENABLE_PADDLE_FRONTEND paddle) | ||
add_frontend(ENABLE_TF_FRONTEND tensorflow) | ||
add_frontend(ENABLE_TF_LITE_FRONTEND tensorflow_lite) | ||
add_frontend(ENABLE_PYTORCH_FRONTEND pytorch) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
from conan import ConanFile | ||
from conan.tools.build import can_run | ||
from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout | ||
import os | ||
|
||
|
||
class TestPackageConan(ConanFile): | ||
settings = "os", "arch", "compiler", "build_type" | ||
generators = "VirtualRunEnv" | ||
test_type = "explicit" | ||
|
||
def layout(self): | ||
cmake_layout(self) | ||
|
||
def requirements(self): | ||
self.requires(self.tested_reference_str) | ||
|
||
def generate(self): | ||
deps = CMakeDeps(self) | ||
# deps.check_components_exist = True | ||
deps.generate() | ||
|
||
tc = CMakeToolchain(self) | ||
tc.variables["CMAKE_VERBOSE_MAKEFILE"] = True | ||
# HW plugins | ||
tc.variables["ENABLE_INTEL_CPU"] = self.dependencies[self.tested_reference_str].options.enable_cpu | ||
tc.variables["ENABLE_INTEL_GPU"] = self.dependencies[self.tested_reference_str].options.get_safe("enable_gpu", False) | ||
# SW plugins | ||
tc.variables["ENABLE_AUTO"] = self.dependencies[self.tested_reference_str].options.enable_auto | ||
tc.variables["ENABLE_HETERO"] = self.dependencies[self.tested_reference_str].options.enable_hetero | ||
tc.variables["ENABLE_AUTO_BATCH"] = self.dependencies[self.tested_reference_str].options.enable_auto_batch | ||
# Frontends | ||
tc.variables["ENABLE_IR_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_ir_frontend | ||
tc.variables["ENABLE_ONNX_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_onnx_frontend | ||
tc.variables["ENABLE_TF_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_tf_frontend | ||
tc.variables["ENABLE_TF_LITE_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_tf_lite_frontend | ||
tc.variables["ENABLE_PADDLE_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_paddle_frontend | ||
tc.variables["ENABLE_PYTORCH_FRONTEND"] = self.dependencies[self.tested_reference_str].options.enable_pytorch_frontend | ||
tc.generate() | ||
|
||
def build(self): | ||
cmake = CMake(self) | ||
cmake.configure() | ||
cmake.build() | ||
|
||
def test(self): | ||
if can_run(self): | ||
bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") | ||
self.run(bin_path, env="conanrun") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
#include <openvino/c/openvino.h> | ||
#include <openvino/core/visibility.hpp> | ||
#include <openvino/frontend/manager.hpp> | ||
|
||
#define OV_SUCCESS(statement) \ | ||
if ((statement) != 0) \ | ||
return 1; | ||
|
||
#define OV_FAIL(statement) \ | ||
if ((statement) == 0) \ | ||
return 1; | ||
|
||
int test_available_devices() { | ||
ov_core_t* core = NULL; | ||
char* ret = NULL; | ||
OV_SUCCESS(ov_core_create(&core)); | ||
#ifdef ENABLE_INTEL_CPU | ||
OV_SUCCESS(ov_core_get_property(core, "CPU", "AVAILABLE_DEVICES", &ret)); | ||
#else | ||
OV_FAIL(ov_core_get_property(core, "CPU", "AVAILABLE_DEVICES", &ret)); | ||
#endif | ||
#ifdef ENABLE_INTEL_GPU | ||
OV_SUCCESS(ov_core_get_property(core, "GPU", "AVAILABLE_DEVICES", &ret)); | ||
#else | ||
OV_FAIL(ov_core_get_property(core, "GPU", "AVAILABLE_DEVICES", &ret)); | ||
#endif | ||
#ifdef ENABLE_AUTO | ||
OV_SUCCESS(ov_core_get_property(core, "AUTO", "SUPPORTED_METRICS", &ret)); | ||
OV_SUCCESS(ov_core_get_property(core, "MULTI", "SUPPORTED_METRICS", &ret)); | ||
#else | ||
OV_FAIL(ov_core_get_property(core, "AUTO", "SUPPORTED_METRICS", &ret)); | ||
OV_FAIL(ov_core_get_property(core, "MULTI", "SUPPORTED_METRICS", &ret)); | ||
#endif | ||
#ifdef ENABLE_HETERO | ||
OV_SUCCESS(ov_core_get_property(core, "HETERO", "SUPPORTED_METRICS", &ret)); | ||
#else | ||
OV_FAIL(ov_core_get_property(core, "HETERO", "SUPPORTED_METRICS", &ret)); | ||
#endif | ||
#ifdef ENABLE_AUTO_BATCH | ||
OV_SUCCESS(ov_core_get_property(core, "BATCH", "SUPPORTED_METRICS", &ret)); | ||
#else | ||
OV_FAIL(ov_core_get_property(core, "BATCH", "SUPPORTED_METRICS", &ret)); | ||
#endif | ||
ov_core_free(core); | ||
return 0; | ||
} | ||
|
||
int test_available_frontends() { | ||
ov::frontend::FrontEndManager manager; | ||
auto frontend_found = [&] (const std::string & name) -> int { | ||
try { | ||
manager.load_by_framework(name); | ||
} catch (const std::exception & e) { | ||
return 1; | ||
} | ||
return 0; | ||
}; | ||
|
||
#ifdef ENABLE_IR_FRONTEND | ||
OV_SUCCESS(frontend_found("ir")); | ||
#else | ||
OV_FAIL(frontend_found("ir")); | ||
#endif | ||
#ifdef ENABLE_TF_LITE_FRONTEND | ||
OV_SUCCESS(frontend_found("tflite")); | ||
#else | ||
OV_FAIL(frontend_found("tflite")); | ||
#endif | ||
#ifdef ENABLE_PYTORCH_FRONTEND | ||
OV_SUCCESS(frontend_found("pytorch")); | ||
#else | ||
OV_FAIL(frontend_found("pytorch")); | ||
#endif | ||
#ifdef ENABLE_ONNX_FRONTEND | ||
OV_SUCCESS(frontend_found("onnx")); | ||
#else | ||
OV_FAIL(frontend_found("onnx")); | ||
#endif | ||
#ifdef ENABLE_TF_FRONTEND | ||
OV_SUCCESS(frontend_found("tf")); | ||
#else | ||
OV_FAIL(frontend_found("tf")); | ||
#endif | ||
#ifdef ENABLE_PADDLE_FRONTEND | ||
OV_SUCCESS(frontend_found("paddle")); | ||
#else | ||
OV_FAIL(frontend_found("paddle")); | ||
#endif | ||
return 0; | ||
} | ||
|
||
int main() { | ||
OV_SUCCESS(test_available_devices()); | ||
OV_SUCCESS(test_available_frontends()); | ||
|
||
// Deinitialize OpenVINO. Important for old systems like Ubuntu 16.04 with obsolete glibc, | ||
// where application deinit can lead to the following issue on exit: | ||
// Inconsistency detected by ld.so: dl-close.c: 811: _dl_close: Assertion `map->l_init_called' failed! | ||
ov::shutdown(); | ||
|
||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
versions: | ||
"2023.1.0": | ||
folder: "all" |