集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 17956|回复: 61

基于NETFPGA的可重构科学计算平台

[复制链接]
lcytms 发表于 2017-10-18 09:35:54 | 显示全部楼层 |阅读模式
本帖最后由 lcytms 于 2017-10-18 09:54 编辑

基于NETFPGA的可重构科学计算平台


信息来源:http://www.eepw.com.cn/article/201706/348683.htm


1目标和背景
1.1项目目标


大规模科学问题对数学算法运算速度的追求是无止境的,因此需要探索更快速的方法。
目前基于FPGA技术的可重构高性能计算系统已经成为研究热点,把数学算法转换成硬件逻辑在FPGA中运行是一个好办法,但数学算法转换为硬件逻辑的过程复杂,而且受限于硬件电路规模,并不是所有的数学算法都适合转换为硬件逻辑。
且其存在的一个普遍的问题就是用户应用编程难度较大,且软件专用、价格昂贵。

本项目的研究目标是探索和建立图形化数学算法向硬件转换的理论方法,研究开发数学算法向硬件逻辑转换的工具,与科学计算软件相结合建立起基于FPGA阵列的科学计算平台原型。

研究目标结构流程如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-10-18 09:37:48 | 显示全部楼层
本帖最后由 lcytms 于 2017-10-18 09:54 编辑

FPGA 为各种高速算法的实现提供了一个很好的平台,但是同样引申出的问题是如何快速有效的建立这些算法。
在数学中最常用的算法表示是流程图形式,因此本研究针对如何把数学流程图算法转换成为硬件逻辑以及建立其原型系统进行研究,计划建立起一个在数学算法的建立和运算中对用户屏蔽EDA软件层,使得各种层次用户均可透明的使用FGPA计算系统,而不用关心硬件和硬件部署、接口的各个细节,实现PC-FPGA科学计算的原型系统。
 楼主| lcytms 发表于 2017-10-18 09:40:53 | 显示全部楼层
本帖最后由 lcytms 于 2017-10-18 09:42 编辑

1.2应用背景

大规模科学问题对数学算法运算速度的追求是无止境的,因此需要探索更快速的方法。
目前基于FPGA技术的可重构高性能计算系统已经成为研究热点,把数学算法转换成硬件逻辑在FPGA中运行是一个好办法,但数学算法转换为硬件逻辑的过程复杂,而且受限于硬件电路规模,并不是所有的数学算法都适合转换为硬件逻辑。
且其存在的一个普遍的问题就是用户应用编程难度较大,且软件专用、价格昂贵。

FPGA 为各种高速算法的实现提供了一个很好的平台,但是同样引申出的问题是如何快速有效的建立这些算法。
在数学中最常用的算法表示是流程图形式,因此本研究针对如何把数学流程图算法转换成为硬件逻辑以及建立其原型系统进行研究,计划建立起一个在数学算法的建立和运算中对用户屏蔽EDA软件层,使得各种层次用户均可透明的使用FGPA计算系统,而不用关心硬件和硬件部署、接口的各个细节,实现PC-FPGA科学计算的原型系统。

FPGA硬件加速能力

FPGA (现场可编程门阵列)是一种具有大规模可编程门阵列的器件,不仅具有专用集成电路(ASIC)快速的特点,更具有很好的系统实现的灵活性。
FPGA可通过开发工具实现在线编程。与CPLD (复杂可编程逻辑器件)相比, FPGA属寄存器丰富型结构,更加适合于完成时序逻辑控制。
FPGA提供大量的并行资源,在硬件中只需要几个时钟周期就可以执行完函数功能,而顺序操作的处理器则需要成百上千的时钟周期。
由于只需要很少的时钟周期,FPGA即使采用较慢的时钟,也能够提升性能。
减小时钟速率可以降低功耗,因此,FPGA协处理器的功耗效率远远大于处理器。
利用当今高性能FPGA(例如,Altera的Stratix III系列FPGA)的结构和资源优势,大量的应用软件都可以采用硬件加速协处理器,大大提升性能,如表所示。
相对于只采用处理器的应用,基于FPGA的协处理器在实际应用中运算执行速度提高了10倍,速度提高100倍也是很常见的。

