欢迎光临湖北鑫合欣官方网站 企业风采| 收藏本站| 公司文化| 联系我们
全国热线
18062095810

热点资讯

咨询热线:

18062095810

邮件: wangting@whhexin.com

电话:18062095810

地址: 湖北·武汉·鲁巷·华乐商务中心1006

FPGA加速深度学习-Terasic友晶DE10-Pro



对于许多行业来说,深度学习是一种颠覆性的技术,但是其计算需求却远超标准的CPU,这就使开发人员不得不考虑其他架构。然而,从轻车熟路的CPU转向到更高深莫测的设计,无疑是个不小的挑战。其实,企业未必一定要改造现有的基础设施来支持深度学习,采用CPU + FPGA的混合计算架构也不失为一种可行之策。

为什么要采用CPU + FPGA的混合计算架构,而不完全舍弃CPU呢?从性能上来讲,单个推理是顺序操作,因而大部分处理器可以有效地执行独立的深度学习推理工作。只是当推理操作以批量或大容量呈现时,CPU就很难跟上了。

此时,GPU和其他大规模并行架构就会提供串行处理的替代方案。大规模并行非常适合批量推理工作,以及训练具有大量输入数据集的深度学习模型。

当然,当涉及到顺序处理时,并行计算机通常是低效的。对于需要快速顺序推理的应用程序,例如自动驾驶汽车的计算机视觉和其他时间敏感的应用程序,GPU就提供不了最优方案了。

因而,为了满足低容量推理和大批量处理的需求,将FPGA与多核CPU进行集成的设备是一个很有吸引力的选择。FPGA在本质上是大规模并行的,所以它来执行大量的深度学习,轻而易举。另一方面,较小的顺序操作可以由CPU处理。或者,可以在FPGA和CPU之间共享工作负载,以优化神经网络的效率。

而且,基于这种异构体系结构的灵活性,开发人员可以在不必彻底检查现有计算基础结构的情况下实现这种优化。

 

 

使用FPGA加速人工智能:

内联和协同处理

 

 

 

 

为了更好地理解FPGA是如何加速深度学习的,让我们来看看它是如何与多核CPU一起作为在线和协同处理的计算元素工作的。

 

FPGA作为内联处理器时,位于CPU前面,执行数据过滤等预处理任务,然后将输出传递给后续的计算。如图1所示,在将像素发送到CPU之前,视觉系统可以使用FPGA进行内联滤波或阈值化。由于CPU只处理来自FPGA确定的感兴趣区域的像素,因此总体系统吞吐量增加了。

图1.FPGA作为一个内联处理器,在数据到达CPU之前对其进行过滤,这将有助于提高整个系统的吞吐量。

 

FPGA作为协处理器时,与CPU共享计算工作负载。其处理方式不一,可以让FPGA在将输出发送回CPU之前执行并行处理,或者让FPGA执行所有处理,以便CPU可以专注于通信和控制等任务。

继续以计算机视觉为例,图2显示了如何在具有直接内存访问(DMA)的FPGA和CPU之间分配工作负载。

图2.FPGA协处理器可以通过直接内存访问(DMA)与CPU共享工作负载,为其他任务释放CPU。(来源:国家仪器)

 

综上所述,FPGA与多核CPU的配对既能满足低容量推理和大规模批处理的需要,又能提高系统吞吐量。不过,开发人员必须能够在对现有基础设施影响最小的情况下采用这些解决方案。

 
 
 
 

 

 

 

 

新一代FPGA全面升级:

性能提升,集成灵活性高

 

 

 

 

Intel® Stratix® 10 FPGA提供了一种加速深度学习性能和与已部署系统简单集成的途径。这些FPGA集成了多达550万个逻辑元件和一个四核64位Arm Cortex-A53 CPU。它们还提供了可编程的I/O引脚,使FPGA可以很轻松地与标准的网络和计算技术接口。

在性能方面,Intel® Stratix® 10 器件采用了全新的Intel® Hyper Flex™ FPGA架构。这种架构引入了超寄存器技术,将旁路寄存器放入设备核心的每个路由段和所有功能块输入(图3)。

图3.超级寄存器在每个路由段和所有功能块输入处放置寄存器,以使时钟频率加倍。(来源:英特尔®公司)

旁路寄存器优化了FPGA结构中的数据流,这有助于芯片实现最大性能。这也正是Intel® Stratix® 10器件在功耗降低70%的情况下,仍可提供上一代FPGA两倍的时钟速度的原因。对于那些性能要求高但功率受限的应用,FPGA 的这一卓越成就无疑是期盼已久的福音!

 

在平台集成方面,Intel® Stratix® 10 FPGA器件同时支持串行和并行Flash接口。这些在网络平台中常见的内存类型对于深度学习大有裨益,因为开发人员可以在其中选择最适合其工作负载的配置。例如,Terasic DE10-Pro Stratix 10 GX/SX PCIe板就可以支持多种类型的内存应用(图4):

◽ 适用于高带宽、低延迟应用的QDR-IV内存模块

◽ 适用于低延迟内存读/写的QDR-II+内存模块

◽ DDR4适用于需要最大内存容量的应用程序

图4.Terasic DE10-Pro Stratix® 10 GX/SX PCIe板为不同的深度学习用例提供多种内存类型的支持。

 

DE10-Pro包括x16 PCIe Gen 3通道,芯片之间的数据传输速度高达128 Gbps,同时4个QSFP28连接器都支持100千兆以太网。这些接口支持巨大的数据卸载能力,以及快速的读写内存访问。在服务器或数据中心环境中,这意味着可以在计算和内存资源库之间共享工作负载,以根据需要扩展深度学习性能。

 

最后,从软件的角度来看,DE10-Pro Stratix® 10 GX/SX PCIe板支持英特尔开放式视觉推理与神经网络优化(Intel® Open Visual Inference & Neural Network Optimization)开发套件,即Intel® OpenVINO™ 开发套件。OpenVINO是一个用于异构执行架构的开发套件,它基于一个抽象了FPGA编程复杂性的通用API。

OpenVINO包含了一个函数库、内核以及对OpenCV和OpenVX的优化调用,并演示了对计算机视觉和深度学习工作负载的高达19倍的性能增强(图5)。

图5.开放式视觉推理与神经网络优化(OpenVINO™) 开发套件将显著的性能优化演示得淋漓尽致。(来源:英特尔公司)

 
 
 
 

 

 

 

 

结语

 

 

 

 

深度学习工作负载正在推动整个科技行业的创新进程,尤其是在处理器市场。目前,工业界正在研究使用为神经网络执行而设计的专用处理器来处理深度学习工作负载的新方法。

集成有多核CPU的FPGA为实现何处,何时,以及如何实现最高吞吐量的深度学习工作负载提供了灵活性和性能。它们还提供了一种面向未来需求的“前车之鉴”,适用于人工智能、下一代网络等可以通过高性能计算(HPC)解决的任何领域。