面向深度学习业务的加速装置及方法制造方法及图纸

技术编号:14058579 阅读:54 留言:0更新日期:2016-11-27 11:43
本发明专利技术公开了一种面向深度学习业务的加速装置,用于对服务器中的待处理数据进行深度学习计算,包括:设置于服务器端的网卡、与所述服务器通过总线连接的计算控制模块、以及第一存储器和第二存储器;所述计算控制模块为可编程逻辑器件,包括:控制单元、数据存储单元、逻辑存储单元、以及分别与所述网卡、第一存储器和第二存储器通信的总线接口、第一通信接口和第二通信接口;所述逻辑存储单元用于存储深度学习控制逻辑;所述第一存储器用于存储网络各层的权重数据和偏置数据。利用本发明专利技术,可以有效提高计算效率,提升性能功耗比。

【技术实现步骤摘要】

本专利技术涉及电路设计领域,具体涉及一种面向深度学习业务的加速装置及方法
技术介绍
随着深度学习算法在语音识别、图像识别、自然语言理解等领域大规模成功应用,用户使用深度学习相关业务的次数和频率在逐渐增加;为了不降低用户的使用体验,企业也逐年增加深度学习相关业务响应的并发计算能力。现有的提升并发计算能力的方法主要有两种:一种是单纯增加CPU的方式,增加并发计算能力;另一种是采用CPU+GPU的异构系统,提升并发计算能力。单纯增加CPU的提升并发计算能力的方式,会随着业务的增长,线性增加CPU的数量,成本也随之成线性增长,且CPU用于用户程序的计算部件有限,如果用于深度学习计算,其CPU资源难以完全利用。采用CPU+GPU异构系统提升并发计算能力的方式,因GPU是专门为图形计算设计的处理芯片,如将其用于深度学习计算,必会导致部分资源不适配、利用不完全等问题。
技术实现思路
本专利技术提供一种面向深度学习业务的加速装置及方法,可以有效提高计算效率,提升性能功耗比。为此,本专利技术提供如下技术方案:一种面向深度学习业务的加速装置,用于对服务器中的待处理数据进行深度学习计算,包括:设置于服务器端的网卡、与所述服务器通过总线连接的计算控制模块、以及第一存储器和第二存储器;所述计算控制模块为可编程逻辑器件,包括:控制单元、数据存储单元、逻辑存储单元、以及分别与所述网卡、第一存储器和第二存储器通信的总线接口、第一通信接口和第二通信接口;所述逻辑存储单元用于存储深度学习控制逻辑;所述第一存储器用于存储网络各层的权重数据和偏置数据;在所述计算控制模块上电后,所述控制单元运行所述深度学习控制逻辑,以进行深度学习计算;在进行深度学习计算时,所述控制单元通过所述总线接口和所述网卡从所述服务器中读取待处理数据,并将所述待处理数据通过所述第二通信接口存放到第二存储器中,依照所述深度学习控制逻辑依次从第一存储器和第二存储器中获取网络当前层计算所需的数据,计算当前层的输入参数和输出参数,并将所述输出参数存储到所述第一存储器或第二存储器中;计算完成后,所述控制单元将网络输出参数通过所述总线接口传送给服务器。优选地,所述可编程逻辑器件为FPGA芯片或CPLD芯片。优选地,所述总线为PCI总线或PCI-E总线。优选地,所述第一存储器为堆叠内存,所述第二存储器为DDR SDRAM。优选地,所述待处理数据在所述第二存储器中以行主序方式存储;所述输出参数在所述第一存储器或第二存储器中以行主序方式存储;所述权重数据和偏置数据在所述第一存储器中以列主序方式存储。优选地,参与计算的所有数据采用32位全精度浮点型格式进行计算和存储。优选地,所述总线接口通过直接内存存取方式从所述网卡中读取待处理数据。一种面向深度学习业务的加速方法,包括:将网络各层的权重数据和偏置数据预先加载到第一存储器中;在进行深度学习计算时,可编程逻辑器件从服务器中读取待处理数据,并将其存放到第二存储器中;可编程逻辑器件根据预置的深度学习控制逻辑依次从第一存储器和第二存储器中获取网络当前层计算所需的数据,计算当前层的输入参数和输出参数,并将所述输出参数存储到所述第一存储器或第二存储器中;计算完成后,可编程逻辑器件将网络输出参数通过所述总线接口传送给服务器。优选地,所述待处理数据在所述第二存储器中以行主序方式存储;所述输出参数在所述第一存储器或第二存储器中以行主序方式存储;所述权重数据和偏置数据在所述第一存储器中以列主序方式存储。优选地,所述可编程逻辑器件为FPGA芯片或CPLD芯片;所述第一存储器为堆叠内存,所述第二存储器为DDR SDRAM。本专利技术实施例提供的面向深度学习业务的加速装置及方法,针对深度学习相关业务的需求,采用CPU+可编程逻辑器件的异构形式,并依据深度学习算法的特点设计可编程逻辑器件与CPU硬件结构以及可编程逻辑器件内部运行机制,使得可编程逻辑器件能将其全部电力消耗在深度学习程序计算中。与现有的单纯CPU系统或CPU+GPU系统相比,在同等的投入成本时,本专利技术方案的CPU+可编程逻辑器件的异构结构能达到更优的性能功耗比。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本专利技术实施例中DNN结构示意图;图2是本专利技术实施例面向深度学习业务的加速装置的结构框图。具体实施方式为了使本
的人员更好地理解本专利技术实施例的方案,下面结合附图和实施方式对本专利技术实施例作进一步的详细说明。为了便于对本专利技术方案的理解,下面以DNN(深度神经网络)为例,简要说明深度学习算法的计算流程。如图1所示,DNN由一个输入层、多个隐层(图中所示为6个隐层)和一个输出层组成,为一个全连接网络,输入层与第1隐层的连接权重有D*H个,隐层之间的权重各为H*H,第6隐层与输出层间的权重有H*M个。此外,隐层和输出层的每个节点还附有相应的偏置。深度学习计算流程如下:步一:初始化网络模型:从初始模型文件中读取网络的初始权重W和偏置B;步二:读取N个样本作为输入层的信号; X N × D = x 1 , 1 x 1 , 2 ... x 1 , D x 2 , 1 x 2 , 2 本文档来自技高网
...
面向深度学习业务的加速装置及方法

