【问题标题】:Intel OpenCL Beignet Issues英特尔 OpenCL Beignet 问题
【发布时间】:2017-06-03 22:16:48
【问题描述】:

我正在尝试使用英特尔硬件在 Linux 上使用 OpenCL:

我有 3 个选择:

  1. 在 CPU 实现上使用 Intel 的 OpenCL - 让我有机会测试代码逻辑,因为性能行为非常不同。
  2. 在 GPU 实现上使用 Intel 的 OpenCL - 但我从未管理过它,因为它需要自定义构建内核,而且它不是想要处理的东西(我错过了什么)
  3. 使用英特尔的开源 OpenCL 实现 GPU - Beignet。

我在两个主要平台上测试了 Beignet 1.2.1 OpenCL:

  1. 带有 Intel® HD Graphics 530 的 i5-6600 - 工作正常,但比在 Windows 下使用带有 Intel OpenCL 驱动程序的相同 GPU 慢得多。
  2. 带有 Intel® HD Graphics 2500 的 i5-3470 - 运行速度也很慢,但还会在说明任何 OpenCL 程序时立即产生巨大的图形故障 - 基本上阻止了我将 GPU 用于 OpenCL。

我还比较了它在 Windows OpenCL GPU 实现上运行相同的代码 - 它运行得更快。

我注意到内核使用本地内存进行非常标准和简单的缩减时更大的差异 - 它会导致显着的性能损失(我在某处读到 beignet OpenCL 使用全局内存作为本地内存的模拟)


问题:

  1. 任何人都可以设法使用 Beignet 并从中获得良好的性能吗?
  2. 任何人都可以在不为其编译整个内核的情况下为 GPU 安装 Intel OpenCL 驱动程序吗?
  3. 是否有支持 Beignet 的邮件列表/论坛(我发现的邮件列表主要与补丁有关)?
  4. 有人在使用 Beignet 时遇到图形故障吗?

【问题讨论】:

    标签: linux opencl intel gpu beignet


    【解决方案1】:

    最近英特尔发布了他们的驱动程序作为开源:

    https://01.org/compute-runtime

    我在 Ubuntu 16.04 上遵循了这个构建说明(除了运行 make install 而不是使用 deb 文件)

    https://github.com/intel/compute-runtime/blob/master/documentation/BUILD_Ubuntu.md

    我让司机工作。

    性能要好得多:

    • 与 beignet 相比,Caffe OpenCL 的性能约为 x2
    • 在我的自定义代码缩减中工作得更快
    • 使用 clblas 的 gemm 操作,clblast 也快 2 倍

    不需要自定义内核补丁

    【讨论】:

      【解决方案2】:

      大约 1 年前,我遇到了类似的困境 - Beignet 或 Intel OpenCL 驱动程序 - 我最终选择了 Intel 驱动程序。

      我也是先用 Beignet 开始的,但是安装失败。 但是 Intel OpenCL 在 Ubuntu 14.04 和 16.04 上的安装非常顺利。

      Ubuntu 14.04 需要内核补丁,但 16.04 没有,即使手册说它是必需的。我认为,只要您的 Linux 发行版内核与 OpenCL 驱动程序所需的一个匹配,并且您不需要修补所需的某些功能,您就可以不进行内核修补。我认为某些 OpenCL 2.0 功能需要修补,我使用了 OpenCL 1.2。 在 Ubuntu 16.04 上,默认内核版本为 4.4,它与 OpenCL 驱动程序所需的内核版本相匹配 - 特别是 intel-opencl-2.0-2.0-54425 驱动程序版本。有需要的可以here下载。

      否则the latest one 当前需要内核 4.7。如果您使用的 Linux 发行版是 4.7,那么它也可以在不打补丁的情况下工作。

      我还测试了 Ubuntu 与 Windows,但没有发现任何性能差异。我在Ubuntu 16.04上使用54425驱动进行OpenCL开发半年多,没有发现任何问题。

      【讨论】:

      • 问题是我什至无法让提供的 OpenCL 驱动程序识别设备,尝试了您链接的版本,但没有结果。而且我不知道到底发生了什么以及为什么会失败。
      • 您需要提供更多信息,例如到底是什么错误,是否在干净的系统上,您尝试过什么 Linux 发行版,您采取了哪些步骤等。
      • 这正是我什至无法调试它只是没有显示 GPU 设备的问题......没有错误。没有。带有内核 4.4 的 Ubuntu 1.4...我无法检测到任何具体问题。
      • 另请注意,我没有接受答案,但被评为最佳答案。显然 beignet 确实使用了本地内存,他们修复了这个错误,但它仍然很慢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多