FPGA为高性能计算和机器学习提供了一种早期的架构专门化选项。体系结构专门化是继续改进性能的一种选择,以克服摩尔定律中减缓技术步伐所带来的限制。无论是在功耗还是性能方面,使用特定于应用程序的硬件来加速应用程序或其中一部分,并允许使用更高效的硬件作为支撑。
考虑到为单个应用程序或工作流构建计算硬件的固有成本,这种策略不能用于所有应用程序。然而,通过将挑战组合成组,或者识别能够从加速中获益的关键工作负载或代码,很可能成为提高应用程序性能的一个重要部分。一些应用程序非常适合于GPU或FPGA等技术,这些技术可以通过实现加速技术来提高性能。GPU加速或架构专业化并非新概念,一些专家预测,它们将越来越普遍地用于提高性能,并降低未来系统的能源成本。
最终的目的是为特定于应用程序的集成电路(ASIC)而开发的计划,但最初将在FPGA上实行。虽然这个项目还在进行中,但它演示了如何在FPGA技术上实现适合高度并行执行的特定代码或代码段,FPGA技术可以补充未来的CPU或基于CPU/ GPU的计算系统。
欧洲核子研究中心(CERN)正在使用Xilinx FPGA加速推理和传感器预处理工作负载来搜索暗物质。该项目背后的研究人员正利用FPGA和CERN其他计算资源,以极快的速度处理大量高能粒子物理数据,以寻找宇宙起源的线索。因此这需要实时过滤传感器数据,以识别可能包含暗物质和其他物理现象存在证据的新粒子结构。
Harris解释了这个项目背后的意义:“我们是在和几个使用微软brainwave团队的FPGA进行机器学习的工程师交谈后受到启发的,并且在Github上看到了一些使用Xilinx的Vivado HLS工具编写的非常简单的机器学习推理代码。这两者的结合让我们非常兴奋,这让我们看到了hls4ml[1]项目实现快速基于ml事件触发器的潜力。”
该团队开始开发和测试一个基于Xilinx Vivado HLS的工具流,这将缩短为CMS一级触发器创建机器学习算法所需的时间。hls4ml工具有许多可配置的参数,使用户能够为他们的应用程序定制延迟、启动间隔和资源使用权衡的空间。在团队创建hls4ml之前,物理学家必须手工创建简单的触发算法,然后工程师将用Verilog或VHDL编写FPGA程序。这是一个非常耗时的过程,可能需要几个月。
Harris解释了物理学家在不知道暗物质实际是什么样子的情况下,如何利用机器学习算法来寻找暗物质,以训练神经网络。Harris说:“我们对暗物质的样子做了一个假设,并写下了一张清单,上面列出了我们对暗物质的所有预期特征。”
Tran总结了hls4ml项目的优点。“在我们的日常工作中,它真的让我们能够通过触发器在实验的各个阶段进行机器学习。”在此之前,你必须考虑一个非常具体的应用程序,并为VHDL或Verilog开发模型和固件。现在,你可以从更广泛的角度来思考如何改进物理,无论是低级别的撞击聚集在某个量热计中一直到获得完整的事件并优化特定的拓扑。它让机器学习在整个实验中更快地传播和采用。”
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相结合,微软已经构建了一个类似超级计算的基础设施,它可以以令人难以置信的性能和能源效率计算特定的机器学习和深度学习算法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)