历史上的今天
返回首页

历史上的今天

今天是:2025年07月18日(星期五)

正在发生

2019年07月18日 | FPGA、可编程HPC—未来就靠你们了!

2019-07-18 来源:EEWORLD

技术名词:FPGA、HPC、触发器过滤器、Github、HLS、hls4ml、Project Catapult、HWMS、ML、DNN、GEMM、Statix

 

FPGA为高性能计算和机器学习提供了一种早期的架构专门化选项。

 

体系结构专门化是继续改进性能的一种选择,以克服摩尔定律中减缓技术步伐所带来的限制。无论是在功耗还是性能方面,使用特定于应用程序的硬件来加速应用程序或其中一部分,并允许使用更高效的硬件作为支撑。

 

https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1562925296256&di=b357536fddff367a9842ff7a8d5492d5&imgtype=0&src=http%3A%2F%2Fwww.elecfans.com%2Fuploads%2Fbaidu%2F20150511%2F1431328215576703.jpg?imageView2/2/w/550

 

考虑到为单个应用程序或工作流构建计算硬件的固有成本,这种策略不能用于所有应用程序。然而,通过将挑战组合成组,或者识别能够从加速中获益的关键工作负载或代码,很可能成为提高应用程序性能的一个重要部分。

 

一些应用程序非常适合于GPU或FPGA等技术,这些技术可以通过实现加速技术来提高性能。GPU加速或架构专业化并非新概念,一些专家预测,它们将越来越普遍地用于提高性能,并降低未来系统的能源成本。

 

劳伦斯伯克利国家实验室(Lawrence Berkeley National Laboratory)计算机体系结构小组的研究人员正在研究FPGA,通过密度函数理论编写代码来演示潜在改进的可能性。该项目名为“DFT Beyond Moore’s Law”:高性能计算未来的极端硬件专业化发展(Extreme Hardware Specialization for the Future of HPC),旨在展示在没有摩尔定律持续扩展的情况下,为高性能计算应用构建具有潜力的未来架构。

 

最终的目的是为特定于应用程序的集成电路(ASIC)而开发的计划,但最初将在FPGA上实行。虽然这个项目还在进行中,但它演示了如何在FPGA技术上实现适合高度并行执行的特定代码或代码段,FPGA技术可以补充未来的CPU或基于CPU/ GPU的计算系统。

 

寻找宇宙中的暗物质

 

欧洲核子研究中心(CERN)正在使用Xilinx FPGA加速推理和传感器预处理工作负载来搜索暗物质。该项目背后的研究人员正利用FPGA和CERN其他计算资源,以极快的速度处理大量高能粒子物理数据,以寻找宇宙起源的线索。因此这需要实时过滤传感器数据,以识别可能包含暗物质和其他物理现象存在证据的新粒子结构。

 

来自欧洲核子研究中心、费米实验室、麻省理工学院、伊利诺斯大学芝加哥分校和佛罗里达大学的物理学家和工程师组成了一个不断壮大的团队,由麻省理工学院的Philip Harris和费米实验室的Wilson研究员Nhan Tran领导。他们准备用一种灵活的方法来优化他们正在欧洲核子研究中心工作的紧凑型μ子电磁(CMS)实验的定义事件过滤器。在CMS检测器中高达150兆字节/s的高数据速率下进行实时处理事件,但是触发器过滤器算法的开发阻碍了团队进展。

 

Harris解释了这个项目背后的意义:“我们是在和几个使用微软brainwave团队的FPGA进行机器学习的工程师交谈后受到启发的,并且在Github上看到了一些使用Xilinx的Vivado HLS工具编写的非常简单的机器学习推理代码。这两者的结合让我们非常兴奋,这让我们看到了hls4ml[1]项目实现快速基于ml事件触发器的潜力。”

 

 

该团队开始开发和测试一个基于Xilinx Vivado HLS的工具流,这将缩短为CMS一级触发器创建机器学习算法所需的时间。hls4ml工具有许多可配置的参数,使用户能够为他们的应用程序定制延迟、启动间隔和资源使用权衡的空间。在团队创建hls4ml之前,物理学家必须手工创建简单的触发算法,然后工程师将用Verilog或VHDL编写FPGA程序。这是一个非常耗时的过程,可能需要几个月。

 

 

