我正在尝试在具有 intel UHD 620 图形的 Ubuntu 16.04 系统中使用OpenCV和目标OpenCL。我已经为ocl-icd-opencl-dev安装了OpenCL,但是cv::ocl::haveOpenCL()告诉我我没有OpenCLclinfo给了我

Number of platforms                               0

然后我尝试按照this answer的建议安装beignet。仍然cv::ocl::haveOpenCL()告诉我我没有OpenCL,现在clinfo
Number of platforms                               1
Platform Name                                   Intel Gen OCL Driver
Platform Vendor                                 Intel
Platform Version                                OpenCL 1.2 beignet 1.1.1
Platform Profile                                FULL_PROFILE
Platform Extensions                             cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_khr_icd
Platform Extensions function suffix             Intel
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware

有人可以帮忙吗?

最佳答案

ocl-icd-opencl-dev是OCL-ICD加载程序的开发文件。如果要针对libOpenCL开发(编译),则需要使用它。如果您不想开发,仅使用OpenCL程序,则只需要ocl-icd-libopencl1即可。



ocl-icd只是一个加载程序;您需要一个实际的实现。 As explained on Khronos:

The OpenCL Installable Client Driver (ICD) is a mechanism to allow OpenCL implementations from multiple vendors to coexist on a system



beignet是一种实现,但是对于您的GPU来说太旧了。您需要它们的专有实现或Intel NEO.

关于opencv - 在Linux上将OpenCL与Intel UHD图形一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57954533/

10-11 02:29