将程序中处理负荷较大的工作分配给加速器LSI的“异构计算(Heterogeneous Computing)”将踏出崭新的一步。美国Altera公司将于2013年内开始面向普通用户提供可自动由按照异构计算标准规格“Open-CL”编写的程序生成FPGA专用电路的工具“Altera SDK forOpenCL”。

  将微处理器(CPU)、图形处理器(GPU)及信号处理器(DSP)等结合在一起,并将这些处理器当做加速器使用的环境一直在不断完善。具体而言,半导体厂商主导成立的业界团体Khronos Group制定了OpenCL标准,GPU厂商美国英伟达提供了软件开发及运行环境“CUDA”。美国英特尔也于2012年11月发布了配备众核型处理器的加速器板卡“Xeon Phi”(开发代码名:KnightsCorner)的首款产品。按照用途使用不同架构处理器的异构计算正在稳步普及。SDK for OpenCL支持的FPGA板卡如下图,Nallatech公司的产品(上)和BitWare公司的产品(下)

  

  由程序生成电路

  Altera的SDK for OpenCL与传统工具的不同之处是,用户开发的程序并不是在固定架构处理器上运行的,而是由这些程序生成FPGA上的逻辑电路。在处理能力及功耗等方面,有望获得与制作专用硬件时接近的性能。

  具体而言,可将按照OpenCL标准开发的程序中的加速器用程序(在OpenCL中称为“内核”程序)转换成FPGA上的逻辑电路,并将其作为FPGA的配置数据输出(图1)。运行时,主机端的程序会通过OpenCL用运行库,要求已被写入这些配置数据的FPGA进行内核处理。

  该工具的最大优点是,程序员可在不具备硬件设计知识的情况下生成FPGA的配置数据。使用以前提供的开发工具,也能将以C语言编写的程序转换成FPGA上的逻辑电路。但是,要让逻辑电路完成数据处理工作,需要由CPU通过某些通信接口收发数据,而且为FPGA连接外部存储器的话,还必须设置存储器控制器等。因此,程序员需要具备可设计具备各种外围电路的系统LSI的知识。

  

  图1 可自动由C语言程序生成FPGA内的电路

  使用Altera“SDK for OpenCL”的设计流程。可将根据OpenCL的规定编写的外部设备用内核程序转换成FPGA上的逻辑电路。

  追加固定的外围电路

  Altera采用的方法是未降低FPGA本身所具备的灵活性,而是提高了方便性。SDK for OpenCL可在由内核程序转换而来的逻辑电路上,自动追加用来与主机处理器通信的PCI Express接口、外部存储器控制器、内部互联等固定电路(图2)。由此,能够以最终形成系统LSI的形式输出配置数据。

  

  图2 自动追加接口电路

  只将内核程序转换成新的逻辑电路。关于用来和主机交换数据的接口电路、存储器互联电路等,均会自动追加固定电路。

  但是这样做就无法修改电路,比如使用其他接口电路,或者采用不同的互联电路等。目前支持的FPGA板卡也十分有限。可以说这套系统优先考虑的是为软件开发者创造出可以使用FPGA的条件。

  如果软件开发者预先按照OpenCL规格编好程序,就能轻松比较出“使用GPU还是FPGA作为加速器才能获得高性能”等。OpenCL消除异构计算中程序与硬件架构的依赖关系的目标正在不断实现。

  Altera公司已向参加优先体验计划的数十家企业提供了SDK for OpenCL。目前支持的是主机处理器使用x86架构CPU、以PCI Express接口与Altera公司的FPGA通信的系统。

  2013年面向普通用户提供时,Altera公司还计划使其支持集成有CPU内核“Cortex-A9”和外部接口等外围电路的“SoC FPGA”。SoC FPGA可利用Cortex-A9作为主机处理器,在FPGA区域构建加速器电路。其优点是,能够利用比PCI Express带宽大、延迟小的接口进行主机处理器和加速器电路之间的通信。

转载自:http://www.cnblogs.com/lifan3a/articles/4616040.html

