DE4-530的OpenCL开发环境搭建

简洁完整的文档见DE4-530的OpenCL开发环境搭建(最终版)

背景介绍

传统的硬件开发,需要经过“算法设计->硬件方案设计->代码实现->功能仿真->下板调试”这些步骤,花费的时间会非常长。通过OpenCL在FPGA上开发,可以实现同样的功能,但是少了硬件方案及实现过程(这是最耗时的阶段),可以大大降低硬件开发周期。

如今的主流FPGA厂商只有Altera在大力支持OpenCL,Xilinx只是通过C2H工具将C语言转换成硬件语言,其他厂商还无任何消息。Altera提供的可用于OpenCL开发的FPGA开发板为DE4-530,Altera在今年5月才发行了openCL_13.0_release,作为其正式商用版。

直接用FPGA进行程序开发和调试的话,时间会非常漫长(主要是编译过程)。所以开发流程确定为:

1.通过显卡开发调试程序,确保程序正确性;

1.将正确的程序编译下载到FPGA上运行,并分析其性能。

 

环境要求

接下来就是搭建OpenCL的开发环境。由于最终是以DE4-530开发板为对象,所以确定软件环境时以DE4-530的要求为基准。

Altera公司提供了一个针对DE4-530进行OpenCL开发的说明文档(Altera SDK for OpenCL Getting Started.pdf),里面介绍了硬件及环境要求。

1.the Altera SDK for OpenCL version 13.0支持的OpenCL version 1.0;(如今OPenCL已经发展到了1.2)

2.电脑硬件:

操作系统为Microsoft 64-bit Windows 7 或 Red Hat Enterprise 64-bit Linux(RHEL)5.6;(CPU需支持64位操作系统)

有eight-lane PCI Express port(PCIe x8)或sixteen-lane PCI Express port(PCIe x16);(考虑到还有显卡,故主板需多个PCIe x8,PCIe x16接口)

只支持单个FPGA开发板;(Only one FPGA accelerator board may be installed in the host machine)

3.软件环境:

FPGA设计软件——the Quartus II software version 13.0;(以前版本不支持OpenCL编程[.aocx])

设备支持——为Stratix V设备安装支持软件;

USB-Blaster驱动——通过USB接口下载hardware kernel program到FPGA的flash memory;

PCIe驱动——主机和设备通过PCIe接口进行通信;

C编译开发环境——Windows系统采用Microsoft Visual Studio version 2010 Professional,Linux系统采用C编译器;

 

硬件环境

按照上述环境要求,重新配置一台PC(如果是工作站最好),配置如下:

CPU——酷睿i7 3770K(支持64位系统)

显卡——华硕7870-DC2-2GD5铜管直触双风扇(支持OpenCL 1.2)

主板——华硕P8Z77-V PRO(3个PCIe x16插槽)

机箱——游戏悍将刀锋1标准版(可以安装40cm的大显卡,故能容纳DE4开发板)

内存——金士顿 DDR3 1600 8G(KVR16N11/8)   *3(可提供足够的运行内存)

考虑到操作的方便性,操作系统采用Windows7 SP1。

 

Visual Studio安装

该软件是OpenCL开发的平台,故不论是GPU开发还是FPGA开发,都需要安装该软件。机箱DE4文档中要求版本为Microsoft Visual Studio version 2010 Professional,故先到官网下载页面下载对应版本并安装;

破解:百度上很多方法,我采用的是百度文Visual Studio 2010 + ”里的第一种方法,直接输入注册码。

 

 

VAssistX安装

该软件是Visual Studio的自动补全插件,当然也可以不安装。自己去百度,下载安装并破解。

 DE4-530的OpenCL开发环境搭建

 

AMD显卡驱动安装

显卡驱动是显卡和SDK应用之间的桥梁,故显卡驱动也需支持OpeCL开发。

AMD的OpenCL系统要求页面内,可以看到是可以支持Microsoft 64-bit Windows 7 的,与DE4-530可以共用一个操作系统,这就解决了操作系统的问题。

在页面底部,有这样一段信息:

