我想知道如何让OpenCl“看到”我的K20。 Xeon和Xeon Phi在同一时间?
特别是我对这里使用两个库感到困惑(来自NVidia和英特尔)。
如果可能的话怎么做?
答案 0 :(得分:5)
OpenCL Installable Client Driver(ICD)为您解决此问题。无论您安装了哪种实现,它都是相同的,并将所有实现公开为单独的OpenCL“平台”。
当您致电 clGetPlatformIDs 时,它会告诉您已安装了多少个平台。例如,可能有一个用于AMD,一个用于NVIDIA,一个用于英特尔。
然后在每个平台中调用 clGetDeviceIDs ,这将返回该平台内的设备数量。在您的NVIDIA平台上,您将找到您的K20,在您的英特尔平台中,您将找到您的Xeon CPU和Xeon Phi协处理器。
如果您构建或下载 clInfo 实用程序,您将看到所有已安装平台和设备的良好转储以及每个平台和设备的功能。
答案 1 :(得分:2)
问题解决了。
查看密钥目录:
/etc/OpenCL/vendors/*.icd
我注意到对于Nvidia来说,使用的库是一个链接,它在不同的地方重复并指向两个不同的版本。
我只是用最近的一个替换前一个,我最近安装的那个,我们走了
我猜想Opencl不知道使用哪一个
这就像两个nividia版本之间的安装位置发生了变化
当我本来应该在重新安装之前删除它时实际上并非如此
谢谢大家。