OpenCL代码可与AMD/Nvidia同时使用



有人能告诉我们,编译后是否可以让OpenCL代码同时使用AMD和Nvidia卡吗?一般程序是什么?我是否需要安装两个OpenCL SDK(AMD/Nvidia),并使用"if"结构为每种情况(AMD设备或Nvidia设备)制作不同的代码?如果你能用一些标题澄清一下,我将不胜感激。谢谢

是的,这是可能的,这就是OpenCL over CUDA(仅适用于NVIDIA硬件)的目的。基本上,您在C99中制作代码编写内核,然后将其编译为中间的"独立于制造商"代码。最后一个代码将在运行时由您的卡(AMD或Nvidia)进行解释。通常,您没有理由编写不同的卡特定代码,也没有理由使用不同的SDK(但好吧…我使用的是Max OS 10.7,可能与其他环境不同)

最新更新