搜档网
当前位置:搜档网 › 《Altera OpenCL入门(beta版)》

《Altera OpenCL入门(beta版)》

《Altera OpenCL入门(beta版)》
《Altera OpenCL入门(beta版)》

Altera OpenCL入门(beta版)——作者:老宋

2014年4月10日

前言:

Altera的OpenCL主要面向信号处理类应用的客户,是用C语言开发FPGA的利器,开放计算语言(OpenCL)联盟著名的公司有FPGA巨头Altera、两大显卡GPU巨头AMD、英伟达、CPU 巨头Intel、软件和服务器巨头IBM以及全世界最大的公司Apple(苹果)等等。不过AMD 和英伟达是用GPU实现的OpenCL并行运算,Altera是用FPGA实现并行运算。

1.系统要求:

? Microsoft 64-bit Windows 7专业版或者更高。

? Red Hat Enterprise 64-bit Linux (RHEL) 5或者6。

?对于Windows操作系统, 要安装Microsoft Visual Studio 2010或者2012专业版。?对于Linux操作系统, 安装操作系统过程中要把C编译器包括GCC勾选上。

2.安装Altera的软件和搭建OpenCL环境:

?安装Quartus II 13.1

?安装Altera OpenCL 13.1

设置环境变量(基于默认的安装路径):

变量和值如下:

ALTERAOCLSDKROOT和C:\altera\13.1\hld

PATH和C:\altera\13.1\hld\windows64\bin(aocl_getting_started.pdf第8页是错的)LM_LICENSE_FILE和c:\altera\license.dat

参考下图:

然后在命令行里面运行where aoc,测试一下软件是否安装正确以及环境变量是否设置正确,如果正确,如下图;如果不正确,修改错误再来。

3.开发板环境的安装和测试(以友晶的DE5-Net开发板为例,不过没有开发板也可以,开

发板不是必需的):

1.准备工作:下载DE5-Net开发板的全套软件安装包,

https://www.sodocs.net/doc/7412888933.html,/downloads/cd-rom/de5-net/DE5NET_openCL_BSP.zip

136MB,把里面的terasic文件夹解压缩到C:\altera\13.1\hld\board\下。

设置DE5-Net开发板的环境变量:

变量和值如下:

AOCL_BOARD_PACKAGE_ROOT和C:\altera\13.1\hld\board\terasic\de5net

参考下图:

然后在命令行里面运行aocl install来安装开发板驱动。

关闭你的PC,安装和连接开发板硬件后,重新开机,在命令行里面运行aoc --list-boards,如果硬件安装连接成功,会显示开发板名字de5net_a7,如果开发板不存在,显示none found。

2.下载配置开发板:

在命令行里面运行 cd C:\altera\13.1\hld\board\terasic\tests\blank,运行aocl program blank.aocx,如果开发板已经安装连接好,aocx里面的sof文件会通过PCI-E接口下载,如果开发板不存在或者没有安装连接好,会自动解压缩出reprogram_temp.sof,用户可以通过USB下载电缆去下载。

备注:没有开发板的客户可以跳过上面这个步骤,继续。

4.编译和测试OpenCL工程:

在命令行里面运行cd C:\altera\13.1\hld\board\terasic\tests\boardtest进入工程文件夹,运行aoc boardtest.cl --sw-dimm-partition开始编译,编译时间大约1个小时,最终产生的boardtest.aocx里面包含了sof文件,可以给开发板编程进去。

没有开发板的客户可以运行下面的例子:

从Altera网站上下载例子exm_opencl_hello_world_windows64.zip后解压缩,在命令行里面运行cd

C:\altera\13.1\hld\board\exm_opencl_hello_world_windows64\hello_world\device进入工程文件夹,运行aoc hello_world.cl开始编译,编译时间大约1个小时,最终产生的hello_world.aocx里面包含了sof文件,同时也产生了.V和.VHD源码和整个编译后的Quartus II完整工程,包括大量的底层配套的各种IP源码。

5.编译Host程序:

以Altera网站的OpenCL Vector Addition Design Example为例:

启动Visual Studio 2010,点击“文件→打开→项目”,选择

C:\altera\13.1\hld\board\exm_opencl_vector_add_windows64\vector_add\vector_add. sln(或者直接在硬盘上双击这个sln文件,VS 2010会自动完成上述步骤),然后点击“生成→生成解决方案”,最后在……\vector_add\bin\下产生了vector_add.exe,不过这个exe 不能运行,因为缺少几个dll文件,把C:\altera\13.1\hld\windows64\bin\下的所有的6个dll文件复制过来,和这个exe放在同一个文件夹下就可以运行了。

备注:没有开发板的客户可以跳过上面这个步骤。

6.查看结果:

把第四步产生的aocx文件下载到开发板,然后运行第五步产生的exe即可在PC屏幕上看到开发板返回的最终结果。

备注:没有开发板的客户可以跳过上面这个步骤。

没有开发板的客户只需要走1、2、4步即可。

参考资料、例子和其它:

1.参考资料:

https://www.sodocs.net/doc/7412888933.html,/products/software/opencl/opencl-index.html

网页最下面3个入门文档:

面向OpenCL的Altera SDK开始设计:aocl_getting_started.pdf

面向OpenCL的Altera SDK编程指南:aocl_programming_guide.pdf

面向OpenCL的Altera SDK优化指南:aocl_optimization_guide.pdf

其中aocl_getting_started.pdf第8页是错的,PATH应该是

C:\altera\13.1\hld\windows64\bin

2.Altera目前有13个OpenCL的例子在

https://www.sodocs.net/doc/7412888933.html,/support/examples/opencl/opencl.html里面,上面第4步用到的exm_opencl_hello_world_windows64.zip例子就来自于这个网页。

3.Cl文件是OpenCL的源码文件,aocx是cl文件编译后的编程文件,里面包括sof文件。

PC机那边的Host软件不是必需的,做host软件仅仅是为了和开发板通信来获取开发板运行openCL的信息。没有开发板的用户只要写一个cl文件就可以编译了,最后产生了.V 和.VHD源码和整个编译后的Quartus II完整工程,包括大量的底层配套的各种IP源码。

相关主题