通过hls4ml提高抽象级别,物理学家可以使用Keras、TensorFlow或PyTorch等大数据行业标准开源框架执行模型优化。使用这些框架输出hls4ml产生FPGA加速固件,这种自动化大大节省了时间。Tran说:“在物理学领域,电气工程师是一种稀缺人才。我们可以让物理学家来开发算法,电气工程师来设计系统,这样我们的情况就会越快越好。因此,让物理学家更容易理解机器学习算法,这很有帮助。这就是为什么我们开始使用HLS,而不是Verilog或VHDL[2]级别的原因。现在,我们可以在一天之内在FPGA上完成从培训到测试的整个流程。”

 

Harris解释了物理学家在不知道暗物质实际是什么样子的情况下,如何利用机器学习算法来寻找暗物质,以训练神经网络。Harris说:“我们对暗物质的样子做了一个假设,并写下了一张清单,上面列出了我们对暗物质的所有预期特征。”

 

我们正在培训一个非常普通的署名。例如,暗物质,就其本质而言,会在探测器中丢失能量,因为它会直接穿过探测器。如果我们能用机器学习技术优化性能来理解缺失的能量,这也会提高我们对暗物质的敏感度。”Tran说。

 

该团队使用多层感知器神经网络,以有限的层数来满足触发器100纳秒的实时性能要求。除了人工智能推理,FPGA还提供传感器通信、数据格式化和预滤波计算所需的输入原始传感器数据,然后再进行推理驱动触发;从而加快了整个探测器的应用。

 

Tran总结了hls4ml项目的优点。“在我们的日常工作中,它真的让我们能够通过触发器在实验的各个阶段进行机器学习。”在此之前,你必须考虑一个非常具体的应用程序,并为VHDL或Verilog开发模型和固件。现在,你可以从更广泛的角度来思考如何改进物理,无论是低级别的撞击聚集在某个量热计中一直到获得完整的事件并优化特定的拓扑。它让机器学习在整个实验中更快地传播和采用。”

 

Project Catapult

 

Project Catapult是微软研究院提出的一项开创性计划,旨在提供一种可大范围提高数据中心负载性能和能源效率的开创性方案,该计划希望能通过现场可编程门阵列(FPGA)的帮助来得以实现目标。它本质上是在云中部署FPGA,将CPU连接,提供互连的可编程硅的可配置计算层。

 

 

该项目始于2010年,当时由Doug Burger和Derek Chiou领导的一个小团队开始探索其他架构和专用硬件,如GPU、FPGA和ASIC。

 

该团队开发了一个基于FPGA的云计算系统,与使用CPU或基于GPU的系统完成相同任务相比,该系统具有更高的能源效率。FPGA也提供了这种好处,同时不需要与开发自定义ASIC相关的相同级别的风险。

 

Project Catapult的董事会级架构被设计得非常灵活。FPGA可以充当本地计算加速器、内联处理器或分布式计算的远程加速器。在本地设计中,FPGA位于数据中心的顶层(ToR)网络交换机和服务器的网络接口芯片之间。网络流量通过FPGA进行路由,FPGA甚至可以对高带宽的网络流量进行行速率计算。

 

使用这种加速结构,他们可以部署分布式硬件微服务(HWMS),灵活地利用可伸缩的FPGA数量(从1个到数千个)。相反,云级别的应用程序可以利用这些微服务的可伸缩数量,而不需要了解底层硬件。通过将这种方法与部署在datacentres的近100万个Intel FPGA相结合,微软已经构建了一个类似超级计算的基础设施,它可以以令人难以置信的性能和能源效率计算特定的机器学习和深度学习算法。

 

FPGA能否在加速下一代深度神经网络方面击败GPU ?

 

在今天的大数据时代,企业和消费者被各种来源的海量数据淹没,包括商业交易、社交媒体以及传感器或机器对机器数据的信息。这些数据有多种格式,从传统数据库中的结构化数字数据到非结构化文本文档、电子邮件、视频、音频和金融交易。

 

对这些数据的有效分析是产生洞察力和驱动更好的决策制定和机器学习(ML)算法的关键,这些算法在现代数据分析中被广泛使用。深度卷积网络(DNN)作为一种特殊的ML算法,在图像分类中得到了广泛的应用。

 

当前的一代DNN,如ALEXNET和VGG,依赖于密集浮点矩阵乘法(GEMM),这种算法具有规则的并行性和较高的TFLOPS(每秒浮点运算次数),能够很好地映射到GPU功能。

 

虽然FPGA比GPU更节能(在今天的物联网市场很重要),但它们在DNN上的性能与GPU并不匹配。

 

英特尔进行的一系列测试评估了两种最新一代FPGA(英特尔的Arria TM10和statix TM10)与最新的高性能GPU (Titan X Pascal)在DNN计算上的性能。

 

