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