FPGA硬件加速列表
注:上表来自 Altera公司.利用FPGA加速实现高性能计算 [j]电子产品世界

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-10-18 09:47:27 | 显示全部楼层
可重构计算(Reconfigurable Computing,RC),简单地说,就是利用FPGA逻辑实现计算任务。
有些文献把它称为自适应计算(Adaptive Computing),也有的文献把它称为FPGA定制计算(Custom Computing)。
可重构计算的概念早在20世纪60年代就已提出。
在通用微处理器上也运用了这一思想,如组件就是利用多路选择器来实现功能的变化,而这些组件一般与计算结构不发生直接联系。
目前,可重构计算已有较大发展,主要目标是希望通过硬件可编程,来自适应计算任务的需求,以期达到最佳性能;
而且这种硬件结构的变化,能实时地适应计算任务要求的变化。
可重构计算的底层技术是FPGA编程技术,可重构计算的优点是硬件设计的实现基于软件的灵活性,并且保持了传统的基于硬件方法的执行速度。
其体系结构可变的特点,很好地适应了实际应用中的多元化需求。
 楼主| lcytms 发表于 2017-10-18 09:50:57 | 显示全部楼层
国际现状

国际上主要有XtremeData,Nallatech,美国星桥公司和苏格兰爱丁堡大学FPGA高性能计算联盟研究类似产品。

