我想在Ubuntu 10.04中运行这个OpenCL的例子 。 我的显卡是NVIDIA GeForce GTX 480.我已经手动安装了最新的NVIDIA驱动程序和CUDA工具包。
该程序编译没有任何错误。 因此,与libOpenCL链接工程。 应用程序也运行,但输出是非常奇怪的(大多是零和一些随机数)。 debugging显示
clGetPlatformIDs(1,&platform_id,&ret_num_platforms);
返回-1001。
谷歌和堆栈告诉我,原因可能是在/ etc / OpenCL /供应商缺lessnvidia.icd。 这是不是所以我已经添加/etc/OpenCL/vendors/nvidia.icd以下行
什么是Linux中的核心转储文件? 它提供了什么信息?
为什么不input一个string的工作?
构build具有依赖性的Linux共享库时,跳过编译时符号parsing
什么可能导致静态二进制文本段不可共享?
libnvidia-opencl.so.1
我也尝试了一些变体(绝对path等)。 但没有解决问题。 现在我不知道还有什么我可以尝试。 有什么build议么?
编辑:我已经安装了英特尔OpenCL SDK,我已经复制其icd到/ etc / OpenCL /供应商和应用程序工作正常
clGetdeviceids( platform_id,CL_DEVICE_TYPE_DEFAULT,1,&device_id,&ret_num_devices);
对于
clGetdeviceids( platform_id,CL_DEVICE_TYPE_GPU,&ret_num_devices);
我得到错误-1。
编辑:
执行应用程序时,我注意到了控制台中的一件事情。 线执行后
cl_int ret = clGetPlatformIDs(1,&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
现在它工作。 我希望这可以帮助有类似问题的人。
Linux – 强制单线程执行并用pthreaddebuggingmultithreading
如何将.rc和.cpp文件结合起来形成.exe?
Linux驱动程序中的结构文件
有没有开源的命令行库?
上述问题是由于司机冲突而发生的。 如果您有类似的问题,请阅读上述编辑以获得解决方案。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。