OpenCL开发起步

来源:互联网 发布:ubuntu 16.04和win10 编辑:程序博客网 时间:2024/05/21 07:59

    今天整理一下如何用OpenCL进行初步开发的环境配置以及例子的测试,笔者现在在法国农科院做实习,题目是利用GPU的并行运算能力来优化基因算法。

    我的开发环境是这样的:

    Ubuntu 9.10(64 bit)

    Eclipse for C/C++

    GPU Computing SDK code samples  (http://developer.nvidia.com/object/cuda_3_0_downloads.html)

    首先要注意的是判断一下显卡的型号是否支持OpenCL,如果支持,那么接下来就要下载支持OpenCL的显卡驱动,下载的地址也在上面给出的链接中。

    很多人可能不知道如何使用GPU Computing SDK,那么首先将 GPU Computing SDK code samples安装好,然后在doc里有Nvidia just strat 手册以及Khronos OpenCL标准手册。只要跟着Nvidia just start手册的步骤,就能够顺利的安装好环境并且能里面讲述了如何编写一个简单的向量相加的程序。

    当然在SDK中还有很多有趣的东西,里面有很多的例子,我们可以进行测试,例子在bin下面,当然我们也可以看其源码,在src中。

    好了,接下来说说我曾遇到的问题,就是编译链接的问题,我们知道Eclipse主要是用来java开发的,当然它也支持C/C++,在用C/C++开发的时候,在设置路径的时候要小心,首先要指定关于OpenCL的头文件路径,以及辅助开发工具的头文件路径,因为如果你要看例子的话,里面用到了shrUtils.h还有oclUtils.h这样的头文件,这些是辅助工具,能够更有效的给你的开发提供便利。这两个头文件的路径分别在文件夹shared和commen的文件夹inc下,然后我们还要指定库文件的路径,也是在这两个文件夹下的lib文件夹下,当然指定完库路径以后,我们还要添加库,注意了库名和库是两码事,比如库名是libOpencl.o,库就是OpenCL,所以我们添加库就是在编译的时候加-IOpenCL,一般来说我们要添加三个库,分别是OpenCL,shrutil,oclUtil这样编译的时候就能通过了。

    如果有什么细节上的问题,可以跟我探讨,谢谢!