1

我想知道我们如何让 OpenCl “看到”我的 K20。Xeon 和 Xeon Phi 同时出现?

特别是我对这里使用两个库(来自 NVidia 和 Intel)感到困惑。

如果可能的话,该怎么做?

4

2 回答 2

5

OpenCL 可安装客户端驱动程序 (ICD) 会为您解决这个问题。无论您安装了谁的实现,它都是相同的,并将所有实现公开为单独的 OpenCL“平台”。

当您调用clGetPlatformIDs时,它会告诉您已安装了多少个平台。例如,AMD 可能有一个,NVIDIA 一个,Intel 一个。

然后在每个平台内调用clGetDeviceIDs,它将返回该平台内的设备数量。在您的 NVIDIA 平台上,您将找到您的 K20,在您的 Intel 平台上,您将找到您的 Xeon CPU 和 Xeon Phi 协处理器。

如果您构建或下载clInfo实用程序,您将看到所有已安装平台和设备以及每个平台和设备的功能的漂亮转储。

于 2013-10-26T18:44:06.857 回答
2

问题已经解决了。
查看关键目录:

/etc/OpenCL/vendors/*.icd 

我注意到对于 Nvidia,使用的库是一个链接,它在不同的地方重复,并指向两个不同的版本。
我只是将前一个替换为最近安装的一个,即我最近安装的那个,我们开始吧。
我猜 Opencl 不知道该使用哪一个。
这就像安装位置在两个 nividia 版本之间发生了变化。
当我应该在重新安装之前将其删除时,这实际上是不正确的。
谢谢大家的地狱。

于 2013-11-08T07:21:01.970 回答