【问题标题】:OpenCV OCL Error: GPU API call (-1001) in initializeOpenCLDevicesOpenCV OCL 错误:initializeOpenCLDevices 中的 GPU API 调用 (-1001)
【发布时间】:2014-10-22 13:40:25
【问题描述】:

我已经使用一些 OpenCV 有一段时间了,我才刚刚开始深入研究多线程方面,尽管我在让以下代码工作时遇到了一些困难:

#include "opencv2/ocl/ocl.hpp"

int main(int argc, char *argv[])
{   
    cv::ocl::DevicesInfo devices;
    cv::ocl::getOpenCLDevices(devices, cv::ocl::CVCL_DEVICE_TYPE_CPU);

    return 0;
}

返回

OpenCV 错误:initializeOpenCLDevices 中的 Gpu API 调用 (-1001),文件 /path/to/opencv/src/opencv-2.4.9/modules/ocl/src/cl_context.cpp,第 455 行

我确实使用 OCL 构建了 OpenCV,如果我进入我的构建目录,它有 lib 文件:libopencv_ocl.so 等,我检查了 ldd 以确保可执行文件正确链接。

注意:当我尝试时会发生同样的事情:

cv::ocl::getOpenCLPlatforms

功能。

提前致谢

OpenCV OCL API Link

【问题讨论】:

  • 错误-1001 表示OpenCL ICD 加载程序未能在您的系统上找到任何OpenCL 平台。您使用的是哪个 OpenCL 平台?
  • 如何检查?我通过 ubuntu synaptic 包管理器安装了 OpenCL
  • 你安装了哪个包?那可能只是 OpenCL ICD 加载器。您实际上需要一些真正的 OpenCL 平台,例如来自英伟达、英特尔或 AMD。您要在什么设备上运行?
  • 英特尔让我开始,然后我想使用 NVidia
  • 我安装的包是:opencl、opencl-headers、nvidia-opencl-dev 和 python-pyopencl 我看不到英特尔的任何其他包

标签: opencv computer-vision opencl ocl


【解决方案1】:

英特尔 OpenCL 运行时在 Ubuntu 包管理器中不可用;您需要从他们的网站下载并安装它:

https://software.intel.com/en-us/articles/opencl-drivers#philinux

【讨论】:

    猜你喜欢
    • 2015-09-01
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 2014-12-18
    • 2015-12-26
    • 2015-02-08
    • 2020-02-24
    • 1970-01-01
    相关资源
    最近更新 更多