Fixes for OpenCL via brew package (#17291)

This commit is contained in:
Ilya Lavrenov 2023-04-29 00:06:19 +04:00 committed by GitHub
parent 9776f4d11f
commit 7ac5bab343
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -47,6 +47,15 @@ if(ENABLE_INTEL_GPU)
else() else()
set_target_properties(OpenCL::Headers PROPERTIES IMPORTED_GLOBAL ON) set_target_properties(OpenCL::Headers PROPERTIES IMPORTED_GLOBAL ON)
endif() endif()
# 'brew install opencl-clhpp-gheaders'
find_package(OpenCLHeadersCpp QUIET)
if(NOT OpenCLHeadersCpp_FOUND)
message(WARNING "OpenCLHeadersCpp not found, but OpenCLICDLoader is installed. Please, install OpenCL C++ headers")
else()
set_target_properties(OpenCL::HeadersCpp PROPERTIES IMPORTED_GLOBAL ON)
get_target_property(opencl_cpp_include_dirs OpenCL::HeadersCpp INTERFACE_INCLUDE_DIRECTORIES)
endif()
else() else()
# try to find system OpenCL: # try to find system OpenCL:
# - 'sudo -E apt-get install opencl-headers ocl-icd-opencl-dev' # - 'sudo -E apt-get install opencl-headers ocl-icd-opencl-dev'
@ -62,20 +71,21 @@ if(ENABLE_INTEL_GPU)
# try to find CL/opencl.hpp # try to find CL/opencl.hpp
find_file(OpenCL_HPP find_file(OpenCL_HPP
NAMES CL/opencl.hpp OpenCL/opencl.hpp NAMES CL/opencl.hpp OpenCL/opencl.hpp
HINTS ${OpenCL_INCLUDE_DIRS} HINTS ${OpenCL_INCLUDE_DIRS} ${opencl_cpp_include_dirs}
DOC "Path to CL/opencl.hpp") DOC "Path to CL/opencl.hpp")
# add definition to select proper header and suppress warnings # add definition to select proper header and suppress warnings
if(OpenCL_HPP) if(OpenCL_HPP)
set_target_properties(OpenCL::OpenCL PROPERTIES set(opencl_interface_definitions OV_GPU_USE_OPENCL_HPP)
INTERFACE_COMPILE_DEFINITIONS OV_GPU_USE_OPENCL_HPP)
# check whether CL/opencl.hpp contains C++ wrapper for property CL_DEVICE_UUID_KHR # check whether CL/opencl.hpp contains C++ wrapper for property CL_DEVICE_UUID_KHR
file(STRINGS "${OpenCL_HPP}" CL_DEVICE_UUID_KHR_CPP REGEX ".*CL_DEVICE_UUID_KHR.*") file(STRINGS "${OpenCL_HPP}" CL_DEVICE_UUID_KHR_CPP REGEX ".*CL_DEVICE_UUID_KHR.*")
if(CL_DEVICE_UUID_KHR_CPP) if(CL_DEVICE_UUID_KHR_CPP)
set_target_properties(OpenCL::OpenCL PROPERTIES list(APPEND opencl_interface_definitions OV_GPU_OPENCL_HPP_HAS_UUID)
INTERFACE_COMPILE_DEFINITIONS OV_GPU_OPENCL_HPP_HAS_UUID)
endif() endif()
set_target_properties(OpenCL::OpenCL PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "${opencl_interface_definitions}")
endif() endif()
# set variables for onednn_gpu # set variables for onednn_gpu