我试图获得一个可以在ATI和NVidia上运行的程序,因此我想避免使用任何SDK.是否可以不使用SDK,只使用VS2010和
Windows(XP或7)?
如果是这样,那么我怎么可以配置VS2010 Linker呢?
解决方法
严格来说,不需要SDK.事实上,不需要SDK,因为NVIDIA和AMD / ATI SDK都将代码与他们的环境和扩展的硬件相结合.你所需要的是:
1)将运行OpenCL代码的GPU.看这个问题:List of OpenCl Compliant CPU/GPU
2)OpenCL库(Linux上的libOpenCL.so);这通常包含在图形驱动程序中,可以从AMD或NVIDIA下载.
3)OpenCL头文件.这些可能是从Khronos.org获得的,但是包含在我所知道的所有OpenCL SDK中.在Linux系统上,这些通常位于目录/usr/include / CL中
NVIDIA和AMD SDK提供了许多实用程序和包装器,使OpenCL API变得更加简单,但不需要编写OpenCL代码或进行API调用.这些包装和公用事业不是poratble.如果您有兴趣编写可移植代码,请遵守OpenCL规范,也可从Khronos.org获取.
要编写代码,所有您需要做的是在主机程序中包含opencl.h,然后进行必要的API调用,以设置OpenCL环境并运行OpenCL程序.另外,别忘了链接到OpenCL库(在Linux下给gcc -lOpenCL标志).