3

我构建了一个简单的基于 OpenCL 的程序(在 C++ 中)并在带有 AMD FirePro V4900 卡的 Windows 8 系统上进行了测试。我正在使用 AMD APP SDK。

当我将我的二进制文件复制到另一台机器(带有 NVIDIA Quadro 4000 卡的 Windows 8)时,我得到“程序入口点 clReleaseDevice 无法位于动态链接库(我的程序的 exe)中”。第二台机器安装了最新的 NVIDIA 驱动程序和 CUDA 5。

关于我需要什么才能使其与 NVIDIA 硬件一起工作的任何想法?

4

1 回答 1

2

它是 OpenCL 1.1 vs 1.2 版本问题。Nvidia 仍在使用 OpenCL 1.1 版。您使用了 AMD 的 OpenCL 1.2。要获得同时在两个系统上运行的 OpenCL 应用程序,需要删除您的 clReleaseDevice API 调用和其他 1.2 调用,并使用带有 1.1 版本选项的 AMD SDK 重新编译。

于 2013-07-05T23:23:23.563 回答