我对opencl很陌生,想做一些实验。具体来说,我想知道是否有人可以为我指明正确的方向,以创建带有 opencl 接口的自定义平台或设备。如何使用它是创建一个与 GPU 和 CPU 一起运行的简单模拟器/调试器。有没有关于定制opencl平台、设备等开发的官方文档?此外,是否有任何涵盖该领域的优秀在线资源?
感谢您的任何帮助。
我对opencl很陌生,想做一些实验。具体来说,我想知道是否有人可以为我指明正确的方向,以创建带有 opencl 接口的自定义平台或设备。如何使用它是创建一个与 GPU 和 CPU 一起运行的简单模拟器/调试器。有没有关于定制opencl平台、设备等开发的官方文档?此外,是否有任何涵盖该领域的优秀在线资源?
感谢您的任何帮助。
是的,您可以编写自己的 OpenCL 驱动程序,该驱动程序显示为带有系统上设备的平台。Khronos 发布了您可以使用的示例 ICD 源代码。这是OpenCL API 注册表的一部分。
您可以通过实施自制的 OpenCL 实现来实现您想要的。这意味着您必须根据 OpenCL 标准实现一个提供接口的库。如果您希望将其用于调试和/或设备仿真,您必须中断从底层 OpenCL 实现(例如,英特尔的)对设备查询机制的调用,添加一个额外的设备并将其传递给程序,该程序从您的 OpenCL 请求设备图书馆。您的代理实现不仅可以将所有涉及真实设备的操作传递给底层 OpenCL 实现,而涉及您的虚拟设备的操作则由您自己的代码处理。