OpenCL与GPU计算入门作者:Erik Smistad译者:gashero日期:2015-05-26标题原文:Getting started with OpenCL and GPU Computing地址:http://www.thebigblob.com/getting-started-with-opencl-and-gpu-computing/目录1 安装和设置OpenCL1.1 在Ubuntu Linux上安装AMD显卡上的OpenCL1.2 在Ubuntu Linux上安装nVidia显卡上的OpenCL2 第一个OpenCL程序,向量加法2.1 内核2.2 主机程序3 编译OpenCL程序4 学习更多OpenCL(Open Computing Language,开放计算语言)是一个在并行多计算平台上写程序的框架,由多个制造商提供多种计算设备,如AMD、Intel、ATI、nVidia等。这个框架定义了一种语言来编写内核(kernel)。这些内核是一些运行在不同计算设备上的函数。本文解释如何开始OpenCL,以及两个列表并行求和的例子。1 安装和设置OpenCL最初需要下载最新的显卡驱动,这因为如果OpenCL在你的显卡驱动不支持OpenCL时无法工作。要安装OpenCL,你需要下载一个OpenCL实现。主要的显卡制造商nVidia和AMD/ATI都有提供基于GPU的OpenCL实现。这些实现都提供了SDK和有用的工具,如性能优化器。下一步是下载和安装GPU SDK。注意不是所有的显卡都支持,支持的显卡参见制造商网站。对AMD/ATI,下载http://developer.amd.com/sdks/AMDAPPSDK/Pages/default.aspx。对nVidia,下载http://developer.nvidia.com/object/cuda_download.html。安装步骤依赖于SDK和OS。遵循如下步骤。推荐使用Ubuntu Linux和AMD 7970显卡。1.1 在Ubuntu Linux上安装AMD显卡上的OpenCL要安装最新的AMD驱动到Ubuntu-12.04,需要安装和激活"ATI/AMD proprietary FGLRX显卡驱动"。再这一步完成后,下载和解压http://developer.amd.com/sdks/AMDAPPSDK/Pages/default.aspx。AMD APP SDK 2.8包含了安装器,运行:sudo sh Install-AMD-APP.sh下一步,安装OpenCL头文件:sudo apt-get install opencl-headers这就行了,注意AMD APP SDK,及其例子在/opt/AMDAPP。1.2 在Ubuntu Linux上安装nVidia显卡上的OpenCL下载CUDA SDKhttp://developer.nvidia.com/object/cuda_download.html。打开终端运行安装文件:sudo sh cudatoolkit_3.1_linux_64_ubuntu9.10.run下载开发者驱动,安装前关闭X,运行文件然后开启X。其中关闭X用:sudo /etc/init.d/gdm stop然后打开终端通过Ctrl+Alt+F5,登录并导航到下载驱动的目录:sudo sh devdriver_3.1_linux_64_256.40.run之后重启X:startx在开始编译OpenCL应用前,需要添加库的路径:export LD_LIBRARY_PATH=/usr/local/cuda/lib642 第一个OpenCL程序,向量加法展示OpenCL的简单例子。假设有2个列表的数字,A和B,相同长度。向量加法就是将A和B对应的每个像素相加,并将结果放入新的列表C。通过循环方式的如下:for (int i=0; i#include #ifdef __APPLE__#include opencl.h>#else#include <CLcl.h>#endif#define MAX_SOURCE_SIZE (0x100000)int main(void) {//创建2个输入向量int i;cosnt int LIST_SIZE=1024;int *A=(int*)malloc(sizeof(int)*LIST_SIZE);int *B=(int*)malloc(sizeof(int)*LIST_SIZE);for (i=0; i>这里<<-参与讨论ITeye推荐—软件人才免语言低担保 赴美带薪读研!—