由于数据并行计算具有规则的并行性和高浮点计算吞吐量,传统上DNN都使用GPU。每一代GPU都加入了更多的浮点单元、片上RAM和更高的内存带宽,以提供更多的浮点运算次数。

 

然而,由于发散等问题,具有不规则并行性的计算可能会对GPU造成挑战。此外,由于GPU只支持一组固定的本地数据类型,定制定义的数据类型可能无法有效地处理,从而导致硬件资源利用率不足和性能不理想。

 

首先,下一代FPGA集成了更多的片上RAM。其次,像HYPERFLEX这样的技术可以显著提高频率。第三,还有更多的DSP可用。第四,HBM内存技术的集成导致芯片外带宽增加,最后,下一代FPGA将使用更先进的工艺技术,如14nm CMOS。

 

 

英特尔Stratix 10 FPGA芯片拥有5000多个硬化浮点数单元(dsp),超过28MB的片上RAM (M20Ks),与高带宽内存(高达4x250GB/s/stack或1TB/s)集成,并改进了新HyperFlex技术频率,使得FP32吞吐量峰值9.2 Tflops。

 

此外,FPGA开发环境和工具集也在不断发展,支持更高抽象级别的编程,开发人员更容易访问FPGA编程。

 

英特尔最近在研究下一代DNN的各种GEMM操作。开发了用于FPGA的DNN硬件加速模板,为开发稀疏矩阵算法和自定义数据类型提供了一流的硬件支持。该模板是为了支持各种下一代DNN而开发,并且可以定制,为用户给定的DNN变体生成优化的FPGA硬件实例。

 

该模板被用于运行和评估下一代DNN的各种关键矩阵乘法操作,当前和下一代FPGA (Arria 10, Stratix 10)以及最新的高性能Titan X Pascal GPU.

 

 

本研究结果发现,与Titan X Pascal GPU相比,在pruned, Int6和二值网络学习上(pruned, Int6, and binarized)DNNs的GEMM操作上,Stratix 10 FPGA的性能分别是Titan X Pascal GPU的1.1倍、1.5倍和5.4倍。

 

这些测试还表明,Arria 10和Stratix 10 FPGA相对于Titan X GPU提供了令人满意的能源效率(TOP/sec/watt),与Titan X相比,这两种设备的能源效率都提高了3到10倍。

 

虽然GPU一直是支持DNN的无可争议的选择,但最近对两代Intel FPGA (Arria 10和Stratix 10)和最新的Titan X GPU的性能比较表明,当前DNN算法的趋势有利于FPGA,甚至FPGA可能提供更好的性能。

 

结论

 

 结果表明,Stratix 10的性能优于Titan X Pascal,功耗更少,在未来FPGA可能会成为加速DNN平台的不二选择。


[1] FPGA中的机器学习推理程序包。使用高级综合语言(HLS)创建机器学习算法的固件实现,将传统的开源机器学习包模型转换成可以为用户的用例配置的HLS 。

[2] Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。


推荐阅读

史海拾趣

Cableform Inc公司的发展小趣事

进入21世纪,电子行业迎来了快速发展的黄金时期。为了适应市场需求的变化,Cableform Inc不断加大研发投入,致力于技术创新。公司成功开发出了一系列具有自主知识产权的电磁控制产品,涵盖了从直流电机控制到高精度磁铁控制等多个领域。这些技术创新不仅提升了公司的核心竞争力,也为客户提供了更加高效、可靠的解决方案。

中电熊猫(CEC)公司的发展小趣事

随着市场竞争的加剧和技术的不断发展,中电熊猫不断调整市场布局和战略方向。公司坚持开放联合的战略思路,善于搭建平台、取长补短、实现合作共赢。同时,中电熊猫还积极关注国内外市场动态和技术趋势,不断调整和优化产品结构和服务模式。通过这些努力,中电熊猫在保持市场领先地位的同时,也为行业的可持续发展做出了积极贡献。

台湾岱恩(DAIN)公司的发展小趣事

随着市场竞争的加剧和技术的不断发展,中电熊猫不断调整市场布局和战略方向。公司坚持开放联合的战略思路,善于搭建平台、取长补短、实现合作共赢。同时,中电熊猫还积极关注国内外市场动态和技术趋势,不断调整和优化产品结构和服务模式。通过这些努力,中电熊猫在保持市场领先地位的同时,也为行业的可持续发展做出了积极贡献。

Cree(科瑞)公司的发展小趣事

2015年初,Cree曾计划将其射频产品线独立出来,并以近3.5亿美金卖给英飞凌。然而,由于某些限制原因,收购计划最终终止。面对这一变故,Cree不得不重新建立射频微波器件团队,并创立了新的品牌wolfspeed。这一举措不仅彰显了Cree的应变能力和创新精神,也为其在射频领域的发展注入了新的活力。

