【发布时间】:2017-06-03 22:16:48
【问题描述】:
我正在尝试使用英特尔硬件在 Linux 上使用 OpenCL:
我有 3 个选择:
- 在 CPU 实现上使用 Intel 的 OpenCL - 让我有机会测试代码逻辑,因为性能行为非常不同。
- 在 GPU 实现上使用 Intel 的 OpenCL - 但我从未管理过它,因为它需要自定义构建内核,而且它不是想要处理的东西(我错过了什么)
- 使用英特尔的开源 OpenCL 实现 GPU - Beignet。
我在两个主要平台上测试了 Beignet 1.2.1 OpenCL:
- 带有 Intel® HD Graphics 530 的 i5-6600 - 工作正常,但比在 Windows 下使用带有 Intel OpenCL 驱动程序的相同 GPU 慢得多。
- 带有 Intel® HD Graphics 2500 的 i5-3470 - 运行速度也很慢,但还会在说明任何 OpenCL 程序时立即产生巨大的图形故障 - 基本上阻止了我将 GPU 用于 OpenCL。
我还比较了它在 Windows OpenCL GPU 实现上运行相同的代码 - 它运行得更快。
我注意到内核使用本地内存进行非常标准和简单的缩减时更大的差异 - 它会导致显着的性能损失(我在某处读到 beignet OpenCL 使用全局内存作为本地内存的模拟)
问题:
- 任何人都可以设法使用 Beignet 并从中获得良好的性能吗?
- 任何人都可以在不为其编译整个内核的情况下为 GPU 安装 Intel OpenCL 驱动程序吗?
- 是否有支持 Beignet 的邮件列表/论坛(我发现的邮件列表主要与补丁有关)?
- 有人在使用 Beignet 时遇到图形故障吗?
【问题讨论】:
标签: linux opencl intel gpu beignet