【问题标题】:What is the difference between POCL(Portable Computing Language) and OpenCL?POCL(便携式计算语言)和OpenCL有什么区别?
【发布时间】:2015-08-13 04:51:29
【问题描述】:

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/

【问题讨论】:

    标签: parallel-processing opencl llvm pocl


    【解决方案1】:

    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更好

    【讨论】:

      【解决方案2】:

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

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

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

      如果 POCL 旨在与 OpenCL 兼容,我认为 POCL 使用相同的基于 C99 的内核语言。

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

      【讨论】:

      • 所以,OpenCL 是一个标准,POCL 是这个标准 OpenCL 的一个实现,将来,当通过一致性测试时,POCL 中的编写程序可以在任何 OpenCL 实现中编译来自 AMD、NVIDIA、Intel 和 Apple 等供应商,对吗?
      • 我不能肯定地说,因为我不了解 POCL,但似乎用 POCL 编写的程序可以在其他 OpenCL 平台上使用,只要您在编写它们时遵循标准的 OpenCL。
      猜你喜欢
      • 2013-03-29
      • 2011-04-24
      • 2011-04-15
      • 2011-02-09
      • 1970-01-01
      • 2010-10-08
      • 2013-07-23
      • 2015-04-30
      相关资源
      最近更新 更多