DE4-530的OpenCL开发环境搭建
显示了AMD公司已经发行的SDK与显卡催化剂版本。其显卡催化剂一般都内置有SDK,只是版本比较老而已。

显卡驱动安装有2种方法:

1.通过下载最新的“Download AMD Catalyst Drivers”来安装,该方法可以选择安装所有的AMD驱动,这样可以省去单独安装SDK(这样可以省去下步的SDK安装,直接检测SDK是否安装成功);该方法有个很不好的缺点就是:安装的时候不容易成功,会很麻烦;

      2.直接通过“驱动精灵”把显卡驱动更新为最新版本,该方法只安装显卡驱动,不会安装其他软件,比如声频驱动,SDK之类的。

首先介绍第1种方法,我试了很多次都失败了,所以并不推荐该方法,我先介绍我的安装过程及错误。

点击“Download AMD Catalyst Drivers”进入显卡驱动下载页面,选择自己PC的显卡和操作系统,进入对应的AMD HD7900显卡驱动页面,里面有稳定版,测试版,文档;并描述了其详细信息DE4-530的OpenCL开发环境搭建

从中我们可以看出其内部组件是支持OpenCL开发的, 具体的版本这些暂时还没搞懂

在安装该驱动之前,PC已经安有普通驱动,以下是该驱动的软件信息

DE4-530的OpenCL开发环境搭建
从这个页面来看,我并不清楚该驱动是否支持OpenCL开发,我的想法是既然没有写明,那么应该就是不支持(安装后也是这个界面,所以说这里是看不出是否安装OpenCL的),毕竟现在OpenCL开发是一个重要的概念。

那么接下来我们就安装新驱动,安装过程会让选择组件

DE4-530的OpenCL开发环境搭建
从这里可以看到,有“AMD APP SDK Runtime”这个OpenCL开发必须的支持组件:可勾选的表示电脑现在没有该软件或不是最新版本,可以选择安装;而为勾且不可选择的选项表示已经是最新版,无需安装。这样选择之后安装。

我就是在这里安装的时候,系统提示说有些组件没有安装成功,所以我又重启安装一次,但是安装的时候一直卡在“分析”阶段。我这样进行了很多次,最后在网上查找原因,发现时这个问题经常出现,解决方法是通过AMD的专用卸载软件把AMD的软件全部卸载完毕再进行安装。

AMD Catalyst Un-install Utility下载页面下载后,点击运行,此处需要注意的是它会把电脑上的所有AMD软件都卸载掉。卸载后再用上述方法安装,还是出错,最后只有再次完全卸载,然后用装机时自带的光盘进行安装。

接下来介绍第2种方法,下载驱动精灵,然后升级显卡驱动即可,该方法只会升级显卡驱动,所以需要单独下载安装SDK,过程很简单,所以就不叙述了。(其实与第1种方法差不多一样的,只是少些步骤而已)

 

AMD APP SDK安装

我选择了第2种方法安装AMD显卡驱动,所以需要单独安装SDK。(其实已经安装了SDK,这步只是给那些没有安装SDK的朋友看看步骤)

首先下载AMD-APP-SDK-v2.8-Windows-64.exe,下载之后运行安装。(其他的硬件及操作系统环境下载则在SDK下载页面选择下载相应的版本)

其安装流程与上面显卡安装时一样的,只是在选择组件的时候不一样。

DE4-530的OpenCL开发环境搭建
从中可以看到,只有3个可选项,其余的都是已经成功安装的,点击继续安装。

安装完成后,我们来检测是否成功安装,其方法有3:

      1.查看安装日志,看看所勾选的3个组件是否成功安装;

      2.在cmd命令窗口输入“clinfo”:未安装前,只会CPU的信息;安装成功后,会显示GPU的信息;下图是安装后的GPU信息

DE4-530的OpenCL开发环境搭建

      3.在设备管理器中查看“显卡驱动程序详细信息”

       这是未安装SDK前的详细信息,其中没有OpenCL.dllDE4-530的OpenCL开发环境搭建

       这是安装SD后的详细信息,其中已经有了OpenCL.dll 
