0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Intel altera opencl入门

FPGA技术江湖 来源:FPGA技术江湖 2024-04-13 11:53 次阅读

今天给大侠带来Intel altera opencl 入门,话不多说,上货。

概述

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

1. 系统要求

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

• 对于Windows操作系统, 要安装微软公司的Visual Studio 2010或者2012专业版(推荐)。

或者:

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

• 对于Linux操作系统, 安装操作系统过程中要把C编译器包括GCC勾选上。

2.安装Altera的软件和搭建OpenCL环境(以Windows为例,Linux也类似):

•安装Quartus II 13.1 Update4(或者14.0)

•安装Altera OpenCL 13.1 Update4(AOCLSetup-13.1.4.182.exe)(或者14.0)

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

变量和值如下:

ALTERAOCLSDKROOT和C:altera13.1hld(或者C:altera14.0hld)

PATH和C:altera13.1hldwindows64in(或者C:altera14.0hldin;C:altera14.0hldhostwindows64in)

LM_LICENSE_FILE和c:alteralicense.dat

参考下图:

2aaa4aa6-f92d-11ee-a297-92fbcf53809c.png

2ab32e50-f92d-11ee-a297-92fbcf53809c.png

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

2ab9e768-f92d-11ee-a297-92fbcf53809c.png

或者(14.0)

2ac6d4e6-f92d-11ee-a297-92fbcf53809c.png

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

1)。 准备工作:下载DE5-Net开发板的全套软件安装包,http://www.terasic.com/downloads 。.. 5NET_openCL_BSP.zip 136MB,把里面的terasic文件夹解压缩到C:altera13.1hldoard下。

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

变量和值如下:

AOCL_BOARD_PACKAGE_ROOT和C:altera13.1hldoard erasicde5net

参考下图:

2ad509e4-f92d-11ee-a297-92fbcf53809c.png

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

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

2)。 测试开发板:

在命令行里面运行 cd C:altera13.1hldoard erasic estslank,运行aocl program blank.aocx,如果开发板已经安装连接好,aocx里面的sof文件会通过PCI-E接口下载,并且会返回成功的信息,如果开发板不存在或者没有安装连接好,会自动解压缩出reprogram_temp.sof,用户可以通过USB下载电缆去下载。

备注:没有开发板的客户可以在设置环境变量后跳过后面的步骤,继续。

4.编译和测试OpenCL工程:

1)。 编译OpenCL工程:

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

2)。 测试OpenCL工程(通过开发板):

在命令行里面运行 cd C:altera13.1hldoard erasic estslank,运行aocl program boardtest.aocx,如果开发板已经安装连接好,aocx里面的sof文件会通过PCI-E接口下载,并且会返回成功的信息,如果开发板不存在或者没有安装连接好,会自动解压缩出reprogram_temp.sof,用户可以通过USB下载电缆去下载。

提示:没有开发板的客户可以跳过上面的步骤,直接编译下面不需要开发板的例子,有开发板的客户可以直接到第五步:

下面完全脱离真实的开发板来运行Cytech_C5SOC.zip:

2aec8c5e-f92d-11ee-a297-92fbcf53809c.png

设置“虚拟”板的环境变量(替换原来的环境变量):

变量和值如下:

AOCL_BOARD_PACKAGE_ROOT和 C:altera13.1hldoardCytech_C5SOC

参考下图:

2af3eb2a-f92d-11ee-a297-92fbcf53809c.png

解压缩Cytech_C5SOC.zip里面的内容到C:altera13.1hldoard(也可以是其它文件夹),把例子exm_opencl_hello_world_windows64.zip里面的hello_world.cl也复制到这个文件夹下,在命令行里面运行cd C:altera13.1hldoard,运行aoc hello_world.cl开始编译。----因为Cyclone V SOC的5CSXFC6容量比Stratix V的5SGSMD5小几倍,所以编译时间只有20分钟左右,最终产生的hello_world.aocx里面包含了sof文件,同时也产生了转换后的.V源码和整个编译后的Quartus II完整工程,包括大量的底层配套的各种IP源码。

