CN110046704A - 基于数据流的深度网络加速方法、装置、设备及存储介质 - Google Patents
基于数据流的深度网络加速方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110046704A CN110046704A CN201910280156.2A CN201910280156A CN110046704A CN 110046704 A CN110046704 A CN 110046704A CN 201910280156 A CN201910280156 A CN 201910280156A CN 110046704 A CN110046704 A CN 110046704A
- Authority
- CN
- China
- Prior art keywords
- data
- network
- target
- data flow
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7814—Specially adapted for real time processing, e.g. comprising hardware timers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Artificial Intelligence (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公布了提供一种基于数据流的深度网络加速方法、装置、设备及存储介质,所述方法包括:获取待处理数据所需要的目标深度网络信息;根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括预先配置的计算引擎、第一数据流存储模块以及全局数据流网络之间的配置规则;根据所述目标网络配置规则,配置得到目标数据流网络;通过所述目标数据流网络对所述待处理数据进行处理。通过数据流对深度网络进行加速,减少片外数据通信,因此没有指令空闲开销,可以提高深度网络的硬件加速效率,而且,通过进行网络配置,可以配置不同的深度网络模型,支持多种不同的深度网络模型。
Description
技术领域
本申请涉及人工智能领域,更具体的说,是涉及一种基于数据流的深度网络加速方法、装置、设备及存储介质。
背景技术
基于神经网络的深度学***台具有高处理能力。当基于CPU的平台无法满足这种不断增长的需求时,许多公司开发了专用硬件加速器来支持该领域的进步。现有的硬件加速器的共同想法是加速在深度学习算法应用中更频繁使用的某些特定类型的计算。现有的硬件架构基于具有可扩展指令集的指令执行,然后通过将常用计算实现为定制指令来实现加速。基于指令的架构实现通常表示为片上***(SoC)设计。在基于指令的体系结构中,许多时钟周期被浪费用于非计算相关操作。为了支持更通用的指令体系结构,深度学习神经网络内的计算通常被分解为多个指令。因此一个计算通常需要多个时钟周期。处理器中的算术和逻辑单元(ALU)通常是以硬件实现的不同操作的集合。由于有限的指令表达式和有限的I/O带宽,大多数ALU资源在执行单个指令时处于空闲状态,比如,在做乘法与加法时,会先读取乘法的数据,由于I/O速度受带宽影响,使得加法需要等待乘法计算完成并写入存储器中,再读取出计算结果及加法数据进行加法计算,在乘法计算与读写过程中,加法计算单元是空闲状态。因此存在基于指令的硬件加速效率低的问题。
申请内容
本申请的目的是针对上述现有技术存在的缺陷,提供一种基于数据流的深度网络加速方法、装置、设备及存储介质,解决了有限的指令表达式和有限的I/O带宽,大多数ALU资源在执行单个指令时处于空闲状态,加速效率低的问题。
本申请的目的是通过以下技术方案来实现的:
第一方面,提供一种基于数据流的深度网络加速方法,所述方法包括:
获取待处理数据所需要的目标深度网络信息;
根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括预先配置的计算引擎、第一数据流存储模块以及全局数据流网络之间的配置规则;
根据所述目标网络配置规则,配置得到目标数据流网络;
通过所述目标数据流网络对所述待处理数据进行处理。
可选的,所述根据所述目标网络配置规则,配置得到目标数据流网络,包括:
根据所述全局数据流网络,配置多个计算引擎之间的并行或串行;
根据所述第一数据流存储模块及所述多个计算引擎之间的并行或串行,得到所述多个计算引擎的数据流路径;
基于所述数据流路径,形成所述目标数据流网络。
可选的,所述通过所述目标数据流网络对所述待处理数据进行处理,包括:
将所述待处理数据读取到所述第一数据流存储模块;
在所述第一数据流存储模块中,根据所述待处理数据的数据格式以及数据路径,按预先设置的生成规则为所述待处理数据生成地址序列;
每个时钟周期,根据地址序列从所述第一数据流存储模块中读取与所述目标数据流网络中与计算引擎相应的数据量进行输入,并获取第一数据流存储模块及计算引擎的状态。
可选的,所述目标网络配置还包括计算核、第二数据流存储单元以及连接所述计算核与所述第二缓存器的局部数据流网络,所述计算引擎的配置包括:
配置所述计算核与所述局部数据流网络的互连,得到计算核的计算路径;
配置所述第二数据流在储存单元与所述局部数据流网络的互连,得到存储路径;
根据所述计算路径与存储路径,得到所述计算引擎。
第二方面,还提供一种基于数据流的深度网络加速方法,所述方法包括:
获取待处理数据所需要的目标深度网络信息;
根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括计算核、第二数据流存储模块以及局部数据流网络;
根据所述目标网络配置规则,配置得到目标数据流引擎;
通过所述目标数据流引擎对所述待处理数据进行处理。
可选的,所述根据所述目标网络配置规则,配置得到目标数据流引擎,包括:
配置所述计算核与所述局部数据流网络的互连,得到计算核的计算路径;
配置所述第二数据流储存模块与所述局部数据流网络的互连,得到存储路径;
根据所述计算路径与存储路径,得到所述目标数据流引擎。
可选的,所述通过所述目标数据流引擎对所述待处理数据进行处理,包括:
将所述待处理数据读取到所述第二数据流存储模块;
在所述第二数据流存储模块中,根据所述待处理数据的数据格式以及数据路径,按预先设置的生成规则为所述待处理数据生成地址序列;
每个时钟周期,根据地址序列从所述第二数据流存储模块中读取与所述目标数据流引擎中与计算核相应的数据量进行输入,并获取第二数据流存储模块及计算核的状态。
可选的,所述第二数据流存储模块包括第一存储单元以及第二存储单元,所述通过所述目标数据流引擎对所述待处理数据进行处理,包括:
将第一存储单元中的数据输入计算核,得到计算结果;
将所述计算结果存储到第二存储单元,做为下一计算核的输入数据。
第三方面,还提供一种基于数据流的深度网络加速装置,所述装置包括:
第一获取模块,用于获取待处理数据所需要的目标深度网络信息;
第一匹配模块,用于根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括预先配置的计算引擎、第一数据流存储模块以及全局数据流网络之间的配置规则;
第一配置模块,用于根据所述目标网络配置规则,配置得到目标数据流网络;
第一处理模块,用于通过所述目标数据流网络对所述待处理数据进行处理。
第四方面,还提供一种基于数据流的深度网络加速装置,所述装置包括:
第二获取模块,用于获取待处理数据所需要的目标深度网络信息;
第二匹配模块,用于根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括计算核、第二数据流存储模块以及局部数据流网络;
第二配置模块,用于根据所述目标网络配置规则,配置得到目标数据流引擎;
第二处理模块,用于通过所述目标数据流引擎对所述待处理数据进行处理。
第五方面,提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例提供的基于数据流的深度网络加速方法中的步骤。
第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的基于数据流的深度网络加速方法中的步骤。
本申请带来的有益效果:通过数据流对深度网络进行加速,减少片外数据通信,因此没有指令空闲开销,可以提高深度网络的硬件加速效率,而且,通过进行网络配置,可以配置不同的深度网络模型,支持多种不同的深度网络模型。
附图说明
图1为本申请实施例提供的一种基于数据流的深度网络加速方法的可选实施架构示意图;
图2是本申请实施例第一方面提供的一种基于数据流的深度网络加速方法的流程示意图;
图3是本申请实施例提供的另一种基于数据流的深度网络加速方法的流程示意图;
图4为本申请实施例第二方面提供的一种基于数据流的深度网络加速方法流程示意图;
图5为本申请实施例提供的另一种基于数据流的深度网络加速方法流程示意图;
图6为本申请实施例第三方面提供的一种基于数据流的深度网络加速装置示意图;
图7为本申请实施例第四方面提供的一种基于数据流的深度网络加速装置示意图。
具体实施方式
下面描述本申请的优选实施方式,本领域普通技术人员将能够根据下文所述用本领域的相关技术加以实现,并能更加明白本申请的创新之处和带来的益处。
为了进一步描述本申请的技术方案,请参照图1,图1为本申请实施例提供的一种基于数据流的深度网络加速方法的可选实施架构示意图,如图1所示,架构103与片外存储模块(DDR)101以及处CPU通过互连进行连接,架构103包括:第一存储模块104、全局数据流网络105以及数据流引擎106,上述第一存储模块104通过互连连接上述片外存储模块101的同时,还通过互连连接上述全局数据流网络105,上述数据流引擎106通过互连连接上述全局数据流网络105以使上述数据流引擎106可以实现并行或串行。上述的数据流引擎106可以包括:计算核(或称为计算模块)、第二存储模块108以及局部数据流网络107,计算核可以包括用于计算的内核,比如卷积核109、池化核110以及激活函数核111等,当然,还可以包括除示例卷积核109、池化核110以及激活函数核111外的其他计算核,在此并不做限定,也可以包括在深度网络中所有用于计算的内核。上述的第一存储模块104与上述的第二存储模块108可以是片上缓存模块,也可以是DDR或高速DDR存储模块等。上述的数据流引擎106可以理解为支持数据流处理的计算引擎,也可以理解为专用于数据流处理的计算引擎。上述的CPU中可以包括控制寄存器,上述控制寄存器预先配置有网络配置规则用于对网络进行配置。
需要说明的是,本申请的中深度网络也可以称为深度学习网络、深度学习神经网络等。
本申请提供了一种基于数据流的深度网络加速方法、装置、设备及存储介质。
本申请的目的是通过以下技术方案来实现的:
第一方面,请参见图2,图2是本申请实施例提供的一种基于数据流的深度网络加速方法的流程示意图,如图2所示,所述方法包括以下步骤:
201、获取待处理数据所需要的目标深度网络信息。
该步骤中,上述的待处理数据可以是图像待识别数据、目标待检测数据、目标待追踪数据等可以通过深度网络进行处理的数据,上述的目标深度网络信息对应于上述待处理数据的深度网络信息,比如待处理数据为图像待识别数据,则目标深度网络信息则是用于处理图像识别的深度网络的配置参数,又如待处理数据为目标待检测数据,则目标深度网络信息则是用于处理目标检测的深度网络的配置参数,上述的目标深度网络信息可以是预先设置的,通过待处理数据来进行匹配确定,也可以是通过手动进行选择确定,在此并不做限定。获取目标深度网络信息可以便于对深度网络进行配置,上述的深度网络信息可以包括网络类型、数据类型、层数、计算类型等。
202、根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括预先配置的计算引擎、第一数据流存储模块以及全局数据流网络之间的配置规则。
上述的目标深度网络信息中已经包含了待处理数据所需要的深度网络的网络类型、数据类型、层数、计算类型等,上述的目标网络配置规则可以是预先进行设置的,比如,可以是预先设置好的图像识别网络、目标检测网络、目标追踪网络等类型网络中的各参数规则、计算规则等,上述的参数规则可以是超参数的设置规则、权重的设置规则等,上述的计算规则可以是加法、乘法、卷积、反卷积等计算规则。上述的预先配置的计算引擎、第一数据流存储模块以及全局数据流网络之间的配置规则可以理解为计算引擎的个数以及计算引擎与全局数据流网络的连接方式,上述第一数据流与全局数据流网络之间的连接方式,上述全局数据流网络中的路由连接方式等。全局数据流网络可以由控制寄存器配置。该网络实现可以是第一数据流存储模块和计算引擎之间的路由器。当在单个架构中实例化多个计算引擎时,全局数据流网络可以被配置为向不同计算引擎发送不同数据以用于数据并行,或者通过其输入和输出将计算引擎串行链接为更长的计算管道,可以在此管道中处理更多神经网络层。
在一种可能的实施例中,上述的第一数据流存储模块可以包括输入和输出两数据流存储单元,用于数据的存取,即是输入数据流存储单元将输入数据输入到计算引擎中进行计算,计算引擎将计算结果输出到输出数据流存储单元进行存储,这样可以避免输入数据流存储单元在对计算引擎输入数据时,计算引擎的输出结果无法写入该输入数据流存储单元中,比如,计算引擎需要对输入数据流存储单元中的一个数据进行重复计算2次,在第一次计算完成后,计算引擎需要在输入数据流存储单元中读取第二次该数据,通常情况下,会等待第一次计算结果存储到输入数据流存储单元,再去读取第二次的该数据,但设置了输出数据流存储单元后,可以将第一次计算结果存储到输出数据流存储单元的同时,去读取第二次的该数据,无需进行等待,提高了数据处理的效率。
203、根据所述目标网络配置规则,配置得到目标数据流网络。
上述配置对目标网络配置规则的实现,可以是对预先配置的计算引擎、第一数据流存储模块以及全局数据流网络之间的连接关系,上述的连接关系可以包括计算引擎的连接数量,连接顺序等,可以将计算引擎通过互连与全局数据流网络进行连接,形成新的深度网络,可以根据不同的计算引擎连接数量和连接顺序,形成不同的深度网络。根据目标网络配置规则进行配置,则可以得到目标数据流网络用于处理待处理数据。由于各个计算引擎通过第一数据流存储模块进行数据读取,可以将第一数据流存储模块中的数据分别读取到不同的计算引擎中形成数据流,不需要指令集排序,所以配置好的计算引擎不会产生计算空置。
204、通过所述目标数据流网络对所述待处理数据进行处理。
上述的目标数据流网络是通过目标网络信息进行配置,也可以称为定制数据流网络,上述的目标数据流网络通过全局数据流网络将第一数据流存储模块及计算引擎进行连接以形成数据流,相较于指令集而言,无需等待上一指令的读写完成,可以实现深度网络架构下计算的高效性。
在本实施例中,获取待处理数据所需要的目标深度网络信息;根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括预先配置的计算引擎、第一数据流存储模块以及全局数据流网络之间的配置规则;根据所述目标网络配置规则,配置得到目标数据流网络;通过所述目标数据流网络对所述待处理数据进行处理。通过数据流对深度网络进行加速,减少片外数据通信,因此没有指令空闲开销,可以提高深度网络的硬件加速效率,而且,通过进行网络配置,可以配置不同的深度网络模型,支持多种不同的深度网络模型。
需要说明的是,本申请实施例提供的基于数据流的深度网络加速方法可以应用于数据流的深度网络加速的设备,例如:计算机、服务器、手机等可以进行基于数据流的深度网络加速的设备。
请参见图3,图3是本申请实施例提供的另一种基于数据流的深度网络加速方法的流程示意图,如图3所示,所述方法包括以下步骤:
301、获取待处理数据所需要的目标深度网络信息。
302、根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括预先配置的计算引擎、第一数据流存储模块以及全局数据流网络之间的配置规则。
303、根据所述全局数据流网络,配置多个计算引擎之间的并行或串行。
在该步骤中,上述的全局数据流网络可以通过路由实现,全局数据流网络可由控制寄存器进行配置,上述的控制寄存器中预先设置有相应的全局数据流网络配置规则。该网络实现为第一数据流存储模块和各个计算引擎之间的路由器,网络路由器主要功能是提供各个计算引擎间数据流的跳过路径和反馈路径。上述多个计算引擎之间的并行或串行可以是通过数据流进行配置,比如,计算引擎A与计算引擎B在全局数据流网络并行时,数据流同时流向计算引擎A以及计算引擎B,实现对数据的并行处理,计算引擎A与计算引擎B在全局数据流网络串行时,数据流可以是选在计算引擎A中进行计算,再将计算结果流向计算引擎B,在串行时,可以理解为是深度网络计算层的加深。具体的配置可以是通过全局数据流网络控制数据流向,从而实现对多个计算引擎之间的并行或串行的配置。上述配置多个计算引擎之间的并行或串行可以是通过配置全局数据流网络与多个计算引擎之间的互连得到,比如,可以是多个计算引擎按并行规则与全局数据流网络进行互连,也可以是多个计算引擎按串行规则与全局数据流网络进行互连,而第一数据流存储模块与全局数据流网络配置互连。
304、根据所述第一数据流存储模块及所述多个计算引擎之间的并行或串行,得到所述多个计算引擎的数据流路径。
在该步骤中,上述第一数据流存储模块可以是缓存、DDR或高速存取DDR,在本申请实施例中,优选为缓存,具体的,缓存中可以设置具有可控制的读写地址生成单元。取决于输入数据格式和数据路径中所需的计算,地址生成单元将生成适应的地址序列以索引缓存中的数据。上述的地址序列可以用于索引缓存中的数据输入到对应的计算引擎中,比如,计算引擎需要80个数据进行计算,则从缓存中读取80个对应地址序列的数据到该计算引擎中。另外,地址生成单元还可以通过设置计数器,使生成的地址序列具有不同的循环大小,比如,数据1、数据2、数据3的一个小循环,可提高数据的复用性,同时,也能够适应各个计算引擎数据处理的大小。通过第一数据流存储模块将数据流进行存储,并控制数据流向多个计算引擎之间的并行或串行中的各个数据节点,即是数据流路径,使得到数据处理如同流水线一般得以在计算引擎中进行处理,提高数据处理的效率。
305、基于所述数据流路径,形成所述目标数据流网络。
在该步骤中,第一数据流存储模块通过全局数据流网络将数据输入到对应的计算引擎中,计算引擎通过全局数据流网络将计算结果输出到第一数据流存储模块中,无需指令进行控制,也就没有执行单个指令时计算单元处于空闲状态的问题。
306、通过所述目标数据流网络对所述待处理数据进行处理。
该实施例中,通过第一数据流存储模块将数据流进行存储,并控制数据流向多个计算引擎之间的并行或串行中的各个数据节点,即是数据流路径,使得到数据处理如同流水线一般得以在计算引擎中进行处理,提高数据处理的效率。
可选的,所述通过所述目标数据流网络对所述待处理数据进行处理,包括:
将所述待处理数据读取到所述第一数据流存储模块;
在所述第一数据流存储模块中,根据所述待处理数据的数据格式以及数据路径,按预先设置的生成规则为所述待处理数据生成地址序列;
每个时钟周期,根据地址序列从所述第一数据流存储模块中读取与所述目标数据流网络中与计算引擎相应的数据量进行输入,并获取第一数据流存储模块及计算引擎的状态。
该实施方式中,上述第一数据流存储模块可以是缓存、DDR或高速存取DDR,在本申请实施例中,优选为缓存,具体的,可以是设置有可控制的读写地址生成单元的缓存。取决于输入数据格式和数据路径中所需的计算,地址生成单元将生成适应的地址序列以索引缓存中的数据。上述的地址序列可以用于索引缓存中的数据输入到对应的计算引擎中,比如,计算引擎需要80个数据进行计算,则从缓存中读取80个对应地址序列的数据到该计算引擎中。另外,地址生成单元还可以通过设置计数器,使生成的地址序列具有不同的循环大小,比如,数据1、数据2、数据3的一个小循环,可提高数据的复用性,同时,也能够适应各个计算引擎数据处理的大小。上述第一数据流存储模块的状态包括:数据读取准备状态以及数据写入完成状态,上述的计算引擎的状态包括计算是否完成,是否需要读取下一次计算数据等状态。可以通过在有限状态机对第一数据流存储模块中的数据进行状态监控,从而获取到第一数据流存储模块的状态,通过第一数据流存储模块的状态获取得到计算引擎的状态,比如计算结果写入到第一数据流存储模块后,可以确定计算引擎的状态为计算完毕。
每个时钟周期中,通过每个计算引擎和第一数据流存储模块的状态获取,从而可准确预计,可以通过精确的计算排期进行最大效率的硬件性能优化,进一步提高数据处理的效率。
可选的,所述目标网络配置还包括计算核、第二数据流存储单元以及连接所述计算核与所述第二缓存器的局部数据流网络,所述计算引擎的配置包括:
配置所述计算核与所述局部数据流网络的互连,得到计算核的计算路径;
配置所述第二数据流在储存单元与所述局部数据流网络的互连,得到存储路径;
根据所述计算路径与存储路径,得到所述计算引擎。
在该实施方式中,上述的计算核、第二数据流存储模块以及局部数据流网络是组成计算引擎的主要配置,上述的计算核可以是卷积核、池化核、激活函数核等具有计算性能的内核,另外,需要说明的是,计算核也可以称为计算内核、计算单元、计算模块等。上述的第二数据流存储模块可以是缓存、DDR或高速DDR等具有数据存取功能的存储模块,上述的第二数据流存储模块与第一数据流存储模块可以是在同一个存储器上的不同存储区域,比如,第二数据流存储模块可以是缓存器中的第二数据缓存区,第一数据流存储模块可以是缓存器中的第一数据缓存区等,上述的局部数据流网络可以理解为计算引擎中用于将计算核与第二数据流存储模块进行连接的路由。比如,计算核之间的连接可以由网络路由器控制。上述网络路由器主要功能是提供跳过路径和反馈路径。通过设置控制寄存器,可以将局部数据流网络配置为形成具有计算引擎中可用的不同计算核的流路径。沿着流路径的这些计算核的类型和顺序的组合为深度学习神经网络中的多个层提供连续的数据处理流水线,比如,按数据流向,若计算核的组合是卷积核到池化核到激活函数核,可以得到一个卷积神经网络层,又如,计算核的组合是反卷积核到池化核到激活函数核,可以得到一个反卷积神经网络层等。需要说明的是,计算核的类型和顺序的组合具体由目标网络配置规则进行确定。通过在计算核之间形成数据流,可以对计算引擎的计算进行加速,从而进一步提高深度网络的数据处理效率。
上述的可选实施方式,可以现实图2和图3对应实施例的基于数据流的深度网络加速方法,达到相同的效果,在此不再赘述。
第二方面,请参见图4,图4为本申请实施例提供的一种基于数据流的深度网络加速方法流程示意图,如图4所示,所述方法包括:
401、获取待处理数据所需要的目标深度网络信息。
该步骤中,上述的待处理数据可以是图像待识别数据、目标待检测数据、目标待追踪数据等可以通过深度网络进行处理的数据,上述的目标深度网络信息对应于上述待处理数据的深度网络信息,比如待处理数据为图像待识别数据,则目标深度网络信息则是用于处理图像识别的深度网络的配置参数,又如待处理数据为目标待检测数据,则目标深度网络信息则是用于处理目标检测的深度网络的配置参数,上述的目标深度网络信息可以是预先设置的,通过待处理数据来进行匹配确定,也可以是通过手动进行选择确定,在此并不做限定。获取目标深度网络信息可以便于对深度网络进行配置,上述的深度网络信息可以包括网络类型、数据类型、层数、计算类型等。
402、根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括计算核、第二数据流存储模块以及局部数据流网络。
上述的目标深度网络信息中已经包含了待处理数据所需要的深度网络的网络类型、数据类型、层数、计算类型等,上述的目标网络配置规则可以是预先进行设置的,比如,可以是预先设置好的图像识别网络、目标检测网络、目标追踪网络等类型网络中的各参数规则、计算规则等,上述的参数规则可以是超参数的设置规则、权重的设置规则等,上述的计算规则可以是加法、乘法、卷积、反卷积等计算规则。上述的计算核、第二数据流存储模块以及局部数据流网络之间的配置规则可以理解为计算核的类型、个数以及计算核与全局数据流网络的连接方式,上述第二数据流与全局数据流网络之间的连接方式,上述局部数据流网络中的路由连接方式等。局部数据流网络可以由控制寄存器配置。该网络实现可以是第一数据流存储模块和计算引擎之间的路由器。比如,计算核之间的连接可以由网络路由器控制。上述网络路由器主要功能是提供跳过路径和反馈路径。
403、根据所述目标网络配置规则,配置得到目标数据流引擎。
上述配置对目标网络配置规则的实现,可以是对预先配置的计算核、第二数据流存储模块以及局部数据流网络之间的连接关系,上述的连接关系可以包括计算核的类型,连接数量,连接顺序等,可以将计算核通过互连与局部数据流网络进行连接,形成新的计算引擎,即是数据流引擎,可以根据不同的计算核类型,连接数量和连接顺序,形成不同的深度网络所需要的数据流引擎。根据目标网络配置规则进行配置,则可以得到目标数据流引擎用于处理待处理数据。由于各个计算核通过第二数据流存储模块进行数据读取,可以将第二数据流存储模块中的数据分别读取到不同的计算核中形成数据流,比如,将需要进行乘法的数据读取到乘法核中进行乘法计算,将需要进行加法的数据读取到加法核中进行加法计算等,由于数据流不需要指令集排序,所以配置好的数据流引擎不会产生计算空置。
404、通过所述目标数据流引擎对所述待处理数据进行处理。
上述的目标数据流引擎是通过目标网络信息进行配置,也可以称为定制数据流引擎,上述的目标数据流引擎通过局部数据流网络将第二数据流存储模块及各计算核进行连接以形成数据流,相较于指令集的实现形式而言,无需等待上一指令的读写完成,可以实现深度网络架构下计算的高效性。
在本实施例中,获取待处理数据所需要的目标深度网络信息;根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括计算核、第二数据流存储模块以及局部数据流网络;根据所述目标网络配置规则,配置得到目标数据流引擎;通过所述目标数据流引擎对所述待处理数据进行处理。通过数据流对深度网络进行加速,减少片外数据通信,因此没有指令空闲开销,可以提高深度网络的硬件加速效率,而且,通过进行网络配置,可以配置不同的深度网络模型所需要的计算引擎,支持多种不同的深度网络模型所需要的计算引擎。
请参见图5,图5为本申请实施例提供的另一种基于数据流的深度网络加速方法流程示意图,如图5所示,所述方法包括:
501、获取待处理数据所需要的目标深度网络信息;
502、根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括计算核、第二数据流存储模块以及局部数据流网络;
503、配置所述计算核与所述局部数据流网络的互连,得到计算核的计算路径;
504、配置所述第二数据流储存模块与所述局部数据流网络的互连,得到存储路径;
505、根据所述计算路径与存储路径,得到所述目标数据流引擎。
506、通过所述目标数据流引擎对所述待处理数据进行处理。
在该实施例中,上述的计算核、第二数据流存储模块以及局部数据流网络是组成数据流引擎的主要配置,上述的计算核可以是卷积核、池化核、激活函数核等具有计算性能的内核,另外,需要说明的是,计算核也可以称为计算内核、计算单元、计算模块等。上述的第二数据流存储模块可以是缓存、DDR或高速DDR等具有数据存取功能的存储模块,上述的第二数据流存储模块与第一数据流存储模块可以是在同一个存储器上的不同存储区域,比如,第二数据流存储模块可以是缓存器中的第二数据缓存区,第一数据流存储模块可以是缓存器中的第一数据缓存区等,上述的局部数据流网络可以理解为计算引擎中用于将计算核与第二数据流存储模块进行连接的路由。比如,计算核之间的连接可以由网络路由器控制。上述网络路由器主要功能是提供跳过路径和反馈路径。通过设置控制寄存器,可以将局部数据流网络配置为形成具有计算引擎中可用的不同计算核的流路径。沿着流路径的这些计算核的类型和顺序的组合为深度学习神经网络中的多个层提供连续的数据处理流水线,比如,按数据流向,若计算核的组合是卷积核到池化核到激活函数核,可以得到一个卷积神经网络层,又如,计算核的组合是反卷积核到池化核到激活函数核,可以得到一个反卷积神经网络层等。需要说明的是,计算核的类型和顺序的组合具体由目标网络配置规则进行确定。
通过在计算核之间形成数据流,可以对计算引擎的计算进行加速,从而进一步提高深度网络的数据处理效率。
可选的,所述通过所述目标数据流引擎对所述待处理数据进行处理,包括:
将所述待处理数据读取到所述第二数据流存储模块;
在所述第二数据流存储模块中,根据所述待处理数据的数据格式以及数据路径,按预先设置的生成规则为所述待处理数据生成地址序列;
每个时钟周期,根据地址序列从所述第二数据流存储模块中读取与所述目标数据流引擎中与计算核相应的数据量进行输入,并获取第二数据流存储模块及计算核的状态。
该实施方式中,上述第二数据流存储模块可以是缓存、DDR或高速存取DDR,在本申请实施例中,优选为缓存,具体的,可以是设置有可控制的读写地址生成单元的缓存。取决于输入数据格式和数据路径中所需的计算,地址生成单元将生成适应的地址序列以索引缓存中的数据。上述的地址序列可以用于索引缓存中的数据输入到对应的计算核中,比如,计算核需要80个数据进行计算,则从缓存中读取80个对应地址序列的数据到该计算核中。另外,地址生成单元还可以通过设置计数器,使生成的地址序列具有不同的循环大小,比如,数据1、数据2、数据3的一个小循环,可提高数据的复用性,同时,也能够适应各个计算核数据处理的大小。上述第二数据流存储模块的状态包括:数据读取准备状态以及数据写入完成状态,上述的计算核的状态包括计算是否完成,是否需要读取下一次计算数据等状态。可以通过在有限状态机对第一数据流存储模块中的数据进行状态监控,从而获取到第一数据流存储模块的状态,通过第二数据流存储模块的状态获取得到计算核的状态,比如计算结果写入到第二数据流存储模块后,可以确定计算核的状态为计算完毕。
每个时钟周期中,通过每个计算核和第二数据流存储模块的状态获取,从而可准确预计,可以通过精确的计算排期进行最大效率的硬件性能优化,进一步提高数据处理的效率。
可选的,所述第二数据流存储模块包括第一存储单元以及第二存储单元,所述通过所述目标数据流引擎对所述待处理数据进行处理,包括:
将第一存储单元中的数据输入计算核,得到计算结果;
将所述计算结果存储到第二存储单元,做为下一计算核的输入数据。
该实施方式中,上述的第一存储单元可以是输入数据流存储单元,上述的第二存储单元可以是输入数据流存储单元,第一存储单元与第二存储单元用于数据流的交替存取,即是第一存储单元将输入数据输入到计算核中进行计算,计算核将计算结果输出到第二存储单元进行存储,这样可以避免第一存储单元在对计算核输入数据时,计算核的输出结果无法写入该第一存储单元中,比如,计算核需要对膝盖骨存储单元中的一个数据进行重复计算2次,在第一次计算完成后,计算核需要在第一存储单元中第二次读取该数据,通常情况下,会等待第一次计算结果存储到第一存储单元,再去读取第二次的该数据,但设置了疆存储单元后,可以在将第一次计算结果存储到第二存储单元的同时,去第一存储单元中读取第二次的该数据,无需进行等待,提高了数据处理的效率。
上述的可选实施方式,可以现实图4和图5对应实施例的基于数据流的深度网络加速方法,达到相同的效果,在此不再赘述。需要说明的是,上述各个实施方式也可以与图2和图3实施例进行结合。
第三方面,请参照图6,图6为本申请实施例提供的一种基于数据流的深度网络加速装置示意图,如图6所示,所述装置包括:
第一获取模块601,用于获取待处理数据所需要的目标深度网络信息;
第一匹配模块602,用于根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括预先配置的计算引擎、第一数据流存储模块以及全局数据流网络之间的配置规则;
第一配置模块603,用于根据所述目标网络配置规则,配置得到目标数据流网络;
第一处理模块604,用于通过所述目标数据流网络对所述待处理数据进行处理。
可选的,所述第一配置模块603包括:
全局配置子模块,用于根据所述全局数据流网络,配置多个计算引擎之间的并行或串行;
路径配置子模块,用于根据所述第一数据流存储模块及所述多个计算引擎之间的并行或串行,得到所述多个计算引擎的数据流路径;
形成子模块,用于基于所述数据流路径,形成所述目标数据流网络。
可选的,第一处理模块604包括:
第一获取子模块,用于将所述待处理数据读取到所述第一数据流存储模块;
第一数据地址生成子模块,用于在所述第一数据流存储模块中,根据所述待处理数据的数据格式以及数据路径,按预先设置的生成规则为所述待处理数据生成地址序列;
第一输入子模块,用于每个时钟周期,根据地址序列从所述第一数据流存储模块中读取与所述目标数据流网络中与计算引擎相应的数据量进行输入,并获取第一数据流存储模块及计算引擎的状态。
可选的,所述目标网络配置还包括计算核、第二数据流存储单元以及连接所述计算核与所述第二缓存器的局部数据流网络,所述第一配置模块603还包括:
第一局部配置子模块,用于配置所述计算核与所述局部数据流网络的互连,得到计算核的计算路径;
第一局部路径子模块,用于配置所述第二数据流在储存单元与所述局部数据流网络的互连,得到存储路径;
第一引擎模块,用于根据所述计算路径与存储路径,得到所述计算引擎。
第四方面,请参照图7,图7为本申请实施例提供的一种基于数据流的深度网络加速装置示意图,如图7所示,所述装置包括:
第二获取模块701,用于获取待处理数据所需要的目标深度网络信息;
第二匹配模块702,用于根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括计算核、第二数据流存储模块以及局部数据流网络;
第二配置模块703,用于根据所述目标网络配置规则,配置得到目标数据流引擎;
第二处理模块704,用于通过所述目标数据流引擎对所述待处理数据进行处理。
可选的,所述第二配置模块703包括:
第二局部配置子模块,用于配置所述计算核与所述局部数据流网络的互连,得到计算核的计算路径;
第二局部路径子模块,用于配置所述第二数据流储存模块与所述局部数据流网络的互连,得到存储路径;
第二引擎模块,用于根据所述计算路径与存储路径,得到所述目标数据流引擎。
可选的,所述第二处理模块704包括:
第二获取子模块,用于将所述待处理数据读取到所述第二数据流存储模块;
第二数据地址生成子模块,用于在所述第二数据流存储模块中,根据所述待处理数据的数据格式以及数据路径,按预先设置的生成规则为所述待处理数据生成地址序列;
第二输入子模块,用于每个时钟周期,根据地址序列从所述第二数据流存储模块中读取与所述目标数据流引擎中与计算核相应的数据量进行输入,并获取第二数据流存储模块及计算核的状态。
可选的,所述第二处理模块704包括:
输入计算子模块,用于将第一存储单元中的数据输入计算核,得到计算结果;
输出存储子模块,用于将所述计算结果存储到第二存储单元,做为下一计算核的输入数据。
第五方面,本申请实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例提供的基于数据流的深度网络加速方法中的步骤。
第六方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的基于数据流的深度网络加速方法中的步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的
另外,在本申请各个实施例中的处理器、芯片可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上硬件集成在一个单元中。计算机可读存储介质或计算机可读程序可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上内容是结合具体的优选实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施方式只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本申请的保护范围。
Claims (12)
1.一种基于数据流的深度网络加速方法,其特征在于,所述方法包括:
获取待处理数据所需要的目标深度网络信息;
根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括预先配置的计算引擎、第一数据流存储模块以及全局数据流网络之间的配置规则;
根据所述目标网络配置规则,配置得到目标数据流网络;
通过所述目标数据流网络对所述待处理数据进行处理。
2.如权利要求1所述的方法,其特征在于,所述根据所述目标网络配置规则,配置得到目标数据流网络,包括:
根据所述全局数据流网络,配置多个计算引擎之间的并行或串行;
根据所述第一数据流存储模块及所述多个计算引擎之间的并行或串行,得到所述多个计算引擎的数据流路径;
基于所述数据流路径,形成所述目标数据流网络。
3.如权利要求1所述的方法,其特征在于,所述通过所述目标数据流网络对所述待处理数据进行处理,包括:
将所述待处理数据读取到所述第一数据流存储模块;
在所述第一数据流存储模块中,根据所述待处理数据的数据格式以及数据路径,按预先设置的生成规则为所述待处理数据生成地址序列;
每个时钟周期,根据地址序列从所述第一数据流存储模块中读取与所述目标数据流网络中与计算引擎相应的数据量进行输入,并获取第一数据流存储模块及计算引擎的状态。
4.如权利要求1至3中任一所述的方法,其特征在于,所述目标网络配置还包括计算核、第二数据流存储单元以及连接所述计算核与所述第二缓存器的局部数据流网络,所述计算引擎的配置包括:
配置所述计算核与所述局部数据流网络的互连,得到计算核的计算路径;
配置所述第二数据流在储存模块与所述局部数据流网络的互连,得到存储路径;
根据所述计算路径与存储路径,得到所述计算引擎。
5.一种基于数据流的深度网络加速方法,其特征在于,所述方法包括:
获取待处理数据所需要的目标深度网络信息;
根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括计算核、第二数据流存储模块以及局部数据流网络;
根据所述目标网络配置规则,配置得到目标数据流引擎;
通过所述目标数据流引擎对所述待处理数据进行处理。
6.如权利要求5中所述的方法,其特征在于,所述根据所述目标网络配置规则,配置得到目标数据流引擎,包括:
配置所述计算核与所述局部数据流网络的互连,得到计算核的计算路径;
配置所述第二数据流在储存单元与所述局部数据流网络的互连,得到存储路径;
根据所述计算路径与存储路径,得到所述目标数据流引擎。
7.如权利要求5中所述的方法,其特征在于,所述通过所述目标数据流引擎对所述待处理数据进行处理,包括:
将所述待处理数据读取到所述第二数据流存储模块;
在所述第二数据流存储模块中,根据所述待处理数据的数据格式以及数据路径,按预先设置的生成规则为所述待处理数据生成地址序列;
每个时钟周期,根据地址序列从所述第二数据流存储模块中读取与所述目标数据流引擎中与计算核相应的数据量进行输入,并获取第二数据流存储模块及计算核的状态。
8.如权利要求5至7中任一所述的方法,其特征在于,所述第二数据流存储模块包括第一存储单元以及第二存储单元,所述通过所述目标数据流引擎对所述待处理数据进行处理,包括:
将第一存储单元中的数据输入计算核,得到计算结果;
将所述计算结果存储到第二存储单元,做为下一计算核的输入数据。
9.一种基于数据流的深度网络加速装置,其特征在于,所述装置包括:
第一获取模块,用于获取待处理数据所需要的目标深度网络信息;
第一匹配模块,用于根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括预先配置的计算引擎、第一数据流存储模块以及全局数据流网络之间的配置规则;
第一配置模块,用于根据所述目标网络配置规则,配置得到目标数据流网络;
第一处理模块,用于通过所述目标数据流网络对所述待处理数据进行处理。
10.一种基于数据流的深度网络加速装置,其特征在于,所述装置包括:
第二获取模块,用于获取待处理数据所需要的目标深度网络信息;
第二匹配模块,用于根据所述目标深度网络信息,匹配预先设置的与所述目标深度网络信息对应的目标网络配置规则,其中,所述目标网络配置规则包括计算核、第二数据流存储模块以及局部数据流网络;
第二配置模块,用于根据所述目标网络配置规则,配置得到目标数据流引擎;
第二处理模块,用于通过所述目标数据流引擎对所述待处理数据进行处理。
11.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的基于数据流的深度网络加速方法中的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的基于数据流的深度网络加速方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910280156.2A CN110046704B (zh) | 2019-04-09 | 2019-04-09 | 基于数据流的深度网络加速方法、装置、设备及存储介质 |
PCT/CN2019/082101 WO2020206637A1 (zh) | 2019-04-09 | 2019-04-10 | 基于数据流的深度网络加速方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910280156.2A CN110046704B (zh) | 2019-04-09 | 2019-04-09 | 基于数据流的深度网络加速方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110046704A true CN110046704A (zh) | 2019-07-23 |
CN110046704B CN110046704B (zh) | 2022-11-08 |
Family
ID=67276511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910280156.2A Active CN110046704B (zh) | 2019-04-09 | 2019-04-09 | 基于数据流的深度网络加速方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110046704B (zh) |
WO (1) | WO2020206637A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404770A (zh) * | 2020-02-29 | 2020-07-10 | 华为技术有限公司 | 网络设备、数据处理方法、装置、***及可读存储介质 |
CN111753994A (zh) * | 2020-06-22 | 2020-10-09 | 深圳鲲云信息科技有限公司 | Ai芯片的数据处理方法、装置和计算机设备 |
CN111752887A (zh) * | 2020-06-22 | 2020-10-09 | 深圳鲲云信息科技有限公司 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
CN111857989A (zh) * | 2020-06-22 | 2020-10-30 | 深圳鲲云信息科技有限公司 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
WO2021068244A1 (zh) * | 2019-10-12 | 2021-04-15 | 深圳鲲云信息科技有限公司 | 本地数据流加速方法、数据流加速***及计算机设备 |
CN112840284A (zh) * | 2019-08-13 | 2021-05-25 | 深圳鲲云信息科技有限公司 | 基于数据流的自动驾驶方法、装置、电子设备及存储介质 |
CN112905525A (zh) * | 2019-11-19 | 2021-06-04 | 中科寒武纪科技股份有限公司 | 控制运算装置进行计算的方法及设备 |
CN114021708A (zh) * | 2021-09-30 | 2022-02-08 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法、装置、***、电子设备及存储介质 |
WO2022028224A1 (zh) * | 2020-08-03 | 2022-02-10 | 深圳鲲云信息科技有限公司 | 数据存储方法、装置、设备和存储介质 |
CN114461978A (zh) * | 2022-04-13 | 2022-05-10 | 苏州浪潮智能科技有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN116974654A (zh) * | 2023-09-21 | 2023-10-31 | 浙江大华技术股份有限公司 | 一种图像数据的处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066239A (zh) * | 2017-03-01 | 2017-08-18 | 智擎信息***(上海)有限公司 | 一种实现卷积神经网络前向计算的硬件结构 |
US20170316312A1 (en) * | 2016-05-02 | 2017-11-02 | Cavium, Inc. | Systems and methods for deep learning processor |
US20180189638A1 (en) * | 2016-12-31 | 2018-07-05 | Intel Corporation | Hardware accelerator template and design framework for implementing recurrent neural networks |
CN108268943A (zh) * | 2017-01-04 | 2018-07-10 | 意法半导体股份有限公司 | 硬件加速器引擎 |
CN108710941A (zh) * | 2018-04-11 | 2018-10-26 | 杭州菲数科技有限公司 | 用于电子设备的神经网络模型的硬加速方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9185093B2 (en) * | 2012-10-16 | 2015-11-10 | Mcafee, Inc. | System and method for correlating network information with subscriber information in a mobile network environment |
CN106447034B (zh) * | 2016-10-27 | 2019-07-30 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN108154165B (zh) * | 2017-11-20 | 2021-12-07 | 华南师范大学 | 基于大数据与深度学习的婚恋对象匹配数据处理方法、装置、计算机设备和存储介质 |
CN109445935B (zh) * | 2018-10-10 | 2021-08-10 | 杭州电子科技大学 | 云计算环境下一种高性能大数据分析***自适应配置方法 |
-
2019
- 2019-04-09 CN CN201910280156.2A patent/CN110046704B/zh active Active
- 2019-04-10 WO PCT/CN2019/082101 patent/WO2020206637A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170316312A1 (en) * | 2016-05-02 | 2017-11-02 | Cavium, Inc. | Systems and methods for deep learning processor |
US20180189638A1 (en) * | 2016-12-31 | 2018-07-05 | Intel Corporation | Hardware accelerator template and design framework for implementing recurrent neural networks |
CN108268943A (zh) * | 2017-01-04 | 2018-07-10 | 意法半导体股份有限公司 | 硬件加速器引擎 |
CN107066239A (zh) * | 2017-03-01 | 2017-08-18 | 智擎信息***(上海)有限公司 | 一种实现卷积神经网络前向计算的硬件结构 |
CN108710941A (zh) * | 2018-04-11 | 2018-10-26 | 杭州菲数科技有限公司 | 用于电子设备的神经网络模型的硬加速方法和装置 |
Non-Patent Citations (3)
Title |
---|
AHMAD SHAWAHNA 等: "FPGA-Based Accelerators of Deep Learning Networks for Learning and Classification: A Review", 《IEEE ACCESS》 * |
SHUANGLONG LIU 等: "Optimizing CNN-based segmentation with deeply customized convolutional and deconvolutional architectures on FPGA", 《ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS》 * |
李景军 等: "面向训练阶段的神经网络性能分析", 《计算机科学与探索》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112840284A (zh) * | 2019-08-13 | 2021-05-25 | 深圳鲲云信息科技有限公司 | 基于数据流的自动驾驶方法、装置、电子设备及存储介质 |
CN113272792A (zh) * | 2019-10-12 | 2021-08-17 | 深圳鲲云信息科技有限公司 | 本地数据流加速方法、数据流加速***及计算机设备 |
WO2021068244A1 (zh) * | 2019-10-12 | 2021-04-15 | 深圳鲲云信息科技有限公司 | 本地数据流加速方法、数据流加速***及计算机设备 |
CN112905525A (zh) * | 2019-11-19 | 2021-06-04 | 中科寒武纪科技股份有限公司 | 控制运算装置进行计算的方法及设备 |
CN112905525B (zh) * | 2019-11-19 | 2024-04-05 | 中科寒武纪科技股份有限公司 | 控制运算装置进行计算的方法及设备 |
CN111404770A (zh) * | 2020-02-29 | 2020-07-10 | 华为技术有限公司 | 网络设备、数据处理方法、装置、***及可读存储介质 |
WO2021259232A1 (zh) * | 2020-06-22 | 2021-12-30 | 深圳鲲云信息科技有限公司 | Ai芯片的数据处理方法、装置和计算机设备 |
CN111857989A (zh) * | 2020-06-22 | 2020-10-30 | 深圳鲲云信息科技有限公司 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
CN111752887A (zh) * | 2020-06-22 | 2020-10-09 | 深圳鲲云信息科技有限公司 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
CN111753994B (zh) * | 2020-06-22 | 2023-11-03 | 深圳鲲云信息科技有限公司 | Ai芯片的数据处理方法、装置和计算机设备 |
CN111857989B (zh) * | 2020-06-22 | 2024-02-27 | 深圳鲲云信息科技有限公司 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
CN111752887B (zh) * | 2020-06-22 | 2024-03-15 | 深圳鲲云信息科技有限公司 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
CN111753994A (zh) * | 2020-06-22 | 2020-10-09 | 深圳鲲云信息科技有限公司 | Ai芯片的数据处理方法、装置和计算机设备 |
WO2022028224A1 (zh) * | 2020-08-03 | 2022-02-10 | 深圳鲲云信息科技有限公司 | 数据存储方法、装置、设备和存储介质 |
CN114021708A (zh) * | 2021-09-30 | 2022-02-08 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法、装置、***、电子设备及存储介质 |
WO2023050807A1 (zh) * | 2021-09-30 | 2023-04-06 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法、装置、***、电子设备及存储介质 |
CN114461978A (zh) * | 2022-04-13 | 2022-05-10 | 苏州浪潮智能科技有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN116974654A (zh) * | 2023-09-21 | 2023-10-31 | 浙江大华技术股份有限公司 | 一种图像数据的处理方法、装置、电子设备及存储介质 |
CN116974654B (zh) * | 2023-09-21 | 2023-12-19 | 浙江大华技术股份有限公司 | 一种图像数据的处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020206637A1 (zh) | 2020-10-15 |
CN110046704B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046704A (zh) | 基于数据流的深度网络加速方法、装置、设备及存储介质 | |
CN110689138B (zh) | 运算方法、装置及相关产品 | |
US20180260709A1 (en) | Calculating device and method for a sparsely connected artificial neural network | |
KR102203746B1 (ko) | 인공 신경망 정방향 연산 실행용 장치와 방법 | |
JP2020518042A (ja) | 処理装置と処理方法 | |
CN109117948A (zh) | 画风转换方法及相关产品 | |
CN110326003A (zh) | 用于神经网络处理的具有位置依赖存储器的硬件节点 | |
JP2022130363A (ja) | 機械学習モデルを改良して局所性を改善させること | |
CN115186821B (zh) | 面向芯粒的神经网络推理开销估计方法及装置、电子设备 | |
CN109409510A (zh) | 神经元电路、芯片、***及其方法、存储介质 | |
CN106796533A (zh) | 自适应地选择执行模式的***和方法 | |
CN110163333A (zh) | 卷积神经网络的并行优化方法 | |
CN106294278A (zh) | 用于动态可重构阵列计算***的自适硬件预配置控制器 | |
WO2023065701A1 (zh) | 内积处理部件、任意精度计算设备、方法及可读存储介质 | |
EP3451240A1 (en) | Apparatus and method for performing auto-learning operation of artificial neural network | |
US20210125042A1 (en) | Heterogeneous deep learning accelerator | |
Song et al. | Design and implementation of convolutional neural networks accelerator based on multidie | |
CN112257368A (zh) | 时钟布局方法、装置、eda工具及计算机可读存储介质 | |
CN110442753A (zh) | 一种基于opc ua的图数据库自动建立方法及装置 | |
CN108737130B (zh) | 基于神经网络的网络流量预测装置及方法 | |
Asad et al. | NeuroTower: A 3D Neuromorphic Architecture with Low-Power TSVs | |
US20230023545A1 (en) | Methods and systems for deep learning chip design generation | |
CN116415667B (zh) | 数据处理方法、机器学习框架及相关设备 | |
Rothmann et al. | STANN–Synthesis Templates for Artificial Neural Network Inference and Training | |
WO2023125857A1 (zh) | 基于机器学习框架***的模型训练方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |