intel-compute-runtime、intel-opencl-runtime 和 intel-opencl-sdk 之间有什么区别?
What is difference between intel-compute-runtime, intel-opencl-runtime, and intel-opencl-sdk?
看起来英特尔提供了许多 OpenCL 实现。ArchWiki描述了 OpenCL 实现。它说 beignet 和 intel-opencl 已被弃用。那么,intel-compute-runtime、intel-opencl-runtime、intel-opencl-sdk的区别是什么?
我想在我的 x86 计算机上使用 OpenCL。
以下 OpenCL 运行时 将您的英特尔集成 GPU 作为 OpenCL 设备公开给您 PC 中的应用程序:
- Intel compute runtime(又名 Neo)是用于英特尔 GPU 的新 open-source OpenCL 实现。它支持 Broadwell 及以后的集成 GPU。
- Beignet 是英特尔集成 GPU 的旧 open-source OpenCL 实现。自 Ivy Bridge 以来,它支持集成 GPU。如果您有较旧的 Intel 处理器,则应该使用它。
自 Ivy Bridge 以来,- Intel OpenCL 是 Beignet 的专有替代品,适用于较旧的处理器。根据我的经验,如果您的处理器较旧,Beignet 更可取。
Intel OpenCL runtime 将您的 CPU 作为 OpenCL 设备公开给您 PC 中的应用程序。
OpenCL ICD 加载器 是 vendor-independent 并允许您 select 在运行时使用哪个 OpenCL 设备。有几个可用的,但我建议 ocl-icd,因为它是开源的,通常 up-to-date。
要开发您自己的 OpenCL 程序,您还需要 OpenCL headers,您可以 download from here or install from the Arch repositories.
所谓的 SDK 只是供应商捆绑包,通常包含:a) OpenCL 运行时 将供应商硬件公开为 OpenCL设备; b) OpenCL ICD 加载器,以便各种处理器可以作为 OpenCL 设备公开; c) OpenCL headers; d) 关于如何在供应商硬件上最好地使用 OpenCL 的代码示例;并且,e) 可能与其他供应商相关的东西。
SDK 的一些示例包括:
- AMD APP SDK(已停产)。
- Intel® SDK for OpenCL™ Applications.
您实际上不需要 SDK 来开发 OpenCL 应用程序,只要您有一个 OpenCL 运行时、一个 OpenCL ICD 加载器 和 OpenCL headers。如果在 C/C++ 中开发,您的应用程序应包含针对 ICD 加载程序 (libOpenCL.so
) 的 headers 和 link。
看起来英特尔提供了许多 OpenCL 实现。ArchWiki描述了 OpenCL 实现。它说 beignet 和 intel-opencl 已被弃用。那么,intel-compute-runtime、intel-opencl-runtime、intel-opencl-sdk的区别是什么?
我想在我的 x86 计算机上使用 OpenCL。
以下 OpenCL 运行时 将您的英特尔集成 GPU 作为 OpenCL 设备公开给您 PC 中的应用程序:
- Intel compute runtime(又名 Neo)是用于英特尔 GPU 的新 open-source OpenCL 实现。它支持 Broadwell 及以后的集成 GPU。
- Beignet 是英特尔集成 GPU 的旧 open-source OpenCL 实现。自 Ivy Bridge 以来,它支持集成 GPU。如果您有较旧的 Intel 处理器,则应该使用它。 自 Ivy Bridge 以来,
- Intel OpenCL 是 Beignet 的专有替代品,适用于较旧的处理器。根据我的经验,如果您的处理器较旧,Beignet 更可取。
Intel OpenCL runtime 将您的 CPU 作为 OpenCL 设备公开给您 PC 中的应用程序。
OpenCL ICD 加载器 是 vendor-independent 并允许您 select 在运行时使用哪个 OpenCL 设备。有几个可用的,但我建议 ocl-icd,因为它是开源的,通常 up-to-date。
要开发您自己的 OpenCL 程序,您还需要 OpenCL headers,您可以 download from here or install from the Arch repositories.
所谓的 SDK 只是供应商捆绑包,通常包含:a) OpenCL 运行时 将供应商硬件公开为 OpenCL设备; b) OpenCL ICD 加载器,以便各种处理器可以作为 OpenCL 设备公开; c) OpenCL headers; d) 关于如何在供应商硬件上最好地使用 OpenCL 的代码示例;并且,e) 可能与其他供应商相关的东西。
SDK 的一些示例包括:
- AMD APP SDK(已停产)。
- Intel® SDK for OpenCL™ Applications.
您实际上不需要 SDK 来开发 OpenCL 应用程序,只要您有一个 OpenCL 运行时、一个 OpenCL ICD 加载器 和 OpenCL headers。如果在 C/C++ 中开发,您的应用程序应包含针对 ICD 加载程序 (libOpenCL.so
) 的 headers 和 link。