再演示3个不同的例子,分别是vector_add、matrix_mult和FFT,也是完全脱离真实的开发板来运行:

2b0422e2-f92d-11ee-a297-92fbcf53809c.png

2b12d526-f92d-11ee-a297-92fbcf53809c.png

2b199de8-f92d-11ee-a297-92fbcf53809c.png

不改变上面“虚拟”板的环境变量,目的是继续使用Cyclone V SOC的5CSXFC6,可以产生为这个系列优化的源码。

分别解压缩3个zip例子到C:altera13.1hldoard(也可以是其它目录),然后分别在在命令行里面:

1.运行cd C:altera13.1hldoardvector_adddevice,然后运行aoc vectorAdd.cl开始编译。

2.运行cd C:altera13.1hldoardmatrix_multdevice,然后运行aoc matrix_mult.cl开始编译。

3.运行cd C:altera13.1hldoardfft1ddevice,然后运行aoc fft1d.cl开始编译。

3个例子之间没有任何联系,可以单独运行,如果你的PC内存足够大,可以一起运行。

在产生的不同Quartus II工程中,可以找到matrix_mult.v、vectorAdd.v和fft1d.v这些转换出的源码。特别注意的是,这些最终的源码是acl_kernel_interface接口,这种接口比较简单,和FIFO差不多,只不过多了几个启动结束控制线,如start,valid等等。

备注:大家可以把这些源码复制到自己的工程中和自己写的其它逻辑模块连接起来即可。如果想产生基于Stratix V器件优化的源码,可以在环境变量的路径中把台湾友晶的DE5-Net开发板作为虚拟板(也就是恢复第三步的环境变量),然后编译cl文件即可。

5.编译Host程序:

启动Visual Studio 2012,点击“文件打开项目”,选择C:altera13.1hldoard erasic estsoardtesthostoardtest.sln(或者直接在硬盘上双击这个sln文件,VS 2012会自动完成上述步骤),然后点击“生成生成解决方案”,最后在……hostx64Release下产生了boardtest.exe,不过这个exe不能运行,因为缺少几个dll文件,把C:altera13.1hldwindows64in下的所有的6个dll文件复制过来,和这个exe放在同一个文件夹下就可以运行了。

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

6.查看结果:

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

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

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

参考资料、例子和其它:

1.参考资料:http://www.altera.com.cn/product 。.. l/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

其中13.1版本对应的aocl_getting_started.pdf第8页是错的,PATH应该是C:altera13.1hldwindows64in,14.0里面改正了。

2.Altera目前有13个OpenCL的例子在http://www.altera.com.cn/support/examples/opencl/opencl.html 里面,上面第4步用到的exm_opencl_hello_world_windows64.zip例子就来自于这个网页。

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

4.因为事先设置了环境变量的缘故,所以cl文件放到任何路径下都可以编译,编译后会在cl文件所在的文件夹里面产生完整的Quartus II整个工程,里面就有转换后的.v文件。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1624

    文章

    21608

    浏览量

    601086
  • 编译器
    +关注

    关注

    1

    文章

    1615

    浏览量

    49007
  • OpenCL
    +关注

    关注

    2

    文章

    48

    浏览量

    33251

