Linux 下英特尔 CPU/GPU 上的 OpenCL 开发
OpenCL development on Intel CPU/GPU under Linux
我有一个 intel i7 haswell cpu,我想开始探索 OpenCL 开发。特别是,我对 运行 集成 GPU 上的 OpenCL 代码感兴趣。
不幸的是,到目前为止,我无法在英特尔网站上找到任何 SDK ..
您能否提供一些链接,以及 Linux 平台和英特尔硬件的 OpenCL 工具当前状态的摘要?
我认为这对其他许多人都有用..
非常感谢!
Intel 在 Linux 下的 iGPU 上不提供对 OpenCL 的免费支持 - 您必须购买 Intel Media Server Studio,最低 499 美元。在 Windows,您可以下载免费驱动程序以获得 iGPU 的 OpenCL 功能:https://software.intel.com/en-us/articles/opencl-drivers#philinux。
请注意,您可以使用任何您想要的 OpenCL SDK - 它不一定是英特尔。 SDK 仅对构建您的程序有用。对于 运行 OpenCL 程序,您需要制造商提供适当的运行时(驱动程序)。 AMD SDK 允许您访问 CPU 作为 OpenCL 设备,但不能访问 iGPU。
Linux 上有一个名为 Beignet 的 Intel GPU 开源 OpenCL 实现,由 Intel 的一群人维护。
遗憾的是,无法亲自尝试检查您的 GPU 是否得到正确支持,但在他们的 wiki 上他们声明:
Supported Targets
4th Generation Intel Core Processors "Haswell", need kernel patch currently, see the "Known Issues" section.
Beignet: self-test failed" and almost all unit tests fail. Linux 3.15 and 3.16 (commits f0a346b to c9224fa) enable the register whitelist by default but miss some registers needed for Beignet.
This can be fixed by upgrading Linux, or by disabling the whitelist:
# echo 0 > /sys/module/i915/parameters/enable_cmd_parser
On Haswell hardware, Beignet 1.0.1 to 1.0.3 also required the above workaround on later Linux versions, but this should not be required in current (after 83f8739) git master.
所以,值得一试。顺便说一句,它在我的第三代 HD4000 上运行良好。
此外,有问题的工具链和驱动程序包括一堆 GPU 支持测试用例。
您可以查看intel开源Beignet OpenCL库:http://arrayfire.com/opencl-on-intel-hd-iris-graphics-on-linux/
对我来说(ubuntu 15.10 + Intel i5 第 4 代 GPU)效果很好。
P.S.
此外,我必须说,几个月前我设法为 linux 下载了 "media server"(但还没有使用它)。所以你也可以检查一下。
对于像我一样遇到这个问题的人来说,现有的答案有一些过时的信息;英特尔现在在上面发布的网站上为 Linux 提供免费驱动程序:https://software.intel.com/en-us/articles/opencl-drivers#philinux
驱动程序本身仅在第 5、6 和 7 代酷睿处理器(以及许多其他赛扬和至强处理器,请参阅 link)上受支持,而更早的处理器(例如第 4 代)仍然需要媒体服务器工作室。
但是,他们现在提供 Linux Media Server Studio 的社区版本,可以免费下载。
他们还有一个针对英特尔媒体 SDK 和 OpenCL 的驱动程序支持矩阵,其中包含一些有关兼容性的有用信息:https://software.intel.com/en-us/articles/driver-support-matrix-for-media-sdk-and-opencl
我有一个 intel i7 haswell cpu,我想开始探索 OpenCL 开发。特别是,我对 运行 集成 GPU 上的 OpenCL 代码感兴趣。
不幸的是,到目前为止,我无法在英特尔网站上找到任何 SDK ..
您能否提供一些链接,以及 Linux 平台和英特尔硬件的 OpenCL 工具当前状态的摘要?
我认为这对其他许多人都有用..
非常感谢!
Intel 在 Linux 下的 iGPU 上不提供对 OpenCL 的免费支持 - 您必须购买 Intel Media Server Studio,最低 499 美元。在 Windows,您可以下载免费驱动程序以获得 iGPU 的 OpenCL 功能:https://software.intel.com/en-us/articles/opencl-drivers#philinux。
请注意,您可以使用任何您想要的 OpenCL SDK - 它不一定是英特尔。 SDK 仅对构建您的程序有用。对于 运行 OpenCL 程序,您需要制造商提供适当的运行时(驱动程序)。 AMD SDK 允许您访问 CPU 作为 OpenCL 设备,但不能访问 iGPU。
Linux 上有一个名为 Beignet 的 Intel GPU 开源 OpenCL 实现,由 Intel 的一群人维护。
遗憾的是,无法亲自尝试检查您的 GPU 是否得到正确支持,但在他们的 wiki 上他们声明:
Supported Targets
4th Generation Intel Core Processors "Haswell", need kernel patch currently, see the "Known Issues" section.
Beignet: self-test failed" and almost all unit tests fail. Linux 3.15 and 3.16 (commits f0a346b to c9224fa) enable the register whitelist by default but miss some registers needed for Beignet.
This can be fixed by upgrading Linux, or by disabling the whitelist:
# echo 0 > /sys/module/i915/parameters/enable_cmd_parser
On Haswell hardware, Beignet 1.0.1 to 1.0.3 also required the above workaround on later Linux versions, but this should not be required in current (after 83f8739) git master.
所以,值得一试。顺便说一句,它在我的第三代 HD4000 上运行良好。
此外,有问题的工具链和驱动程序包括一堆 GPU 支持测试用例。
您可以查看intel开源Beignet OpenCL库:http://arrayfire.com/opencl-on-intel-hd-iris-graphics-on-linux/ 对我来说(ubuntu 15.10 + Intel i5 第 4 代 GPU)效果很好。
P.S.
此外,我必须说,几个月前我设法为 linux 下载了 "media server"(但还没有使用它)。所以你也可以检查一下。
对于像我一样遇到这个问题的人来说,现有的答案有一些过时的信息;英特尔现在在上面发布的网站上为 Linux 提供免费驱动程序:https://software.intel.com/en-us/articles/opencl-drivers#philinux
驱动程序本身仅在第 5、6 和 7 代酷睿处理器(以及许多其他赛扬和至强处理器,请参阅 link)上受支持,而更早的处理器(例如第 4 代)仍然需要媒体服务器工作室。 但是,他们现在提供 Linux Media Server Studio 的社区版本,可以免费下载。
他们还有一个针对英特尔媒体 SDK 和 OpenCL 的驱动程序支持矩阵,其中包含一些有关兼容性的有用信息:https://software.intel.com/en-us/articles/driver-support-matrix-for-media-sdk-and-opencl