XtremeData:(www.xtremedatainc.com
采用了多片Altera® Stratix® III FPGA,并且使用Intel QuickAssist技术,XtremeData XD2000i In-Socket加速器(ISA)展示了这一强大的1066 MHz协处理解决方案。
Stratix III FPGA的快速架构和I/O功能在这一模块中非常有效,实现了稳定的1,066 MHz FSB速率。
XD2000i模块相对于目前的GPU还具有功耗、体积、存储器误码校正编码(ECC)等优势:功耗低于60W,模块可以紧密安装在刀片外形封装中。
XD2000i模块结合了Intel Xeon 5000系列处理器和Stratix III FPGA协处理器,使客户能够使用性能最好的FSB加速器,显著降低了成本和功耗,产品更加紧凑。
XD2000i模块采用了Stratix III FPGA,在基于Intel的平台上,实现的某些算法具有优异的性能。
Intel QuickAssist技术工作台为Altera和XtremeData等公司提供了创新的协处理器解决方案开发环境。
Intel提供基于FPGA的紧耦合In-socket加速器。
将基于Stratix III FPGA的XD2000i插入到Intel Xeon处理器插槽中,使协处理器能够与存储器和主处理器实现高速链接,不需要改动电路板,从而为设计人员提供了简单的硬件集成途径。
今年第三季度将提供新版XD2000i模块,四插槽电路板通过单独的FSB处理器互联支持500K逻辑单元(LE)以及1,536个乘法器。

Nallatech:(http://www.nallatech.com
该公司一直致力于高性能FPGA计算技术的研究与开发,其解决方案包含了目前业内FPGA最成熟和先进的开发技术,在技术的领先性和应用的普遍性方面取得了一个很好的平衡。
模块化的硬件平台,提供一个由多个FPGA、内存、数模接口和串行接口组合而成的高带宽、内部连接的结构。
具体形式有PCI,VME,cPCI 和PCI-104等形式。
FUSE系统软件可以运行在包括Windows,Linux和VxWorks等操作系统的主机系统上,通过程序环境中的APIs,提供配置、控制以及和FPGA运算平台通信等功能。
提供了在主机系统和Nallatech FPGA运算平台之间进行配置,控制和通信的功能,支持最常用的操作系统和编程语言。
支持的操作系统包括Linux,Windows和VxWorks;
        FUSE APIs,包括支持DIMEtalk的APIs,支持C/C++ 和Java的APIs;
        在单个系统中支持多个FPGA平台;
        FUSE Toolbox for MATLAB提供了Matlab和FPGA硬件平台的直接接口;
        支持硬件和主机之间接口的TCL脚本语言。

美国星桥公司
星桥公司以175000-700000美元的价格销售4种型号的FPGA“超计算机”,被称为HC-62的“超计算机”的售价为350000美元,配置11个Xilinx公司生产的价格为3000美元的FPGA芯片,它每秒能够完成2000亿次浮点运算。
售价为700000美元型号的“超计算机”包含有22有个Xilinx公司的芯片,每秒能够完成4000亿次浮点运算。
另外,客户还必须购买Viva的许可证,每人每年的价格为45000美元。

苏格兰爱丁堡大学FPGA高性能计算联盟的Maxwell
Maxwell只占用了爱丁堡大学并行计算中心的两个机柜。
这一技术目前存在的问题是,编程非常困难。
导致Maxwell还很难投入商业使用。
但Maxwell已经试运行了来自石油、金融、医疗成像等行业对处理能力要求较高的应用软件。
在运行金融行业的软件时,Maxwell的速度是使用标准处理器的相似系统的2-300倍。
Maxwell采用了Xilinx的FPGA技术。
 楼主| lcytms 发表于 2017-10-18 09:52:59 | 显示全部楼层
国内现状

在基于FPGA的可重构高性能计算的研究领域,国内主要有中国科学技术大学等少数几所大学的相关教授在研究FPGA可重构计算的结构和算法,国内的FPGA可重构计算还处于起步阶段,与国际水平还有很大差距,尚无通用成品运算平台,国内主要研究现状比较见下表。
 楼主| lcytms 发表于 2017-10-18 09:57:36 | 显示全部楼层
目前一般情况下对于需要使用PC来解决一个科学计算的问题,首先会使用C、Matlab或者其他语言来实现这个算法,变成程序,程序与操作系统进行交互运行,操作系统与机器码在CPU 的物理层上运行 ,而CPU 层则是工作在硬件逻辑层之上 .
可以看到,运算工作于3个层次,如果有办法让我们的算法直接工作在硬件逻辑层,那么算法的运算速度将大大提高。

科学计算软件如Matlab、Scilab是广大科研工作者广泛使用的数学工具,科研中大量的科学计算问题都是由科学计算语言来描述的,本研究的最终目的是采用基于FPGA的可重构计算技术对科学计算软件进行加速,使其能在PC平台上完成高性能科学计算。

这项研究最核心的问题就是如何把科学计算问题转换成为硬件逻辑(可综合)。

数学算法在PC上运行和在FPGA上运行情况对比

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-10-18 10:00:23 | 显示全部楼层
随着微电子工艺水平的提高和EDA工具的进步,目前主流商用FPGA芯片的集成规模已经超过I千万等效门,而且还在按照摩尔定律增加,利用这些芯片解决问题的能力越来越强。
另一方面,随着应用要求的发展,可重构计算技术所处理问题的规模越来越大,系统也变得越来越复杂,同时对系统设计时间的要求却是越来越短,迫切需要开发和使用与此需求相适应的支持电路实时重构技术的高级设计方法和工具来充分发挥现有FPGA的能力。
目前可重构计算面临的主要问题是大量设计工作依靠手工方法完成,并要求用户掌握算法、并行计算、硬件描述语言和电路设计等大量相关知识及丰富的设计经验,设计难度很大,设计周期较长,严重制约着可重构计算技术的推广和普及。

目前国际上虽然已经有一些面向可编程芯片设计的高级工具,但基本上是借鉴ASIC设计方法,不但缺乏对实时可重构的支持,而且最后自动生成的电路往往难以满足用户较为严格的时序要求。
本研究设计的支持电路实时重构的科学计算平台为用户提供一个高级语言设计工具,降低用户的使用难度,大大加快可重构计算电路设计的速度,必将成为可重构计算技术发展的方向,因此本设计是一个极具前途的研究课题。
本系统利用FPGA的可重配置特性,计算机与FPGA运算相结合的计算装置,如果能与支持电路实时重构的编译技术相结合,将能很轻松地设计出小规模、高性能、低成本、低功耗的硬件平台,本系统探索和建立数学算法向硬件逻辑转换的理论方法,对于当前的可重构计算、高速信号处理、FPGA应用设计乃至IC 设计都有着重要意义 ,其关键的问题在于给用户提供数学算法向硬件逻辑转换的工具,以此来帮助用户更加快速的建立应用。
 楼主| lcytms 发表于 2017-10-18 10:01:06 | 显示全部楼层
研究的意义

探索和建立数学算法向硬件逻辑转换的理论方法,对于当前的可重构计算、高速信号处理、FPGA应用设计乃至IC 设计都有着重要意义 ,其关键的问题在于给用户提供数学算法向硬件逻辑转换的工具,以此来帮助用户更加快速的建立应用。
基于FPGA的可重构高性能计算将有可能大大降低对于超级计算机的需求,大量的科学计算问题将有可能提供FPGA的硬件逻辑得以实现 .
同时 ,基于FPGA的可重构高性能计算系统的硬件成本相比高性能超级计算机来说较低,更加有利于普及和推广。
 楼主| lcytms 发表于 2017-10-18 10:05:25 | 显示全部楼层
1.3研发计划

科学计算工具的研究一直是科学研究的前沿领域,其目前主要方向集中在更高性能的超级计算机构建方面,其主要是利用CPU阵列的规模优势来实现高性能。
本研究采用FPGA可重构数字电路硬件加速的方法在Scilab中实现高性能科学计算,研究使用图形化方法把数学算法转换到硬件逻辑的方法和软件,目标实现PC与FPGA相结合的科学计算系统:实现 Scilab - FPGA运算任务的协同工作 ,对于用户来说整个系统透明,用户使用Scilab/Scicos编程,硬件生成和加速工作由系统自动完成,整个系统构成一个具备硬件加速功能的科学计算平台。

基于前期开发的Scilab/Scicos-HDL软件,进一步完善,构建起配套的FPGA可重构硬件环境,建立Scilab-FPGA软硬件联合仿真运算平台,并且在其上建立大规模科学运算应用)。
开发与Scilab系统相互通信交FPGA硬件模块,实现Scilab/Scicos-HDL与FPGA硬件模块联合仿真;

在该系统上设计建立大规模科学计算应用来进行大规模矩阵运算等。
可行性:基于4年时间的前期工作,课题组已经开发出 科学计算算法(代码方式和图形化方式)转换为 硬件描述语言(支持 VHDL、Verilog、 SystemC)的软件,本项目申请所要完成的是其FPGA硬件模块和其协同工作方法有较高的可行性 。

本项目建在在充分的前期工作基础之上。项目组成员自主开发了在开源的科学计算软件上进行硬件电路算法设计和仿真的软件Scicos-HDL (2005-2010).
该项目的研究一直在中科院自动化所中法实验室和法国 INRIA的支持下进行。

目前Scicos-HDL 0.7运行在Windows平台。
具备5个硬件电路仿真库,包括50多个硬件电路仿真元件和VHDL、verilog、systemc语言编译器模块。
当前可以完成组合逻辑电路设计、时序逻辑电路设计和基本的数字信号处理,支持VHDL、verilog、SystemC 3种硬件描述语言,支持自动文档生成,并且生成的HDL代码均为可综合。
Scicos-HDL还支持与其它Open Source的EDA软件进行集成,构建完整的设计工具链。
用户在Scilab / Scicos环境下对电子电路进行高级描述,并可对自己的设计方案进行系统仿真和修正,然后通过编译生成基于VHDL的RTL级结构模型。
该模型可通过各种商业化的IC-CAD接口,最终产生对应于所描述系统的硬件平台。
使用这样的开发工具,用户在设计集成电路系统时,即使不了解硬件电路的内部细节,甚至不了解 HDL语言,也可以根据自己的需要进行电子电路的设计。
还可以使设计数字电路和数字信号处理电路的工作变得快捷,门槛更低。

Scicos-HDL元件库示例

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-4-25 10:16 , Processed in 0.085662 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表