EQCOLOGIC公司的发展小趣事

EQCOLOGIC的创始人在一次偶然的机会中,发现了一种新型电子材料的独特性能。这种材料不仅具有优异的导电性,还具有出色的热稳定性和耐腐蚀性。他敏锐地意识到这种材料在电子行业中的巨大潜力,于是决定成立EQCOLOGIC公司,专注于这种新型电子材料的研发和应用。经过几年的努力,EQCOLOGIC成功将这种材料商业化,并凭借其独特的性能,在电子行业中崭露头角。

Electrolube公司的发展小趣事

在电子行业的激烈竞争中,Electrolube公司始终坚持以客户需求为导向,不断创新和拓展产品线。除了UVCL涂层外,公司还推出了一系列树脂、涂料和热管理解决方案的产品组合,为EV电池提供全面保护。

这些产品不仅具有优异的性能表现,而且能够满足不同客户的需求。例如,某些产品具有优异的耐高温性能,适用于高温环境下的电子设备;而另一些产品则具有出色的耐化学腐蚀性能,能够在恶劣的工作环境中保持稳定的性能。

Electrolube公司通过不断的技术创新和产品优化,成功拓展了市场份额,并在电子行业中树立了良好的品牌形象。同时,公司还积极与各大汽车制造商合作,共同推动电动汽车产业的发展。

问答坊 | AI 解惑

自适应参考信号如何设置?

N阵天线。每个阵元收到的信号为S(t)*exp(jnu),当对应的加权值为exp(-jnu)时,输出Y为N*S(t).若考虑滤噪音,采用自适应算法,参考信号是取为N*S(t).还是S(t)?盼各路大虾解答!!!1不胜感激!!!!!!!!…

查看全部问答>

两台板子如何建立PPTP通信阿??

wince下两台板子如何通过gprs modem模块建立PPTP点对点通信阿?? 希望大虾们帮助一下? …

查看全部问答>

请问怎样用通过I2C 来设置外设备

如果新加一个模块(ic比如codec)在板子上,来通过I2C来对其寄存器设置, 已经有关于此ic的i2c 的设备驱动,但是如果我想在别的驱动程序代码里面 来设置此ic 该怎么办啊,是不是用i2c_mast_send()函数?但是我不知道第一个i2client 结构的参数 该怎么去 ...…

查看全部问答>

史密斯圆图匹配问题

在史密斯圆图上,发现有几条路径可以完成阻抗匹配,具体选用哪一条路径有没有什么讲究?…

查看全部问答>

关于《全数控TI方案电源》显示器件的选择问题的投票

本方案选用的是F28035,它的功能强大,资源丰富。它有CLA,作数学运算非常在行,加上28XX CPU相当于两个CPU了。看来,给它穿件花衣服---TFT-LCD是相配的。 但是本方案中使用了9路PWM、10路ADC,已经快把它累扒下了,再控制一个需要比点阵LCD多好多 ...…

查看全部问答>

使用Cortex M3通用定时器发现一个奇怪的问题,求解!

MCU: Stellaris® LM3S608 Microcontroller编译环境: IAR Embedded Workbench 5.5问题描述:初始化3个通用定时器,均配置为32位周期性定时器,使能了定时器中断和定时器中断源  IntEnable(ulIntTimer);    TimerIntEnable(ulBa ...…

查看全部问答>

VHDL如何产生随机数

在VHDL写testbench的时候如何产生一个随机数呢,就如verilog中的random函数一样,在VHDL中有吗? 还是需要自己写伪随机数发生器,好长的代码。。。。  …

查看全部问答>

关于场效应管的疑惑

事情的起因是这样的,一个防止电压跌落的电路,主要疑惑有两点,一个是寄生二极管在mos管中所起的作用,另一个是mos管的工作和导通条件。 图中,C240不贴,R157也是不贴的,然后VCC4.35V左右,VIO3.3V,这两个都是外部提供的电压,右边磁珠那边是 ...…

查看全部问答>

请教如何看这个波特图

本帖最后由 miniko 于 2014-5-14 16:22 编辑 本人刚接触模拟电路不久,遇到一个电路,经过仿真后其波特图如下: 请前辈帮忙给分析一下电路的特性。谢谢 …

查看全部问答>

DeviceInit函数和DeviceCreat函数有什么区别

RT,对于同一个device,上述的两个函数在功能上一般会有什么区别?…

查看全部问答>