【技术保护点】
一种面向深度学习业务的加速装置,用于对服务器中的待处理数据进行深度学习计算,其特征在于,包括:设置于服务器端的网卡、与所述服务器通过总线连接的计算控制模块、以及第一存储器和第二存储器;所述计算控制模块为可编程逻辑器件,包括:控制单元、数据存储单元、逻辑存储单元、以及分别与所述网卡、第一存储器和第二存储器通信的总线接口、第一通信接口和第二通信接口;所述逻辑存储单元用于存储深度学习控制逻辑;所述第一存储器用于存储网络各层的权重数据和偏置数据;在所述计算控制模块上电后,所述控制单元运行所述深度学习控制逻辑,以进行深度学习计算;在进行深度学习计算时,所述控制单元通过所述总线接口和所述网卡从所述服务器中读取待处理数据,并将所述待处理数据通过所述第二通信接口存放到第二存储器中,依照所述深度学习控制逻辑依次从第一存储器和第二存储器中获取网络当前层计算所需的数据,计算当前层的输入参数和输出参数,并将所述输出参数存储到所述第一存储器或第二存储器中;计算完成后,所述控制单元将网络输出参数通过所述总线接口传送给服务器。

【技术特征摘要】
1.一种面向深度学习业务的加速装置,用于对服务器中的待处理数据进行深度学习计算,其特征在于,包括:设置于服务器端的网卡、与所述服务器通过总线连接的计算控制模块、以及第一存储器和第二存储器;所述计算控制模块为可编程逻辑器件,包括:控制单元、数据存储单元、逻辑存储单元、以及分别与所述网卡、第一存储器和第二存储器通信的总线接口、第一通信接口和第二通信接口;所述逻辑存储单元用于存储深度学习控制逻辑;所述第一存储器用于存储网络各层的权重数据和偏置数据;在所述计算控制模块上电后,所述控制单元运行所述深度学习控制逻辑,以进行深度学习计算;在进行深度学习计算时,所述控制单元通过所述总线接口和所述网卡从所述服务器中读取待处理数据,并将所述待处理数据通过所述第二通信接口存放到第二存储器中,依照所述深度学习控制逻辑依次从第一存储器和第二存储器中获取网络当前层计算所需的数据,计算当前层的输入参数和输出参数,并将所述输出参数存储到所述第一存储器或第二存储器中;计算完成后,所述控制单元将网络输出参数通过所述总线接口传送给服务器。2.根据权利要求1所述的装置,其特征在于,所述可编程逻辑器件为FPGA芯片或CPLD芯片。3.根据权利要求1所述的装置,其特征在于,所述总线为PCI总线或PCI-E总线。4.根据权利要求1所述的装置,其特征在于,所述第一存储器为堆叠内存,所述第二存储器为DDR SDRAM。5.根据权利要求1所述的装置,其...

【专利技术属性】
技术研发人员:张致江王智国于振华胡郁刘庆峰
申请(专利权)人:科大讯飞股份有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1