4

POCL(Portable Computing Language)和OpenCL有什么区别,POCL有什么优势? http://pocl.sourceforge.net/

POCL 是否具有与 OpenCL 不同的类 C 语言、不同的编译器 (Clang> = 3.2)、不同的后端 (llvm)、更好的可移植性或其他?

什么时候需要使用(硬链接)OCL,什么时候需要使用ICD? http://streamcomputing.eu/blog/2013-07-08/installing-and-using-pocl/

4

2 回答 2

3

OpenCL 是由 Khronos 维护的规范。AMD、NVIDIA、Intel 和 Apple 等供应商提供了许多实施方案。为了称自己为 OpenCL 的实现,供应商必须通过一致性测试,成为 Khronos 的成员,可能还有其他一些事情。

POCL(Portable Computing Language,以前称为 Portable OpenCL)是一种非常类似于 OpenCL 的开源实现,但它正在进行中,尚未通过一致性测试,因此它还不是真正的 OpenCL 实现。我收集他们的目标是在未来成为一个人,并祝他们好运。

所以有你的区别:一个是规范,另一个旨在成为该规范的实现。

我假设 POCL 使用相同的基于 C99 的内核语言,如果它们旨在与 OpenCL 兼容的话。

有关 POCL 的更多信息,请访问:http: //pocl.sourceforge.net/

于 2013-08-23T00:15:44.983 回答
3

Pocl 与任何其他 opencl 平台一样。它在 x86/arm 和更多系统上提供了一个 opencl cpu 设备。它几乎符合 opencl 1.2 标准,除了它没有 cl_gl 共享之类的东西。它使用 clang/llvm 来利用 cpu 中的所有 cpu 内核和向量单元。

opencl 是一个规范,pocl 实现了这个规范,为您提供一个带有 cpu 设备的平台

coming to ICD, you link against ICD when you have more than one opencl platforms installed. Compile this icd code from khronos http://www.khronos.org/registry/cl/specs/opencl-icd-1.2.11.0.tgz and you will have an icd loader which can load any opencl platform. Hardlinking to a platform ".so" is possible say libpocl.so, but other installed platforms will not be visible in clGetPlatformIDs call. So ICD is better

于 2013-09-10T10:11:35.743 回答