因此,英特尔SDK可与intel cpu,gpu和xeon phi配合使用。 AMD SDK与AMD gpu和cpu配合使用。
我想开发一个针对intel cpu和AMD gpu的应用程序。 任何人都可以提出实现这一目标的发展战略吗?
感谢。
编辑:我想在同一个系统上同时运行cpu和gpu内核。
答案 0 :(得分:3)
当您获得可用平台列表时,如果是Intel CPU / AMD GPU,您将拥有2个平台,每个平台都有自己的ID。
通常,就是这样,您可以在每种情况下使用必要的平台ID创建设备等。
如果您使用的是Windows,那么在调试器中看起来并不困难,不同的平台对应不同的OpenCL库(只需深入了解cl_platform_id结构) - 两个dll都已加载。
答案 1 :(得分:-2)
将您的OpenCL代码(不一定是内核)放入库中,并为AMD和Intel(和NVIDIA)设备创建和链接DLL文件。创建一个新程序,并根据用户安装的平台动态加载库。
屁股有点疼,但它在Labview中有效,所以它应该适用于其他语言。
如果您使用的是Windows,则可以使用LoadLibrary并将库放在PATH(Windows环境变量)中的文件夹中或与.EXE位于同一文件夹中。