【发布时间】:2013-11-05 07:38:01
【问题描述】:
我想知道如何让 OpenCl “看到”我的 K20。至强和至强融核同时使用?
尤其是我对这里使用两个库(来自 NVidia 和 Intel)感到困惑。
如果可能的话,该怎么做?
【问题讨论】:
我想知道如何让 OpenCl “看到”我的 K20。至强和至强融核同时使用?
尤其是我对这里使用两个库(来自 NVidia 和 Intel)感到困惑。
如果可能的话,该怎么做?
【问题讨论】:
OpenCL 可安装客户端驱动程序 (ICD) 会为您解决这个问题。无论您安装了谁的实现,它都是相同的,并将所有实现公开为单独的 OpenCL“平台”。
当您调用 clGetPlatformIDs 时,它会告诉您安装了多少个平台。例如,AMD 可能有一个,NVIDIA 一个,Intel 一个。
然后在每个平台内调用 clGetDeviceIDs,它将返回该平台内的设备数量。在您的 NVIDIA 平台上,您会找到您的 K20,在您的 Intel 平台上,您会找到您的 Xeon CPU 和 Xeon Phi 协处理器。
如果您构建或下载 clInfo 实用程序,您会看到所有已安装平台和设备以及每个平台和设备的功能的良好转储。
【讨论】:
问题解决了。
查看关键目录:
/etc/OpenCL/vendors/*.icd
我注意到,对于 Nvidia,所使用的库是一个链接,该链接在不同的地方重复,并指向两个不同的版本。
我只是将前一个替换为最近安装的那个,我最近安装的那个,我们开始吧。
我猜 Opencl 不知道该使用哪一个。
这就像两个nividia版本之间的安装位置发生了变化。
当我应该在重新安装之前将其删除时,这实际上是不正确的。
谢谢大家的地狱。
【讨论】: