需要为CPU和GPU平台安装opencl吗?

我有一个带NVidia显卡的系统,我正在寻找使用openCL替换openMP的一些小型CPU任务(感谢VS2010使openMP无用)

由于我安装了NVidia的opencl SDK,clGetPlatformIDs()只返回一个平台(NVidia's),所以只有一个设备(GPU)。

我是否还需要安装英特尔的openCL sdk才能访问CPU平台?
不应该CPU平台总是可用 - 我的意思是,你怎么没有一个CPU?
您如何设法同时构建两个openCL SDK?


您需要有一个提供CPU接口的SDK。 nVidia没有,AMD和英特尔的SDK都这样做; 在我的情况下,英特尔的速度更快(大约10x),这可能是由于我的错误编程造成的。

您不需要SDK来运行程序,而只需要运行时。 在Linux中,每个供应商在/etc/OpenCL/vendors/*.icd安装一个文件,其中包含要使用的运行时库的路径。 这由您链接到的OpenCL运行时扫描(libOpenCL.so),然后在查询该特定平台上的设备时调用每个供应商的库。

在Linux中,GPU驱动程序自动安装OpenCL运行时,Intel运行时可能与SDK分开下载,但当然也是SDK的一部分。


今天我终于开始尝试开始做openCl开发,哇......它并不是直截了当的。

有一个AMD sdk,有一个intel sdk,还有一个nvidia sdk,每个sdk都有自己的属性(CPU只与GPU对比,而只与特定的视频卡支持有关?)

可能有这样的技术原因,但我真的希望只有一个sdk,并且在编程时也许你可以指定GPU / CPU任务,或者它可能会使用最有意义/最优化的资源或者其他的东西。

尽管我猜测我有时间潜入...试图决定是否去CPU或GPU。 我有一台配备SLI显卡的新款4000美元Alienware笔记本电脑,但后来也是一款8核心的CPU,所以是的......猜不得要试一试sdk's,看看哪种型号的显示器最适合我的需求?

不知道我的应用程序的最终用户会做什么,但似乎他们似乎可以将开关转换为使其在cpu或gpu上运行。

OpenCL景观真的需要一些帮助...

链接地址: http://www.djcxy.com/p/46423.html

上一篇: Need to install opencl for CPU and GPU platforms?

下一篇: Parallelism in OpenCL on 1 cpu device