【发布时间】:2012-04-12 07:36:55
【问题描述】:
我有一个带有 NVidia 显卡的系统,我正在考虑使用 openCL 代替 openMP 来处理一些小型 CPU 任务(感谢 VS2010 making openMP useless)
由于我安装了 NVidia 的 opencl SDK clGetPlatformIDs() 只返回一个平台(NVidia 的),因此只返回一个设备(GPU)。
我是否还需要安装 Intel 的 openCL sdk 才能访问 CPU 平台?
CPU平台不应该一直可用吗?我的意思是,你怎么没有cpu?
您如何设法同时针对两个 openCL SDK 进行构建?
【问题讨论】:
-
好的,所以我还需要安装 Intel opencl sdk - 这个问题可能应该是“如何在未安装 SDK 的情况下将 opencl 应用程序分发到机器上?”
-
我对此很陌生,但我不明白通过在 CPU 上运行 OpenCL 代码而不是在 GPU 上运行会获得什么计算优势?
-
@Koder101,在这种情况下,我使用 Nvidia 在台式机上进行开发,但目标是只有 CPU 的嵌入式 PC。
-
好的,谢谢您的回答。但是,如果最终目标是只使用 CPU(在任何平台上),那么使用基于 GPU 的库有什么意义,为什么不直接使用传统语言(具有跨平台框架)......?
-
@Koder101 opencl 将在 CPU 上编译为优化的并行指令(SIMD 等),因此可能比常规 C 编译器更好。虽然第一次编译 opencl 的开销很大
标签: opencl