在nvidia GPU上编译OpenCL1.2代码

在nvidia GPU上编译OpenCL1.2代码,opencl,nvidia,Opencl,Nvidia,我将编译一段需要OpenCL1.2的代码。据我所知,nVIDIA已经发布了OpenCL1.2驱动程序。我已经安装了最新的CUDA工具包,版本为7.0。但当我编译then代码时,我得到了如下错误: Error 9 error LNK2001: unresolved external symbol clReleaseDevice C:\Users\???\Downloads\FireRaysSDK-1.0\FireRaysSDK-1.0\App\CLW64.lib(CLWParallel

我将编译一段需要OpenCL1.2的代码。据我所知,nVIDIA已经发布了OpenCL1.2驱动程序。我已经安装了最新的CUDA工具包,版本为7.0。但当我编译then代码时,我得到了如下错误:

Error   9   error LNK2001: unresolved external symbol clReleaseDevice   C:\Users\???\Downloads\FireRaysSDK-1.0\FireRaysSDK-1.0\App\CLW64.lib(CLWParallelPrimitives.obj) App
Error   7   error LNK2001: unresolved external symbol clRetainDevice    C:\Users\???\Downloads\FireRaysSDK-1.0\FireRaysSDK-1.0\App\CLW64.lib(CLWContext.obj)    App
之后,我从khronos网站下载OpenCL1.2的头文件。现在,它可以编译了,但是我得到了这些函数的
未解析的外部链接
,因为它们的实现不在
OpenCL.lib


是否有
OpenCL.lib
可以用来编译OpenCL1.2代码?有没有办法从DLL文件中获取它们的实现?因为据我所知,nvidia已经在其驱动程序中添加了opencl 1.2支持。

您是正确的,nvidia现在在其最新的驱动程序中提供opencl 1.2支持,但CUDA 7.0 SDK是在这些驱动程序发布之前发布的,因此可能不包含opencl 1.2头文件或库。我刚刚检查了,它似乎与您需要的OpenCL1.2库一起提供


您可以链接任何OpenCL1.2库,它应该可以与NVIDA的驱动程序一起使用。您应该可以从或安装SDK,或者下载并构建。

我使用了OpenCL 1.2 ICD,它正在工作,但我有一个问题。我无法使用
icd\u loader\u测试
。当我运行它时,它崩溃了。而且,当我通过它进行调试时,我知道它不会检测到任何
平台
上下文
。但是ICD在与AMD Fireray相关的