在 Ubuntu Linux 中使用 Nvidia 卡的 OpenCL 中出现 -1001 错误

Posted

技术标签:

【中文标题】在 Ubuntu Linux 中使用 Nvidia 卡的 OpenCL 中出现 -1001 错误【英文标题】:-1001 error in OpenCL with Nvidia card in Ubuntu Linux 【发布时间】:2014-11-09 01:36:51 【问题描述】:

我正在尝试在 Ubuntu 10.04 中运行 this OpenCL Example。 我的显卡是 NVIDIA GeForce GTX 480。我已经手动安装了最新的 NVIDIA 驱动程序和 CUDA 工具包。

程序编译没有任何错误。因此与 libOpenCL 链接是有效的。该应用程序也运行,但输出非常奇怪(主要是零和一些随机数)。调试显示

clGetPlatformIDs(1, &platform_id, &ret_num_platforms);

返回 -1001。

google 和 stack 告诉我,原因可能是 /etc/OpenCL/vendors 中缺少 nvidia.icd。它不在那里,所以我添加了 /etc/OpenCL/vendors/nvidia.icd 与以下行

libnvidia-opencl.so.1

我也尝试了一些变体(绝对路径等)。但没有什么能解决问题。现在我不知道我还能尝试什么。有什么建议吗?

编辑:我已经安装了英特尔 OpenCL SDK,并将其 icd 复制到 /etc/OpenCL/vendors 并且该应用程序可以正常运行

clGetDeviceIDs( platform_id, CL_DEVICE_TYPE_DEFAULT, 1,
        &device_id, &ret_num_devices);

对于

clGetDeviceIDs( platform_id, CL_DEVICE_TYPE_GPU, 1,
        &device_id, &ret_num_devices);

我得到错误 -1。

编辑:

执行应用程序时,我在控制台中注意到一件事。行执行后

cl_int ret = clGetPlatformIDs(1, &platform_id, &ret_num_platforms);

应用程序给我输出

modprobe: ERROR: ../libkmod/libkmod-module.c:809 kmod_module_insert_module() could not find module by name='nvidia_331_uvm'
modprobe: ERROR: could not insert 'nvidia_331_uvm': Function not implemented

由于我使用的是 340,因此似乎与旧驱动程序版本冲突。

cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  340.32  Tue Aug  5 20:58:26 PDT 2014

也许我应该再次尝试删除 Ubuntu 自己的 NVIDIA 驱动程序并再次手动重新安装最新的驱动程序?

编辑:

问题出在老司机身上。不知何故,它没有被正确删除,因此我又做了一次

apt-get remove nvidia-331 nvidia-opencl-icd-331 nvidia-libopencl1-331

现在它可以工作了。我希望这对有类似问题的人有所帮助。

【问题讨论】:

【参考方案1】:

上述问题是由于驱动程序冲突而发生的。如果您有类似的问题,请阅读上述编辑以获取解决方案。

【讨论】:

或者,你可以简单地给它它所要求的:sudo apt-get install nvidia-331-uvm ;) 该死的。你说的对。我还没有看到 *331-uvm 的东西 :) 但是因为它适用于 340,所以现在一切都很好;)

以上是关于在 Ubuntu Linux 中使用 Nvidia 卡的 OpenCL 中出现 -1001 错误的主要内容,如果未能解决你的问题,请参考以下文章

wubi安装ubuntu10.10重启花屏 ,是Nvidia显卡,我在Nvidia官网下了Linux驱动,接下来应该怎么安装?

linux基础ubuntu实现双屏显示

ubuntu安装nvidia显卡驱动

ubuntu Nvidia driver install

markdown 在Ubuntu / CentOS / Fedora Linux操作系统上安装NVIDIA驱动程序和CUDA

Linux下如何查看NVIDIA显卡信息