你可以在不下载SDK的情况下开始编程OpenCL吗?

Dan*_*don 9 c++ opencl

我试图获得一个将在ATI和NVidia上运行的程序,因此,我想避免使用任何一个SDK.是否可以在没有SDK的情况下使用VS2010和Windows(XP或7)?

如果是这样,我该如何配置VS2010 Linker以使其正常工作?

vir*_*nux 10

严格来说,不需要SDK.事实上,不需要SDK,因为NVIDIA和AMD/ATI SDK都将代码绑定到他们的环境,并且扩展了他们的硬件.你需要的是:

1)将运行OpenCL代码的GPU.请参阅此问题:符合OpenCl标准的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.如果您对编写可移植代码感兴趣,请坚持使用Khronos.org提供的OpenCL规范.

要编写代码,您需要做的就是在宿主程序中包含opencl.h,然后进行设置OpenCL环境和运行OpenCL程序所需的API调用.另外,不要忘记链接OpenCL库(在Linux下给gcc -lOpenCL标志).