POCL(便携式计算语言)和OpenCL有什么区别?

时间:2013-08-22 09:31:40

标签: parallel-processing opencl llvm pocl

POCL(便携式计算语言)和OpenCL有什么区别,POCL有哪些优势? http://pocl.sourceforge.net/

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

当我们需要使用(硬连接)OCL时,何时需要使用ICD? http://streamcomputing.eu/blog/2013-07-08/installing-and-using-pocl/

2 个答案:

答案 0 :(得分:3)

OpenCL是由Khronos维护的规范。有很多实现,来自AMD,NVIDIA,Intel和Apple等厂商。为了将自己称为OpenCL的实现,供应商必须通过一致性测试,成为Khronos的成员,可能还有其他一些东西。

POCL(便携式计算语言,以前称为Portable OpenCL)是一个非常类似于OpenCL的开源实现,但它正在进行中并且尚未通过一致性测试,所以它还不是OpenCL的实现。我认为他们的目标是成为未来的一员,祝他们好运。

所以有你的不同之处:一个是规范,另一个是该规范的实现。

我认为POCL使用与内核相同的基于C99的语言,如果它们的目标是与OpenCL兼容。

更多关于POCL的信息:http://pocl.sourceforge.net/

答案 1 :(得分:3)

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

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

来到ICD,当您安装了多个opencl平台时,就会链接到ICD。编译来自khronos http://www.khronos.org/registry/cl/specs/opencl-icd-1.2.11.0.tgz的这个icd代码,你将有一个可以加载任何opencl平台的icd加载器。 链接到平台“.so”可能是libpocl.so,但其他安装的平台在clGetPlatformIDs调用中将不可见。所以ICD更好