DE4-530的OpenCL开发环境搭建

至此,GPU的OpenCL开发环境已经建立起来了,剩下的工作是通过实例检测我们所建立的该GPU开发环境。
这是AMD的资料:AMD的Heterogeneous Computing(关于异构计算的资料,包括性能分析)

 

AMD CodeXL安装

AMD公司提供的分析工具室CodeXL,其内置了APP KernelAnalyzer,APP Profiler,CodeAnalyst,gDEBugger四个工具,如果不需要全部这些工具那么也可以单独下载安装。

在AMD的Heterogeneous Computing页面选择CodeXL,进入CodeXL下载页面,选择window版本下载安装即可。

安装后CodeXL后,会以两种方式出现:一是单独的软件方式出现,二是以Visual Studio的插件形式出现。

DE4-530的OpenCL开发环境搭建


Quartus II 12.0 SP2安装

DE4的OPenCL开发环境花费了太多时间。刚开始是安装了Quartus II 13.0,结果发现这是商业发布版,不支持DE4开发板;后面听说要12.1 SP1才行,SDK要0.9版本,于是从内部渠道拿到0.9的SDK,重新下载12.1 SP1安装,结果还是不行。

通过Altera的OpenCL资料,在cmd命令行里输入aclkc --list-boards,就能找到该SDK支持的开发板,一共应该是6个。可只发现了2个,而且这2个还是之前安装Quartus II 13.0时安装的。最后找到Altera的OpenCL工程师咨询,给我们的建议是完全按照getting_started文件里的步骤来。

由于我们也找不到其他原因,所以就只有试试这个方法。

之前我们的安装步骤是:AMD显卡驱动 -> Visual Studio2010 -> AMD SDK -> CodeXL,这是针对GPU的开发环境,当时的要求是先在GPU上跑通,再做FPGA。跑通之后,其他软件的安装顺序是Quartus II 12.1 SP1 -> USB-Blaster -> PCIe driver -> acl(只需解压)。

再看看Altera文档上的顺序是:Quartus II 12.0 SP2 -> acl -> PCIe driver -> Visual Studio。这个是针对DE4的开发环境的建立顺序。所以打算把相关的软件都先卸载,然后再按顺序安装。

所以,我卸载了所有Quartus软件(12.1和13.0),Visual Studio,PCIe driver,CodeXL(作为VS的插件,故也需重新安装方可),acl(USB-Blaster和AMD SDK是没有卸载的)。

接下来的安装顺序是:Quartus II 12.0 SP2(重新下载的) -> acl -> PCIe driver -> Visual Studio -> CodeXL。

安装之后,再次在cmd里输入aclkc --list-boards,可以看到闪过一列信息,由于闪过之后马上消失,所有截屏了很多次才成功,就是下图

DE4-530的OpenCL开发环境搭建
接下来就是运行Altera给的实例,先开FPGA的电,然后再开机。

下载sof到FPGA(怎么弄还不知道),接下来是在Visual Studio里编译程序,生成exe文件,运行该文件。可以看到成功执行。

我把DE4的电源断掉,继续运行exe文件,发现还是成功运行,感觉挺怪异的,排查之后发现是PCIe接口再给DE4供电。直接把DE4拔掉之后,运行则发生错误,而且此时进行调试也是不成功的,这个说明调试也是在对应的设备上进行的,而不是在CPU上。

现在的问题是如何生存sof文件?

 

 

 

 

 

 

以下都是以前的错误安装,记录在此,以备不时之需。


Quartus II 12.1SP1安装

由于Quartus II 13.0不支持Stratix IV,导致前面的13.0安装工作完全浪费(连下载话费了1天多时间)。通过professor黄跟Altera的中国区大学计划经理沟通后才最终确认这件事,没办法只能重新下载12.1SP1安装。

进入Quartus II订购版的下载页面,下载并安装相应的软件。这里提供了3种方式,我采用的是第1种,通过下载管理器自动下载并安装软件,该方法非常耗时,我下载了1天多才安装成功(之前还由于电源管理导致多次下载失败)。


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值