openvinotoolkit / openvino

OpenVINO™ is an open-source toolkit for optimizing and deploying AI inference
https://docs.openvino.ai
Apache License 2.0
6.34k stars 2.09k forks source link

[Build]: build the static library for windows report error, when the switch of ENABLE_SYSTEM_OPENCL=ON is set ON #24940

Open feixuedudiao opened 3 weeks ago

feixuedudiao commented 3 weeks ago

OpenVINO Version

2024.01/2024.1.0

Operating System

Windows System

Hardware Architecture

x86 (64 bits)

Target Platform

No response

Build issue description

Checking File Globs 1>Checking Build System pugixml-static.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\bin\intel64\Debug\pugixmld.lib openvino_util.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\bin\intel64\Debug\openvino_utild.lib openvino_itt.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\bin\intel64\Debug\openvino_ittd.lib openvino_reference.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\bin\intel64\Debug\openvino_referenced.lib openvino_shape_inference.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\bin\intel64\Debug\openvino_shape_inferenced.lib openvino_core_obj_version.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\cmake_debug_x64\src\core\openvino_core_obj_version.dir\Debug\openvino_core_obj_version.lib openvino_core_obj.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\cmake_debug_x64\src\core\openvino_core_obj.dir\Debug\openvino_core_obj.lib Building Custom Rule F:/Share/OneDNN/OpenVINO/openvino_master/CMakeLists.txt openvino_frontend_common_obj.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\cmake_debug_x64\src\frontends\common\openvino_frontend_common_obj.dir\Debug\openvino_frontend_common_obj.lib openvino_lp_transformations_obj.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\cmake_debug_x64\src\common\low_precision_transformations\openvino_lp_transformations_obj.dir\Debug\openvino_lp_transformations_obj.lib openvino_proxy_plugin_obj.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\cmake_debug_x64\src\plugins\proxy\openvino_proxy_plugin_obj.dir\Debug\openvino_proxy_plugin_obj.lib Building Custom Rule F:/Share/OneDNN/OpenVINO/openvino_master/CMakeLists.txt openvino_runtime_obj.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\cmake_debug_x64\src\inference\openvino_runtime_obj.dir\Debug\openvino_runtime_obj.lib dnnl_common.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\cmake_debug_x64\src\plugins\intel_cpu\thirdparty\onednn\src\common\dnnl_common.dir\Debug\dnnl_common.lib dnnl_cpu.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\cmake_debug_x64\src\plugins\intel_cpu\thirdparty\onednn\src\cpu\dnnl_cpu.dir\Debug\dnnl_cpu.lib dnnl_cpu_x64.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\cmake_debug_x64\src\plugins\intel_cpu\thirdparty\onednn\src\cpu\x64\dnnl_cpu_x64.dir\Debug\dnnl_cpu_x64.lib dnnl.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\bin\intel64\Debug\openvino_onednn_cpud.lib mlas.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\bin\intel64\Debug\mlasd.lib openvino_transformations_obj.vcxproj -> F:\Share\OneDNN\OpenVINO\openvino_master\cmake_debug_x64\src\common\transformations\openvino_transformations_obj.dir\Debug\openvino_transformations_obj.lib activation.cpp F:\Share\OneDNN\OpenVINO\openvino_master\src\plugins\intel_gpu\src\runtime\ocl\ocl_ext.hpp(16,10): fatal error C1083: ????????: "CL/cl2.hpp": No such file or directory [F:\Share\OneDNN\OpenVINO\openvino_master\cmake_debug_x64\src\plugins \intel_gpu\src\graph\openvino_intel_gpu_graph.vcxproj]

Build script or step-by-step to reproduce

No response

Relevant log output

No response

Issue submission checklist

ilya-lavrenov commented 3 weeks ago

Hi @feixuedudiao System OpenCL is typically dynamic one, why do you need it with static OV build? Usually, people want everything to be static for libraries where it's possible.

Currently, only TBB is a dynamic library, because of nature of TBB.

feixuedudiao commented 3 weeks ago

Thank you to answer me. When compiling OpenVINO as a static library on Windows with ENABLE_SYSTEM_OPENCL=OFF, setting the device to GPU during runtime results in an error indicating that GPU is not supported。

feixuedudiao commented 3 weeks ago

Hi @feixuedudiao System OpenCL is typically dynamic one, why do you need it with static OV build? Usually, people want everything to be static for libraries where it's possible.

Currently, only TBB is a dynamic library, because of nature of TBB. I don't fully understand the meaning of "System OpenCL is typically dynamic one, why do you need it with static OV build". Can't the ENABLE_SYSTEM_OPENCL switch be turned on? When the default is selected, the switch is OFF and the static library of OpenCL is compiled. However, I found that the device is GPU at runtime and it prompts that it is not supported. I will raise a separate issue for this issue.