A Compilation Flow for the Generation of CNN Inference Accelerators on FPGAs
University of Toronto(多伦多大学)
我们提出了在FPGA上生成CNN推理加速器的编译流程。该流程使用TVM编译器将冻结模型转换为OpenCL内核,并使用英特尔OpenCL SDK编译为FPGA比特流。我们通过对TVM生成的基础OpenCL内核进行优化来提高生成的硬件的质量。这些优化提高了并行性,减少了内存访问延迟,提高了并发性并节省了片上资源。我们在TVM中自动执行这些优化,并通过在Intel Stratix~ 10 SX上为LeNet-5、MobileNetV 1和ResNet-34生成加速器进行评估。我们表明,优化提高了性能的生成的加速器高达846倍以上的基础加速器。优化后的加速器在CPU上的性能比TensorFlow高出4.57倍,比单线程TVM高出3.83倍,比56线程TVM仅高出0.34倍。我们优化的内核也优于通过类似方法(也使用高级合成)生成的内核,同时提供更多的功能和灵活性。然而,它的性能不如使用手动优化设计的方法。因此,我们认为我们的方法在预生产环境中非常有用,可以从提高的性能和快速原型设计中受益,实现FPGA的优势,而无需硬件设计专业知识。
2022-03-08 cs.AR cs.DC cs.LG
FeCaffe: FPGA-enabled Caffe with OpenCL for Deep Learning Training and Inference on Intel Stratix 10
Intel Corporation(英特尔公司)
近年来,深度学习和卷积神经网络(CNN)在学术和工业领域变得越来越受欢迎和重要,因为与传统方法相比,它们能够提供更好的准确性,并在分类,检测和识别领域产生更好的结果。目前,市场上有许多流行的深度学习开发框架,如Caffe,TensorFlow,Pytorch,大多数框架原生支持CPU,默认情况下将GPU视为主线加速器。FPGA设备被视为潜在的异构平台,仍然不能为流行框架中的CNN开发提供全面的支持,特别是对训练阶段。在本文中,我们首先提出了FeCaffe,即FPGA使能的Caffe,一种基于Caffe的分层软硬件设计方法,使FPGA能够支持主线深度学习开发特性,例如使用Caffe进行训练和推理。此外,本文还以经典的CNN网络为例,给出了FeCaffe的一些性能测试,并对内核执行时间进行了详细分析。最后,从FPGA内核设计、系统流水线、网络架构、用例应用、异构平台等方面提出了FeCaffe性能和效率的优化方向。实验结果表明,FeCaffe能够在CNN网络训练和推理过程中分别支持几乎所有的功能,具有高度的设计灵活性、可扩展性和可重用性,可用于深度学习开发。与之前的研究相比,我们的架构可以支持更多的网络和训练设置,当前配置可以分别为LeNet实现6.4倍和8.4倍的向前和向后平均执行时间改进。
2019-11-18 cs.DC cs.LG
Utilizing Reconfigurable Hardware Processors via Grid Services
计算网格通常由使用普通处理器(如Intel Pentium)的节点组成。现场可编程门阵列(FPGA)由于其固有的并行架构而能够非常好地执行某些计算密集型任务,通常导致数量级的加速。本文探讨了如何FPGA可以透明地暴露通过网格服务的远程使用,通过集成Proteus软件平台与Globus Toolkit 3.0。
2004-11-16 cs.AR cs.DC
A reduced-precision streaming SpMV architecture for Personalized PageRank on FPGA
稀疏矩阵向量乘法通常用于许多数据分析工作负载中,其中低延迟和高吞吐量比精确的数值收敛更有价值。FPGA提供快速的执行时间,同时通过降低精度的定点运算提供对结果精度的精确控制。在这项工作中,我们提出了一种新的流实现坐标格式(COO)稀疏矩阵向量乘法,并研究其有效性时,应用于个性化PageRank算法,在电子商务网站和社交网络的推荐系统的一个常见的构建块。我们的实现在8个不同数据集上实现了高达6倍的参考浮点FPGA架构和最先进的多线程CPU实现,同时保持了结果的数值保真度,并达到了比CPU实现高42倍的能效。
2020-09-22 cs.AR cs.DC
Computing and Compressing Electron Repulsion Integrals on FPGAs
高斯型轨道上电子排斥积分的计算是基于量子力学的原子模拟中一个具有挑战性的问题。在实际模拟中,每个时间步长可能需要计算数万亿个ERI。在这项工作中,我们调查FPGA作为加速器的ERI计算。我们在英特尔oneAPI工具流程中使用模板参数,根据轨道为256种不同的ERI四重态类创建定制设计。为了最大限度地提高数据重用率,所有中间数据都缓冲在FPGA片内存储器中,并采用定制布局。中间体的预先计算也有助于克服多维递归关系引起的数据依赖。所涉及的循环结构被部分甚至完全展开,以实现FPGA内核的高吞吐量。此外,利用任意位宽整数的有损压缩算法集成在FPGA内核中。据我们所知,这是第一个在FPGA上进行ERI计算的工作,它支持的不仅仅是最基本的四元组类。此外,ERI计算和压缩的集成是一个新奇的东西,到目前为止,CPU或GPU库甚至还没有涵盖。我们的评估表明,使用16位整数进行ERI压缩,最快的FPGA内核在一个Intel Stratix 10 GX 2800 FPGA上的性能超过10个GERIS(每秒$10 \times 10^9$ ERI),最大绝对误差约为$10^{-7}$ - $10^{-5}$ Hartree。测量的吞吐量可以准确地解释的性能模型。部署在2个FPGA上的FPGA内核,在采用相同处理技术的40个Xeon Gold 6148 CPU内核的双插槽服务器上使用广泛使用的libint参…
2023-03-23 cs.AR cs.DC cs.PF
Towards Lattice Quantum Chromodynamics on FPGA devices
在本文中,我们描述了一个单节点,双精度的现场可编程门阵列(FPGA)实现的共轭梯度算法的背景下,格量子色动力学。作为我们提案的基准,我们在三个Xilinx硬件解决方案上的4维网格上数值反演Dirac-Wilson算子:Zynq Ultrascale+评估板,Alveo U250加速器和市场上最大的设备VU 13 P设备。在我们的实现中,我们将软件/硬件部分分开,使得Dirac算子的整个乘法在硬件中执行,而算法的其余部分在主机上运行。我们发现,FPGA实现可以提供与使用当前CPU或英特尔的许多核心至强融核加速器获得的性能相当。一个可能的多节点FPGA为基础的系统进行了讨论,我们认为,节能的高性能计算(HPC)系统可以实现仅使用FPGA器件。
2019-12-04 cs.DC
SAF: Scalable Acceleration Framework for dynamic and flexible scaling of FPGAs
本文提出SAF,一个基于以太网的可扩展FPGA加速框架,支持FPGA独立热插拔和同时重配置,实验证明其显著降低了重配置时间、硬件成本、运行时间和能耗,并实现近线性性能加速。
2025-03-02 cs.DC
An OpenCL(TM) Deep Learning Accelerator on Arria 10
Intel Corporation(英特尔公司)
卷积神经网络(CNN)已经成为执行视觉任务的实用手段,特别是在图像分类领域。众所周知,FPGA能够有效地执行卷积,然而,最近在FPGA上运行CNN的努力显示出比GPU等其他设备有限的优势。由于FPGA器件上有限的外部内存带宽,FPGA上的先前方法通常是内存受限的。我们展示了一个用OpenCL(TM)编写的新架构,我们称之为深度学习加速器(DLA),它最大限度地提高了数据重用率,并最大限度地减少了外部内存带宽。此外,我们展示了如何使用Winograd变换来显着提高FPGA的性能。因此,在英特尔的Arria 10设备上运行我们的DLA时,我们可以实现1020 img/s的性能,或者在运行AlexNet CNN基准测试时达到23 img/s/W。这相当于1382 GFLOPs,比最先进的FPGA快10倍,GFLOPS高8.4倍,效率高5.8倍。此外,23 img/s/W与nVidia TitanX GPU上最知名的AlexNet实现相比具有竞争力。
2017-01-13 cs.AR cs.CV cs.DC
DLA: Compiler and FPGA Overlay for Neural Network Inference Acceleration
叠加技术在现场可编程门阵列(FPGA)中显示出了巨大的潜力,因为它们允许快速的开发周期,并消除了传统FPGA硬件设计流程的许多挑战。然而,这通常伴随着显著的性能负担,导致在实际应用中很少采用覆盖。在本文中,我们量身定制的覆盖到一个特定的应用领域,我们展示了我们如何保持其完整的可编程性,而不支付传统上与覆盖的性能开销。具体来说,我们引入了一个覆盖的深度神经网络推理只有~1%的开销,以支持控制和重编程逻辑使用轻量级超长指令字(VLIW)网络。此外,我们还实现了一个复杂的特定于领域的图形编译器,该编译器编译了Caffe或Tensorflow等深度学习语言,以轻松定位我们的覆盖。我们展示了我们的图编译器如何执行架构驱动的软件优化,以显着提高卷积神经网络和递归神经网络(CNN/RNN)的性能-与朴素的实现相比,我们展示了ResNet-101的3倍改进和长短期记忆(LSTM)单元的12倍改进。最后,我们描述了如何定制我们的硬件覆盖,并使用我们的图形编译器在英特尔Arria 10 1150上实现GoogLeNet上的约900 fps-这是同类FPGA上有史以来最快的速度。
2018-07-13 cs.AR cs.DC eess.SP
High Performance Scalable FPGA Accelerator for Deep Neural Networks
Intel Corporation(英特尔公司)
低精度是实现更高人工智能操作(AI-TOPS)的第一步。然而,子8位精度计算的算法空间是多种多样的,经常发生破坏性的变化,使FPGA成为深度神经网络推理的自然选择,在这项工作中,我们提出了一个基于FPGA的加速器,用于CNN推理加速。我们使用{ \it INT-8-2}计算(具有{ \it 8 bit}激活和{2 bit}权重),该计算最近在文献中显示出前景,并且目前没有已知的ASIC、CPU或GPU原生支持。使用基于自适应逻辑模块(ALM)的新型设计,与传统的基于DSP的设计不同,我们能够为{ \it Arria 10}实现5个AI-TOPS的高性能测量,并为{ \it Stratix 10}在0.7 TOPS/W下预测76个AI-TOPS的性能。这超过了已知的CPU,GPU性能,接近最知名的ASIC(TPU)数字,同时保留了FPGA平台对其他应用的多功能性。
2019-08-29 cs.DC cs.LG
libhclooc: Software Library Facilitating Out-of-core Implementations of Accelerator Kernels on Hybrid Computing Platforms
图形处理单元(GPU)、英特尔至强融核协处理器(PHI)和现场可编程门阵列(FPGA)等硬件加速器现在普遍存在于超大规模高性能计算(HPC)、云和大数据平台中,以促进需要高能效的工作负载的执行。它们提供了独特的接口和编程模型,因此造成了一些限制,必须解决这些限制以促进大型工作负载的执行。没有一个库提供一个统一的接口,允许程序员编写可重用的数据并行内核的核外实现,这些内核可以在不同的主流加速器(如GPU、PHI和FPGA)上高效运行。我们在本文中解决了这一不足。我们提出了一个名为libhclooc的库,它提供了一个统一的接口,方便在三种不同的主流加速器(GPU,英特尔至强Phis,FPGA)上的数据并行内核的核外实现。我们使用libhclooc API实现了核外矩阵-矩阵乘法(MMOOC),并展示了其优于供应商实现的性能。我们发现,与Nvidia K40 c GPU,Nvidia P100 PCIe GPU和Intel Xeon Phi 3120 P的最新优化实现相比,它的最大开销分别为10%,4%和8%(由于抽象)。我们还表明,使用libhclooc API减少了75%的代码行数,从而大大提高了程序员的工作效率。
2018-08-15 cs.DC
High-Performance High-Order Stencil Computation on FPGAs Using OpenCL
在本文中,我们评估的性能的FPGA高阶模板计算使用高级综合。我们表明,尽管更高的计算强度和片上存储器的要求,这样的stenomenant相比,一阶的,我们的设计技术与组合的空间和时间的阻塞仍然有效。这使我们能够达到类似的,甚至更高的,计算性能相比,一阶stenetrance。我们使用基于OpenCL的设计,除了参数化性能旋钮外,还参数化模具半径。此外,我们表明,我们的性能模型表现出相同的准确性,一阶stentenance在预测高阶的性能。在英特尔Arria 10 GX 1150设备上,对于2D和3D星形模板,我们分别实现了超过700和270 GFLOP/s的计算性能,最大模板半径为4。这些结果在现代Xeon的2D和3D支架上优于最先进的YASK框架,在2D支架上优于现代Xeon Phi,同时在3D中实现具有竞争力的性能。此外,我们的FPGA设计在几乎所有情况下都实现了更好的功率效率。
2020-02-14 cs.DC
Face Recognition with Hybrid Efficient Convolution Algorithms on FPGAs
University of Illinois Urbana-Champaign(伊利诺伊大学厄巴纳-香槟分校);T. J. Watson Research Center, IBM(IBM T.J.沃森研究中心);Inspirit IoT, Inc(英思普瑞特物联网公司)
深度卷积神经网络已经成为解决关键人工智能任务的瑞士刀。然而,由于CNN的复杂性,为延迟关键型任务部署深度CNN模型仍然具有挑战性。近年来,FPGA以其高并行处理能力和高能效成为加速深度CNN的有利器件。在这项工作中,我们探索了不同的快速卷积算法,包括Winograd和快速傅立叶变换(FFT),并找到了一个最佳策略,将它们一起应用于不同类型的卷积。我们还提出了一个优化方案,以利用新的CNN架构,如在GoogLeNet的Inception模块的并行性。我们实现了一个可配置的基于IP的人脸识别加速系统的基础上FaceNet使用高级综合。我们在Xilinx Ultrascale设备上的实现实现了与高端NVIDIA GPU相比3.75倍的延迟加速,并大大超过了以前的FPGA结果。
2018-03-23 cs.CV cs.DC
DLAU: A Scalable Deep Learning Accelerator Unit on FPGA
University of Science and Technology of China(中国科学技术大学);University of California at Santa Barbara(加州大学圣巴巴拉分校)
作为机器学习的新兴领域,深度学习在解决复杂学习问题方面表现出卓越的能力。然而,由于实际应用的需要,网络的规模变得越来越大,这对构建高性能的深度学习神经网络提出了巨大的挑战。为了在保持低功耗的同时提高性能,本文以FPGA为硬件原型,设计了一种可扩展的大规模深度学习网络加速器架构DLAU。DLAU加速器采用三个流水线处理单元来提高吞吐量,并利用瓦片技术来探索深度学习应用的局部性。在最先进的Xilinx FPGA板上的实验结果表明,与Intel Core2处理器相比,DLAU加速器能够实现高达36.1倍的加速比,功耗为234 mW。
2016-05-23 cs.DC cs.LG cs.NE
Low-power option Greeks: Efficiency-driven market risk analysis using FPGAs
定量金融是使用数学模型来分析金融市场和证券。通常需要大量的计算,一个重要的问题是新的架构在加速这些模型中可以发挥的作用。在本文中,我们探讨了加速行业标准的证券技术分析中心(STAC)的衍生品风险分析基准STAC-A2 \texttrademark{}通过移植赫斯顿随机波动率模型和Longstaff和Schwartz路径约简到Xilinx Alveo U280 FPGA,重点是效率驱动的计算。详细描述了为优化FPGA算法所采取的步骤,然后我们利用可重构架构提供的灵活性来探索数值精度和表示的选择。获得的见解然后在我们的最终性能和能源测量中得到利用,其中,与两个24核英特尔至强白金CPU相比,我们在FPGA上实现了8倍到185倍的效率改进指标。这项工作的结果不仅是一个展示案例的市场风险分析工作负载的FPGA,而且还可以应用于量化金融和计算工作负载的可重构架构更普遍的效率驱动的技术和经验教训。
2022-06-08 cs.CE cs.DC
An Automatic Mixed Software Hardware Pipeline Builder for CPU-FPGA Platforms
Graduate School of Science and Technology, Keio University(庆应义塾大学理工学部);Department of Electrical and Electronic Engineering, Imperial College London(帝国理工学院电气电子工程系)
本文提出一种自动构建CPU-FPGA混合软硬件流水线的工具链,通过动态替换二进制中的函数实现加速,无需用户干预或代码修改,实验显示可提升15.36倍性能。
2014-08-21 cs.DC cs.SY eess.SY
Deep Learning on FPGAs: Past, Present, and Future
University of Guelph(圭尔夫大学)
近年来,数据规模和可访问性的快速增长引发了人工智能算法设计理念的转变。从大量数据中自动学习可组合系统的能力,而不是手工设计算法,在计算机视觉、语音识别和自然语言处理等重要领域带来了突破性的性能。在这些领域中使用的最流行的技术类别被称为深度学习,并受到行业的极大关注。然而,这些模型需要大量的数据和计算能力来进行训练,并且受到更好的硬件加速需求的限制,以适应超出当前数据和模型大小的扩展。虽然当前的解决方案是使用图形处理单元(GPU)的集群作为通用处理器(GPGPU),但是现场可编程门阵列(FPGA)的使用提供了一种有趣的替代方案。FPGA设计工具的当前趋势使其与深度学习社区中通常采用的高级软件实践更加兼容,使构建和部署模型的人员更容易使用FPGA。由于FPGA架构是灵活的,这也可以让研究人员能够探索模型级优化,超越固定架构(如GPU)的可能性。此外,FPGA往往提供高性能功耗比,这对于对大规模基于服务器的部署或资源有限的嵌入式应用感兴趣的应用科学家来说尤其重要。这篇综述从硬件加速的角度来审视深度学习和FPGA,确定使这些技术自然契合的趋势和创新,并引发了关于FPGA如何最好地满足深度学习社区未来需求的讨论。
2016-02-13 cs.DC cs.LG stat.ML
Comprehensive Evaluation of OpenCL-based Convolutional Neural Network Accelerators in Xilinx and Altera FPGAs
Robotic and Technology of Computers Lab(机器人及计算机技术实验室);School of Electrical, Computer and Energy Engineering(电气、计算机与能源工程学院);University of Seville(塞维利亚大学);Arizona State University(亚利桑那州立大学)
深度学习极大地推进了人工智能的发展,在工业界和学术界都获得了广泛的欢迎。特别感兴趣的是卷积神经网络(CNN),它从视觉皮层的分层结构中获得灵感,形成卷积操作的深层,以及完全连接的分类器。这些深度CNN架构的硬件实现面临着内存瓶颈的挑战,这些内存瓶颈需要许多卷积和全连接层,这些层需要大量的通信来进行并行计算。基于多核CPU的解决方案由于内存墙和低并行性而证明了它们对这个问题的不足。众核GPU架构表现出卓越的性能,但它们消耗高功率,并且由于高速缓存和主内存之间的不一致性而具有内存限制。FPGA设计解决方案也在积极探索中,这些解决方案允许使用嵌入式BlockRAM实现存储层次结构。这促进了多个处理单元之间共享内存元素的并行使用,避免了数据的可复制性和不一致性。这使得FPGA成为CNN实时分类的潜在强大解决方案。Altera和Xilinx都采用GPU的OpenCL协同设计框架进行FPGA设计,作为伪自动开发解决方案。本文对Altera和Xilinx OpenCL框架的5层深度CNN进行了全面评估和比较。讨论了CNN的硬件资源、时间性能和OpenCL架构。Xilinx展示了更快的合成速度、更好的FPGA资源利用率和更紧凑的电路板。Altera提供多平台工具、成熟的设计社区和更好的执行时间。
2016-09-29 cs.CV cs.DC
Intel nGraph: An Intermediate Representation, Compiler, and Executor for Deep Learning
Intel(英特尔)
深度学习(DL)社区每年都会发布许多新颖的拓扑。在每个新拓扑上实现高性能仍然具有挑战性,因为每个拓扑都需要一定程度的手动工作。框架和硬件平台的激增使这个问题变得更加复杂。当前的方法,我们称之为“直接优化”,需要在每个框架内进行深入的更改,以提高每个硬件后端(CPU,GPU,FPGA,ASIC)的训练性能,并需要$\mathcal{O}(fp)$的努力;其中$f$是框架的数量,$p$是平台的数量。虽然针对深度学习原语的优化内核是通过英特尔深度神经网络数学内核库(MKL-DNN)等库提供的,但仍有几种受编译器启发的方法可以进一步优化性能。基于我们创建neon(GPU上的快速深度学习库)的经验,我们开发了英特尔nGraph,这是一个即将开源的C++库,可简化跨框架和硬件平台实现优化的深度学习性能。最初支持的框架包括TensorFlow,MXNet和Intel neon框架。最初的后端是英特尔架构CPU(CPU)、英特尔(R)神经网络神经网络处理器(R)(NNP)和NVIDIA GPU。当前支持的编译器优化包括高效的存储管理和数据布局抽象。在本文中,我们描述了我们的整体架构及其核心组件。在未来,我们设想将nGraph API支持扩展到更广泛的框架,硬件(包括FPGA和ASIC)和编译器优化(训练与推理优化,通过有效的子图分区进行多节点和多设备扩展,以及特定于硬件的复合操作)。
2018-01-30 cs.DC cs.LG
Systimator: A Design Space Exploration Methodology for Systolic Array based CNNs Acceleration on the FPGA-based Edge Nodes
Information Technology University(信息技术大学);Vienna University of Technology(维也纳工业大学)
基于物联网的智能应用的发展要求将人工智能算法移植到边缘计算设备。CNN构成了这些AI算法的很大一部分。基于系统阵列的CNN加速由于其允许可扩展架构的能力而被广泛提倡。然而,CNN本质上是内存和计算密集型算法,因此在资源受限的边缘计算设备上实现提出了重大挑战。内存受限的低成本FPGA设备构成了这些边缘计算设备的很大一部分。因此,当移植到这样的边缘计算设备时,设计者对于如何选择可以适合可用硬件资源的合适脉动阵列配置没有指导。在本文中,我们提出了系统,设计空间探索为基础的方法,提供了一组设计点,可以映射到目标FPGA器件的内存范围内。该方法是基于一个分析模型,制定估计所需的资源脉动阵列,假设多个数据重用模式。该方法还提供了每个候选设计点的性能估计。我们表明,Systitron提供了一个深入的分析的资源需求的脉动阵列为基础的CNN。我们提供了在Xilinx ARTIX 7 FPGA上移植基于CNN的对象检测器TINY YOLO卷积层的资源估计结果。
2019-02-08 cs.DC cs.LG eess.IV
Accelerating 128-bit Floating-Point Matrix Multiplication on FPGAs
本研究针对SDP等应用对高精度运算的需求及现有处理器支持不足的问题,在FPGA上实现了binary128精度GEMM加速,性能达90GFlops,是20线程CPU的147倍,并首次成功加速了LU分解与SDP问题。
2023-06-07 cs.AR cs.DC cs.MS
Fast Arbitrary Precision Floating Point on FPGA
需要任意精度浮点(APFP)数用于其核心计算的数值代码由基本算术运算主导,这是由于尾数位的数目的乘法的超线性复杂性。传统的基于软件的架构上的APFP计算由于缺乏本地硬件支持而变得非常昂贵,需要使用在机器字大小的块上操作的指令来仿真基本操作。在这项工作中,我们展示了如何APFP乘法编译时固定精度的操作数可以实现为深FPGA流水线与递归定义的Karatsuba分解顶部的本地DSP乘法。当将我们在Alveo U250加速器上实现的设计与运行GNU多精度浮点可靠(MPFR)库的双插槽36核Xeon节点进行比较时,我们在4.8 GOp/s的速度下实现了9.8倍的加速,对于512位乘法,在1.2 GOp/s的速度下实现了5.3倍的加速,对于1024位乘法,分别对应于超过351 x和191 x CPU内核的吞吐量。我们将此架构应用于一般的矩阵-矩阵乘法,在Xeon节点上以2.0 GOp/s的速度获得10倍的加速,相当于超过375倍的CPU内核,有效地允许单个FPGA取代小型CPU集群。由于一些数值代码对APFP的依赖性很大,例如半定规划求解器,我们希望这些收益能够转化为现实世界的加速。我们的可配置和灵活的基于HLS-based的代码提供了一个高层次的软件接口,即插即用加速,作为一个开源项目发布。
2022-04-13 cs.DC