原文标题:Intel altera opencl 入门

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    英特尔考虑出售Altera股权

    近日,英特尔(Intel)正积极寻求出售其可编程芯片制造子公司Altera的股权,并考虑引入战略投资或PE投资。据悉,英特尔对Altera的估值约为170亿美元,而英特尔于2015年以167亿美元的价格收购了这家公司。
    的头像 发表于 10-21 15:42 323次阅读

    Intel的AI Playground入门级人工智能工具亮相

    在今年的台北电脑展上,Intel惊艳亮相了一套面向初学者的AI探索平台——AI Playground,旨在让用户轻松体验前沿的人工智能技术与功能。近日,该平台已开放Beta版下载,集成了AI图形创作、图像增强技术及智能聊天机器人套件,但需配备至少拥有8GB显存的Intel
    的头像 发表于 07-24 12:32 609次阅读

    Intel altera opencl 入门

    今天给大侠带来Intel altera opencl 入门,话不多说,上货。 概述 Intel
    发表于 06-04 18:25

    英特尔正在顺利推进的Intel 20A和Intel 18A两个节点

    英特尔正在按计划实现其“四年五个制程节点”的目标,目前,Intel 7,采用EUV(极紫外光刻)技术的Intel 4和Intel 3均已实现大规模量产。
    的头像 发表于 05-11 09:25 1064次阅读
    英特尔正在顺利推进的<b class='flag-5'>Intel</b> 20A和<b class='flag-5'>Intel</b> 18A两个节点

    Altera将AI注入新的中端FPGA

    今年2月,英特尔宣布将Altera分拆为一家专注于FGPA的独立公司。拥有40年的血统,Altera的名字在业界肯定是众所周知的。虽然该公司仍由英特尔100%控股,但Altera的首席执行官
    的头像 发表于 05-07 15:03 8455次阅读
    <b class='flag-5'>Altera</b>将AI注入新的中端FPGA

    使用Altera Interface Planner高效设计FPGA引脚布局

    Altera Interface Planner 用于探索设备的外设架构,并高效地分配接口。通过实时进行拟合和合法性检查,防止非法引脚分配。
    的头像 发表于 03-22 15:52 2314次阅读
    使用<b class='flag-5'>Altera</b> Interface Planner高效设计FPGA引脚布局

    英特尔旗下FPGA公司Altera正式亮相

    日前,英特尔 FPGA Vision线上直播中发布,将英特尔编程解决方案事业部 (PSG) 作为独立的FPGA公司——Altera
    的头像 发表于 03-18 14:11 483次阅读

    Intel fpga芯片系列有哪些

    Intel FPGA芯片系列主要包括以下几种。
    的头像 发表于 03-14 16:28 917次阅读

    昨天看到消息AlteraIntel独立出来了,不知道大家常用的FPGA是什么?

    昨天看到消息AlteraIntel独立出来了,不知道大家常用的FPGA是什么?我这边分成常规生产治具是altera的,算法和图像相关的使用的是Xilinx的;
    发表于 03-06 13:39

    英特尔恢复Altera独立运作

    英特尔近日宣布,将把可编程解决方案群组重新分拆为一家独立的FPGA公司,并重新启用Altera这一知名品牌。Altera将专注于提供可编程解决方案,并在多个细分领域推出易于使用的人工智能产品。
    的头像 发表于 03-04 11:04 615次阅读

    Altera推出全新FPGA方案,深度布局人工智能领域

    Sandra Rivera认为,AI领域蕴含着英特尔全新独立可编程芯片部门巨大且具有潜力的商机。这部分业务自今年初开始独立运营,并正式定名为“Altera,英特尔子公司”。英特尔计划未来两至三年内为Altera进行股票发售。
    的头像 发表于 03-01 15:06 465次阅读

    关于RZ/G2L OpenCL应用运行方法介绍

    OpenCL是Open Computing Language的简写,目前已经形成了标准,是跨平台的,通常由图形处理器(GPU)提供硬件层面支持。
    的头像 发表于 02-19 12:16 813次阅读
    关于RZ/G2L <b class='flag-5'>OpenCL</b>应用运行方法介绍

    集成电源解决方案-Altera FPGA应用介绍

    电子发烧友网站提供《集成电源解决方案-Altera FPGA应用介绍.pdf》资料免费下载
    发表于 11-28 09:21 0次下载
    集成电源解决方案-<b class='flag-5'>Altera</b> FPGA应用介绍

    FPGA入门怎样选择合适的板子?

    市面上FPGA芯片占有率较高的是xilinx,其次是altera,这两家市场占有率之和达到百分之八十以上, 具体选择哪家厂商的芯片入门呢?这两家的开发环境也有所不同,哪家的或者说是具体的哪款开发板适合初学者由浅入深得学习FPGA开发呢?
    发表于 11-17 16:42

    针对Altera的电源管理快速参考指南

    电子发烧友网站提供《针对Altera的电源管理快速参考指南.pdf》资料免费下载
    发表于 11-16 11:26 1次下载
    针对<b class='flag-5'>Altera</b>的电源管理快速参考指南