揭开Altera公司支持OpenCL的设计工具的神秘面纱
将程序中处理负荷较大的工作分配给加速器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的设计工具的神秘面纱的更多相关文章
- 揭开智能配置上网(微信Airkiss)的神秘面纱
本文介绍微信利用Airkiss技术对wifi设备进行智能配置上网的场景,并分析其实现的原理.这里再次说明,Airkiss只是用于配置上网,其跟微信硬件平台的通信流程和接入协议规范完全没有关系.一个wi ...
- axure快速原型设计工具
Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面的专家能够快速创建应用软件或Web网站的线框图.流程 ...
- 15款优秀移动APP产品原型设计工具
一新来小盆友问:“移动产品原型设计都用啥工具?” 答:“@#¥……&%*” 又问:“能详细说下各个工具吗?我比较一下” “……” 好吧,谁让我那么的爱分享而你又是小美女呢 ———————正文开 ...
- 移动周报:十款最实用的Android UI设计工具
上一周可以说是一个不断Mark周,从最实用的Android UI设计工具.免费移动应用测试框架推荐,到HTML5开发框架等等,各种开发工具.框架精彩丰呈,看得小伙伴们是不亦乐乎.当然,还有不容错过的M ...
- 产品经理(PM)常用原型图设计工具
本文转贴自:http://www.zhangping.name/2010/08/28/pm-wireframes-design-tools/ ,尽管都是一些商业软件,但对设计的确非常有帮助. 天天和产 ...
- Axure RP一个专业的快速原型设计工具
Axure RP是一个专业的快速原型设计工具.Axure(发音:Ack-sure),代表美国Axure公司:RP则是Rapid Prototyping(快速原型)的缩写. Axure简要介绍 Axur ...
- 【Axure RP8.1】一款专业的快速原型设计工具
Axure RP是一款专业的快速原型设计工具.Axure(发音:Ack-sure),代表美国Axure公司:RP则是Rapid Prototyping(快速原型)的缩写.Axure RP是美国Axur ...
- 【3D动画建模设计工具】Maxon Cinema 4D Studio for Mac 20.0
图标 Icon 软件介绍 Description Maxon Cinema 4D Studio R20 ,是由德国公司Maxon Computer一款适用于macOS系统的3D动画建模设计工具,是 ...
- Axure RP for Mac(网站交互式原型设计工具)破解版安装
1.软件简介 Axure RP 是 macOS 系统上一款最知名和最强大的原型设计工具,增加了大量新的特性,如应用多个动画,并同一时间运行一个小部件,如褪色,同时移动等,而且具有全新的图标和界面 ...
随机推荐
- Java垃圾回收精粹 — Part1
Java垃圾回收精粹分4个部分,本篇是第1部分.在第1部分里介绍了权衡点.对象生命周期以及全局暂停事件. 串行.并行.并发.CMS.G1.年轻代(Young Gen).新生代(New Gen).旧生代 ...
- JVM 图形化监控工具
1.jvmstat jvmstat是图形版的jstat,由Java 官方提供,目前最新版本为3.0. 下载地址:http://www.oracle.com/technetwork/jav ...
- 纠正jQuery获取radio选中值的写法
先看一段代码 <input type="radio" name="aaa" value="1" checked="true& ...
- C#文件系统管理【转】
目录 前言 Directory类和DirectoryInfo类 File类和FileInfo类 Path类 前言 管理文件系统主要是对计算机中文件和目录的管理,例如,读取文件信息.删除文件和读取目录信 ...
- popupWindow 用法总结 控制位置
android中的dialog,以及activiy形式的dialog均是模态对话框,对话框不消失时,不能对其他页面进行操作,也就是其他页面不能获得焦点.而PopupWindow是非模态对话框,对话框显 ...
- 百度、淘宝、腾讯三大巨头HTML页面有何高招?
众所周知用html5新增标签布局不光可以使页面更具有可读性,也能使代码更清晰规范,但是兼容性成为了首要的问题,如何解决也是问题的关键. [兼容HTML5方案] 百度贴吧,百度图片的实现: <!- ...
- springmvc+jsp引用本地图片文件
1.图片文件路径,注意图片文件夹和WEB-INFO文件夹同级 2.web.xml配置 <servlet-mapping> <servlet-name>default</s ...
- Nubia Z5S官方4.4 UI2.0音频Audio部分简单分析(也适用于其它8974/8064机型)以及降低破音出现几率的方法
转载请注明出处和网址链接: http://blog.csdn.net/syhost/article/details/31419749 此篇本是在Z5S的官方4.4内測版出来时写的, 主要是看到其在au ...
- function/bind
1.函数指针指向一类函数,这类函数的类型一样,也就是函数的返回类型和形参表一样. 2.不同的函数类型要使用不同的函数指针,才能指向它,有没有好的办法呢? 类比思考下,交换方法,对不同的类型要写不同的s ...
- UNIX网络编程读书笔记:图解TCP端口号和并发服务器
图1 TCP服务器在端口21上执行被动打开 图2 客户对服务器的 ...