揭开Altera公司支持OpenCL的设计工具的神秘面纱的更多相关文章

  1. 揭开智能配置上网(微信Airkiss)的神秘面纱

    本文介绍微信利用Airkiss技术对wifi设备进行智能配置上网的场景,并分析其实现的原理.这里再次说明,Airkiss只是用于配置上网,其跟微信硬件平台的通信流程和接入协议规范完全没有关系.一个wi ...

  2. axure快速原型设计工具

    Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面的专家能够快速创建应用软件或Web网站的线框图.流程 ...

  3. 15款优秀移动APP产品原型设计工具

    一新来小盆友问:“移动产品原型设计都用啥工具?” 答:“@#¥……&%*” 又问:“能详细说下各个工具吗?我比较一下” “……” 好吧,谁让我那么的爱分享而你又是小美女呢 ———————正文开 ...

  4. 移动周报:十款最实用的Android UI设计工具

    上一周可以说是一个不断Mark周,从最实用的Android UI设计工具.免费移动应用测试框架推荐,到HTML5开发框架等等,各种开发工具.框架精彩丰呈,看得小伙伴们是不亦乐乎.当然,还有不容错过的M ...

  5. 产品经理(PM)常用原型图设计工具

    本文转贴自:http://www.zhangping.name/2010/08/28/pm-wireframes-design-tools/ ,尽管都是一些商业软件,但对设计的确非常有帮助. 天天和产 ...

  6. Axure RP一个专业的快速原型设计工具

    Axure RP是一个专业的快速原型设计工具.Axure(发音:Ack-sure),代表美国Axure公司:RP则是Rapid Prototyping(快速原型)的缩写. Axure简要介绍 Axur ...

  7. 【Axure RP8.1】一款专业的快速原型设计工具

    Axure RP是一款专业的快速原型设计工具.Axure(发音:Ack-sure),代表美国Axure公司:RP则是Rapid Prototyping(快速原型)的缩写.Axure RP是美国Axur ...

  8. 【3D动画建模设计工具】Maxon Cinema 4D Studio for Mac 20.0

    图标 Icon   软件介绍 Description Maxon Cinema 4D Studio R20 ,是由德国公司Maxon Computer一款适用于macOS系统的3D动画建模设计工具,是 ...

  9. Axure RP for Mac(网站交互式原型设计工具)破解版安装

    1.软件简介    Axure RP 是 macOS 系统上一款最知名和最强大的原型设计工具,增加了大量新的特性,如应用多个动画,并同一时间运行一个小部件,如褪色,同时移动等,而且具有全新的图标和界面 ...

随机推荐

  1. SQL中关于where后面不能放聚合函数(如sum等)的解决办法

    我们在编写较为复杂的SQL语句的时候,常常会遇到需要将sum()放到where后面作为条件查询,事实证明这样是无法执行的,执行会报[此处不允许使用分组函数]异常. 那么如何解决呢,使用HAVING关键 ...

  2. 轻量级java开发(一)-Hibernate 安装

    1.从http://hibernate.org/orm/downloads/下载Hibernate 目前最新版是4.3.0.Final  支持JPA 2.1 support 2.解压下载的压缩文件,导 ...

  3. 从头開始学 RecyclerView(六) LayoutManager

    前言 在前面的文章中.每一个演示样例,都使用了LayoutManager,毕竟它是RecyclerView必不可少的一部分. LayoutManager,顾名思义,就是『布局管理器』. 使用例如以下代 ...

  4. js外部样式和style属性的添加移除

    在页面中,往往一个控件的外部样式或者内部样式往往不只一个,而我们只需操作其中一个样式该怎么办呢? 最开始我也不知道该怎么做,就用了最原始的方法,替换原有的样式为新的样式,这样每次都要获取原样式,找通用 ...

  5. 数据库插入数据返回当前自增主键ID值的方法

    当我们插入一条数据的时候,我们很多时候都想立刻获取当前插入的主键值返回以做它用.我们通常的做法有如下几种: 1. 先 select max(id) +1 ,然后将+1后的值作为主键插入数据库: 2. ...

  6. Voice Commands (VCD) Cortana 微软小娜示例

    Cortana 样品 您可以创建自定义功能Cortana使用Cortana技能装备或遗留的声音命令(VCD)平台. 在这里,你可以找到相关的样品: Cortana技能装备 目前Cortana技巧是建立 ...

  7. <The Art of Readable Code> 笔记二 (上)

    第2章  封装信息到名字 (Packing information into names) 2.1  use specific words GetPage() 不如 FetchPage() 和 Dow ...

  8. .NET反编译之manager,base.AutoScaleMode修复

    使用反编译软件导出项目时,出现警告:设计器无法处理第X 行的代码:this.AutoScaleMode = AutoScaleMode.Font;方法"InitializeComponent ...

  9. Linux回环接口(loop-back/loopback)

    回环接口(loop-back/loopback) Moakap整理 Loopback接口是一个虚拟网络接口,在不同的领域,其含义也大不一样. 1. TCP/IP协议栈中的loopback接口 在TCP ...

  10. SVN 快速入门!

    输入账户密码即可!