CN109871951A - 一种深度学习处理器及电子设备 - Google Patents

一种深度学习处理器及电子设备 Download PDF

Info

Publication number
CN109871951A
CN109871951A CN201910168117.3A CN201910168117A CN109871951A CN 109871951 A CN109871951 A CN 109871951A CN 201910168117 A CN201910168117 A CN 201910168117A CN 109871951 A CN109871951 A CN 109871951A
Authority
CN
China
Prior art keywords
deep learning
convolution
instruction
target
convolutional calculation
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.)
Pending
Application number
CN201910168117.3A
Other languages
English (en)
Inventor
张新
赵雅倩
方兴
董刚
杨宏斌
范宝余
刘栩辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910168117.3A priority Critical patent/CN109871951A/zh
Publication of CN109871951A publication Critical patent/CN109871951A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本申请公开了一种深度学习处理器,所述深度学习处理器包括调度模块,用于接收数据处理请求,并根据所述数据处理请求解析目标指令集中的宏指令得到解析结果;卷积计算模块,用于在三维卷积脉动阵列中执行所述解析结果对应的二维卷积计算操作得到数据处理结果;其中,所述三维卷积脉动阵列由多个运算单元按照乘加器阵列构建规则排列得到。本方法能够减少卷积计算对于带宽的需求、提高卷积计算的效率,优化深度学习的处理流程。本申请还公开了一种电子设备,具有以上有益效果。

Description

一种深度学习处理器及电子设备
技术领域
本发明涉及深度学习技术领域,特别涉及一种深度学习处理器及一种电子设备。
背景技术
卷积神经网络在深度学习中起着重要作用,被广泛用于图像分类、物体识别、目标追踪等。随着数据中心数据量的增加,以及移动终端对检测实时性要求的增加,性能和功耗成为深度学习的关键问题。
相关技术的寒武纪diannao系列芯片以及Google的TPU为应用较多的深度学习处理芯片,但是上述芯片基于矩阵乘或二维脉动阵列实现卷积计算,上述相关技术对带宽的需求较多计算性能差,无法适用多变的应用场景。
因此,如何减少卷积计算对于带宽的需求、提高卷积计算的效率,优化深度学习的处理流程是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种深度学习处理器及一种电子设备,能够在降低卷积计算的功耗的前提下提高卷积计算的效率,优化深度学习的处理流程。
为解决上述技术问题,本申请提供一种深度学习处理器,该深度学习处理器包括:
调度模块,用于接收数据处理请求,并根据所述数据处理请求解析目标指令集中的宏指令得到解析结果;
卷积计算模块,用于在三维卷积脉动阵列中执行所述解析结果对应的二维卷积计算操作得到数据处理结果;其中,所述三维卷积脉动阵列由多个运算单元按照乘加器阵列构建规则排列得到。
可选的,所述目标指令集中的宏指令包括卷积计算宏指令、数据操作宏指令、通用计算宏指令和主机交互宏指令中任一项或任几项的组合。
可选的,还包括:
缓存调度模块,用于将三维缓存空间中的缓存数据输出至所述三维卷积脉动阵列。
可选的,所述卷积计算模块包括:
尺寸确定单元,用于确定目标卷积核的尺寸;
计算单元,用于根据所述目标卷积核的尺寸在所述三维卷积脉动阵列中执行所述解析结果对应的二维卷积计算操作得到所述数据处理结果。
可选的,所述深度学习处理器具体为FPGA或ASIC流片。
可选的,所述卷积计算模块具体为用于通过位移拼接的方式在所述三维卷积脉动阵列的三维运算单元中执行所述解析结果对应的二维卷积计算操作得到所述数据处理结果的模块。
可选的,还包括:
模型优化模块,用于当深度学习网络模型的原始计算图的卷积尺寸大于第一预设值时,将所述原始计算图拆分为多个卷积尺寸小于所述第一预设值的目标计算图,以便所述卷积计算模块对所述目标计算图执行卷积计算操作。
可选的,还包括:
存储器分配及回收优化模块,用于根据深度学习网络模型的访存规模和数据生存周期生成所述深度学习网络模型的资源占用及调度模型,根据所述资源占用及调度模型调整所述深度学习网络模型的存储器分配策略和存储器回收策略。
可选的,还包括:
编译模块,用于当目标卷积操作的原batch值大于标准batch值时,将所述目标卷积操作拆分为多个batch值小于所述标准batch值的新卷积操作,以便所述卷积计算模块按照流水调度的方式对执行所有所述新卷积操作。
本申请还提供了一种电子设备,该电子设备包括上述任意一种深度学习处理器。
本发明提供了一种深度学习处理器,包括调度模块,用于接收数据处理请求,并根据所述数据处理请求解析目标指令集中的宏指令得到解析结果;卷积计算模块,用于在三维卷积脉动阵列中执行所述解析结果对应的二维卷积计算操作得到数据处理结果;其中,所述三维卷积脉动阵列由多个运算单元按照乘加器阵列构建规则排列得到。
本申请在预先通过多个运算单元按照乘加器阵列构建规则搭建得到三维卷积脉动阵列,基于三维卷积脉动阵列实现相关卷积运算操作。本申请首先利用数据处理请求解析目标指令集得到解析结果,在三维卷积脉动阵列中执行解析结果对应的二维卷积计算操作。由于三维卷积脉动阵列比所需要进行的卷积计算提高了一个维度,因此能够增加卷积计算的并行度从而提高了卷积计算的速度。本方案能够减少卷积计算对于带宽的需求、提高卷积计算的效率。本申请同时还提供了一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种深度学习处理器的结构示意图;
图2为计算单元的结构示意图;
图3为一层二维卷积脉动阵列的结构示意图;
图4为三维卷积脉动阵列结构示意图;
图5为深度学习处理器的微架构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种深度学习处理器的结构示意图,深度学习处理器具体可以包括:
调度模块100,用于接收数据处理请求,并根据所述数据处理请求解析目标指令集中的宏指令得到解析结果;
其中,调度模块100为根据数据处理请求解析宏指令的模块,此处不限定数据处理请求的种类,数据处理请求可以包括但不限于卷积计算请求、数据操作请求、通用计算请求和主机交互请求。调度模块100在接收到上层应用下发的数据处理请求时,可以根据数据处理请求的具体类型解析目标指令集中相应的宏指令得到解析结果。
目标指令集又称AI(Artificial Intelligence,人工智能)指令集,目标指令集中可以包括多个宏指令。本实施例可以将卷积网络计算各计算模块组合成一条宏指令,每条宏指令根据自身编码的不同,执行不同类型的操作。宏指令可以包括但不限于以下四种指令(1)卷积计算宏指令:用于支持多类型、多规格卷积、激活、池化操作以满足不同类型卷积网络的运算需求;(2)数据操作宏指令:用于支持数据的切分、连接、数据整形等操作,为卷积网络运算提供标准数据输入;(3)通用计算宏指令:用于提供高效的分支、指令预测和跳转,实现对offload运行模式的支持,提升控制流效率;(4)主机交互宏指令:用于支持主机与芯片间的交互,可接受主机命令,或通知主机执行结束。同时,为提升解码效率,主机交互宏指令采用固定指令编码格式,指令编码统一位于第48bit至59bits。
具体的,调度模块100还可以包括cmd_handle子模块、instr_caching子模块和instr_executing子模块,上述三种子模块用于执行相对应功能的宏指令解析。cmd_handle子模块用于实现Host命令处理、状态反馈和中断控制。instr_caching子模块用于实现指令缓存和指令预取状态控制,还用于指令预取时将指令从DDR取到片上Cache,指令执行时指令执行模块从Cache取值。instr_executing子模块用于实现定义寄存器组,指令执行过程状态控制;指令译码,将参数和控制信号从指令中提取出来送给卷积网络部件、池化部件和数据操作部件。
本实施例提到的模块均可以为深度学习处理器中的模块,该深度学习处理器可以为FPGA(Field-Programmable Gate Array,现场可编程门阵列)或ASIC(ApplicationSpecific Integrated Circuit)流片,ASIC是一种为专门目的而设计的集成电路。
卷积计算模块200,用于在三维卷积脉动阵列中执行所述解析结果对应的二维卷积计算操作得到数据处理结果;
其中,所述三维卷积脉动阵列由多个运算单元按照乘加器阵列构建规则排列得到。请参见图2、图3和图4,图2为计算单元的结构示意图,图3为一层二维卷积脉动阵列的结构示意图,图4为三维卷积脉动阵列结构示意图。构建三维卷积脉动阵列的过程可以为:首先通过多个计算单元按照乘加器阵列构建规则构建如图3所示的二维卷积脉动阵列结构,再利用二维脉动阵列结构通过feature复用的方式构建得到三维卷积脉动阵列结构。构建三维卷积脉动阵列构建时需要设置的参数可以包括脉动阵列的规模,比如9*9*8*8,其中的9*9为目前的设计是固定的值,8*8是根据资源决定(该资源可以包括FPGA DSP的数量、RAM大小等)。
卷积的计算本质其实就是乘加操作,如a1*b1+a2*b2+a3*b3+a4*b4,图2中梯形部分表示加法器,用于累加上一个单元传进来的数据或者置零。Reg是指寄存器用于临时保存数据,DSP为乘法器用于做乘法,<<18表示左移18位。图3中的乘加器为图2中的加法器与乘法器的组合。图3中的二维卷积脉动阵列结构由多个图2中的计算单元构成。图4中的Feature redorder与filter redorder是指在进入脉动阵列之前对数据进行预处理,主要是对数据的顺序进行重拍以保证三维卷积脉动阵列运算结果正确。
由于卷积计算模块200可以通过三维卷积脉动阵列实现解析结果对应的二维卷积计算,且三维卷积脉动阵列由多个运算单元按照乘加器阵列构建规则排列得到,因此在卷积计算模块200的计算过程中可以通过位移拼接的方式在所述三维卷积脉动阵列的三维运算单元中执行所述解析结果对应的二维卷积计算操作得到所述数据处理结果的模块。
本实施例提供的三维卷积脉动阵列可以适用于常见深度学习网络中多种尺寸的二维卷积计算要求。通过参数化配置能够在同一个FPGA上实现不同的深度学习网络结构,为使用者提供灵活的使用方式。为了充分节省硬件资源和提高计算效率,可以采用了移位拼接的方法实现二维卷积计算。架构内部所采用的乘加器阵列构成了一个三维的运算单元结构,用于处理深度学习网络中二维卷积计算。由于运算单元结构的维度比所要进行的卷积计算提高了一个维度,因此增加了实施卷积运算的并行度,从而提高了卷积计算的速度。同时通过改变控制信号,可以实现不同尺寸卷积核的卷积运算。具体的结构可以针对深度学习网络中各种常用的卷积核做出有针对性的优化设计,将硬件资源利用率达到最高。
本实施例在预先通过多个运算单元按照乘加器阵列构建规则搭建得到三维卷积脉动阵列,基于三维卷积脉动阵列实现相关卷积运算操作。本实施例首先利用数据处理请求解析目标指令集得到解析结果,在三维卷积脉动阵列中执行解析结果对应的二维卷积计算操作。由于三维卷积脉动阵列比所需要进行的卷积计算提高了一个维度,因此能够增加卷积计算的并行度从而提高了卷积计算的速度。本实施例能够减少卷积计算对于带宽的需求、提高卷积计算的效率。
进一步的,该深度学习处理器还可以包括:
缓存调度模块,用于将三维缓存空间中的缓存数据输出至所述三维卷积脉动阵列。
请参见图5,图5为深度学习处理器的微架构图。缓存调用模块可以调用参数化可配置神经网络的三维缓存空间作为数据预处理结构。可以通过上位机的实时控制实现参数化可配置的三维数据缓存空间,以便为各种深度学习网络计算提供高速数据支持。本实施例可以通过采用标准RTL(register-transfer level)电路结构搭建的参数化可配置的三维数据缓存空间(即三维缓存阵列),可以为各种卷积神经网络计算提供高速数据支持,同时由于是采用标准RTL硬件描述语言设计,可以灵活应用于专用芯片设计领域,为卷积神经网络实现提供了一个专用芯片的解决方案。三维缓存阵列可以由多个存储单元在X、Y、Z三个维度上排列得到,作为一种可选的实施方式本实施例中的存储单元可以为经过行写入使能操作、行读取使能操作、列写入使能操作、列读取使能操作、排写入使能操作和排读取使能操作中任一或任几种使能操作的存储单元。当三维缓存阵列的所有存储单元均经过上述六种使能操作时,可以任意按照行、列、排三个维度在三维缓存阵列的存储阵列中写入或读取数据。本实施例提供的三维缓存阵列可以在配置参数的控制下任意读取其中的内容,而无需考虑数据存储的方式以及数据端口的位宽。例如,根据配置参数确定的输出数据精度为8、输出数据阵列长度为1、输出数据阵列宽度为1、输出数据阵列高度为64,本实施例可以从三维缓存阵列中取出8x1x1x64个二进制数值,而此时不受存储空间长度、存储空间宽度、存储空间高度等参数的影响。因此本实施例采用标准RTL电路结构搭建的参数化可配置的三维数据缓存空间(即三维缓存阵列)可以为各种卷积神经网络计算提供高速数据支持,同时由于三维缓存阵列是采用标准RTL硬件描述语言设计,可以灵活应用于专用芯片设计领域,为卷积神经网络实现提供了一个专用芯片的解决方案。
进一步的,该卷积计算模块可以包括尺寸确定单元和计算单元。其中,尺寸确定单元用于确定目标卷积核的尺寸;计算单元用于根据所述目标卷积核的尺寸在所述三维卷积脉动阵列中执行所述解析结果对应的二维卷积计算操作得到所述数据处理结果。
进一步的,该深度学习处理器还可以包括:
模型优化模块,用于当深度学习网络模型的原始计算图的卷积尺寸大于第一预设值时,将所述原始计算图拆分为多个卷积尺寸小于所述第一预设值的目标计算图,以便所述卷积计算模块对所述目标计算图执行卷积计算操作。
针对主流神经网络中芯片硬件不能直接支持的层或操作,本实施例提出了计算图级的模型转换及优化方法。芯片硬件部件是对主流深度学习网络共性操作的提取,因此模型中不可避免的会出现硬件不能直接支持层或操作。因此,本实施例提供了一种计算图级的模型转换及优化方案实现原始计算图到芯片可支持的计算图转换。将原始计算图拆分为多个卷积尺寸较小的目标计算图,使得支持硬件能够支持层或计算操作。例如,可以将7x7的卷积拆分为8个3x3的卷积和1个1x1的卷积。
进一步的,该深度学习处理器还可以包括:
存储器分配及回收优化模块,用于根据深度学习网络模型的访存规模和数据生存周期生成所述深度学习网络模型的资源占用及调度模型,根据所述资源占用及调度模型调整所述深度学习网络模型的存储器分配策略和存储器回收策略。
本实施例提出存储器的分配与回收策略,可以通过对模型访存行为的分析,提高片上存储的利用率。本实施例根据模型的访存行为,按照访存规模及数据生存周期对建立模型资源占用及调度模型,高效分配和回收片上存储,高效利用片上存储器可以有效降低带宽需求并大幅提升芯片性能。
进一步的,该深度学习处理器还可以包括:
编译模块,用于当目标卷积操作的原batch(批)值大于标准batch值时,将所述目标卷积操作拆分为多个batch值小于所述标准batch值的新卷积操作,以便所述卷积计算模块按照流水调度的方式对执行所有所述新卷积操作。
针对指令间片外存储器访问延迟大、效率低的问题,本实施例提出可实现访存延迟隐藏的指令集调度策略。流水调度即流水作业调度策略,例如n个作业要在2台机器M1和M2组成的流水线上完成加工,每个作业加工的顺序都是先再M1上加工然后在M2上加工。M1和M2加工第i个作业(i≤n)所需的时间分别为ai和bi。流水作业调度问题要求确定这n个作业的最优加工顺序使得从第一个作业在M1上开始加工到最后一个作业在机器M2上加工完成所需的时间最少。流水作业调度问题的最优值能够使机器M1和机器M2上加工完成所需的时间最少。在本实施例中可以将batch较大的目标卷积操作差分为多个batch值较小的新卷积操作,将卷积计算模块执行所有新卷积操作视为流水作业调度问题,得到最优处理策略以便所述卷积计算模块按照流水调度的方式对执行所有所述新卷积操作。卷积计算模块中可以包括多个计算子模块,每一计算子模块用于处理所有新卷积操作。例如,在编译阶段将batch>4的卷积操作拆分为多个batch=4的卷积操作,并通过指令信号灯机制实现卷积指令间流水,可以有效隐藏访存延迟。
本申请还提供了一种电子设备,该电子设备包括上述任意一种深度学习处理器。该电子设备可以适用于常见深度学习神经网络中多种尺寸的二维卷积计算要求通过上位机的实时控制,可以实现参数化可配置的三维数据缓存空间,能够为各种深度学习网络计算提供高速数据支持。本实施例还可以通过参数化配置,实现基于同一硬件平台的多种深度学习网络计算,主要可以包括:调度核和三维卷积脉动阵列。调度核内部主要完成几个功能:Host命令处理、状态反馈、指令缓存、指令预取状态控制、指令执行状态控制、指令译码、中断控制。三维卷积脉动阵列可以适用于常见深度学习网络中多种尺寸的二维卷积计算要求。通过参数化配置,能够在同一个FPGA上实现不同的深度学习网络结构,为使用者提供灵活的使用方式。为了充分节省硬件资源和提高计算效率,采用了移位拼接的方法。架构内部所采用的乘加器阵列构成了一个三维的运算单元结构,专门用于处理深度学习网络中二维卷积计算。由于运算单元结构的维度比所要进行的卷积计算提高了一个维度,因此增加了实施卷积运算的并行度,从而提高了卷积计算的速度。同时通过改变控制信号,可以实现不同尺寸卷积核的卷积运算。具体的结构可以针对深度学习网络中各种常用的卷积核做出有针对性的优化设计,将硬件资源利用率达到最高。
本实施例提供的电子设备可以存储有AI指令集。可以采用宏指令集设计方案,将卷积网络计算各计算模块组合成一条宏指令,每条宏指令根据自身编码的不同,执行不同类型的操作。宏指令共分为四种:(1)卷积计算宏指令,可支持多类型、多规格卷积、激活、池化操作,以满足不同类型卷积网络的运算需求;(2)数据操作指令,支持数据的切分、连接、数据整形等操作,为卷积网络运算提供标准数据输入;(3)通用计算宏指令,提供高效的分支、指令预测和跳转,实现对offload运行模式的支持,提升控制流效率。(4)主机交互宏指令,支持主机与芯片间的交互,可接受主机命令,或通知主机执行结束。同时,为提升解码效率,采用固定指令编码格式,指令编码统一位于59-48bit。
本实施例提供的电子设备可以实现深度学习网络模型的优化及编译技术。针对主流神经网络中芯片硬件不能直接支持的层或操作,本实施例提出了计算图级的模型转换及优化方法。芯片硬件部件是对主流深度学习网络共性操作的提取,因此模型中不可避免的会出现硬件不能直接支持层或操作。为此,需要设计一种计算图级的模型转换及优化方案实现原始计算图到芯片可支持的计算图转换。例如将7x7的卷积拆分为8个3x3的卷积和1个1x1的卷积。本实施例还提出存储器的分配与回收策略,通过对模型访存行为的分析,高效利用片上存储。根据模型的访存行为,按照访存规模及数据生存周期对建立模型资源占用及调度模型,高效分配和回收片上存储。本实施例针对指令间片外存储器访问延迟大、效率低的问题,提出可实现访存延迟隐藏的指令集调度策略。由于片外存储器的访问,存在延迟大、效率低的问题,为有效隐藏访存延迟,需要设计一种指令级的流水调度策略。例如,在编译阶段将BATCH>4的卷积操作拆分为多个BATCH=4的卷积操作,并通过指令信号灯机制实现卷积指令间流水,有效隐藏访存延迟。
本实施例在预先通过多个运算单元按照乘加器阵列构建规则搭建得到三维卷积脉动阵列,基于三维卷积脉动阵列实现相关卷积运算操作。本实施例首先利用数据处理请求解析目标指令集得到解析结果,在三维卷积脉动阵列中执行解析结果对应的二维卷积计算操作。由于三维卷积脉动阵列比所需要进行的卷积计算提高了一个维度,因此能够增加卷积计算的并行度从而提高了卷积计算的速度。本实施例能够减少卷积计算对于带宽的需求、提高卷积计算的效率。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种深度学习处理器,其特征在于,包括:
调度模块,用于接收数据处理请求,并根据所述数据处理请求解析目标指令集中的宏指令得到解析结果;
卷积计算模块,用于在三维卷积脉动阵列中执行所述解析结果对应的二维卷积计算操作得到数据处理结果;其中,所述三维卷积脉动阵列由多个运算单元按照乘加器阵列构建规则排列得到。
2.根据权利要求1所述深度学习处理器,其特征在于,所述目标指令集中的宏指令包括卷积计算宏指令、数据操作宏指令、通用计算宏指令和主机交互宏指令中任一项或任几项的组合。
3.根据权利要求1所述深度学习处理器,其特征在于,还包括:
缓存调度模块,用于将三维缓存空间中的缓存数据输出至所述三维卷积脉动阵列。
4.根据权利要求1所述深度学习处理器,其特征在于,所述卷积计算模块包括:
尺寸确定单元,用于确定目标卷积核的尺寸;
计算单元,用于根据所述目标卷积核的尺寸在所述三维卷积脉动阵列中执行所述解析结果对应的二维卷积计算操作得到所述数据处理结果。
5.根据权利要求1所述深度学习处理器,其特征在于,所述深度学习处理器具体为FPGA或ASIC流片。
6.根据权利要求1所述深度学习处理器,其特征在于,所述卷积计算模块具体为用于通过位移拼接的方式在所述三维卷积脉动阵列的三维运算单元中执行所述解析结果对应的二维卷积计算操作得到所述数据处理结果的模块。
7.根据权利要求1所述深度学习处理器,其特征在于,还包括:
模型优化模块,用于当深度学习网络模型的原始计算图的卷积尺寸大于第一预设值时,将所述原始计算图拆分为多个卷积尺寸小于所述第一预设值的目标计算图,以便所述卷积计算模块对所述目标计算图执行卷积计算操作。
8.根据权利要求1所述深度学习处理器,其特征在于,还包括:
存储器分配及回收优化模块,用于根据深度学习网络模型的访存规模和数据生存周期生成所述深度学习网络模型的资源占用及调度模型,根据所述资源占用及调度模型调整所述深度学习网络模型的存储器分配策略和存储器回收策略。
9.根据权利要求1所述深度学习处理器,其特征在于,还包括:
编译模块,用于当目标卷积操作的原batch值大于标准batch值时,将所述目标卷积操作拆分为多个batch值小于所述标准batch值的新卷积操作,以便所述卷积计算模块按照流水调度的方式对执行所有所述新卷积操作。
10.一种电子设备,其特征在于,包括如权利要求1-9任一项所述的深度学习处理器。
CN201910168117.3A 2019-03-06 2019-03-06 一种深度学习处理器及电子设备 Pending CN109871951A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910168117.3A CN109871951A (zh) 2019-03-06 2019-03-06 一种深度学习处理器及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910168117.3A CN109871951A (zh) 2019-03-06 2019-03-06 一种深度学习处理器及电子设备

Publications (1)

Publication Number Publication Date
CN109871951A true CN109871951A (zh) 2019-06-11

Family

ID=66919910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910168117.3A Pending CN109871951A (zh) 2019-03-06 2019-03-06 一种深度学习处理器及电子设备

Country Status (1)

Country Link
CN (1) CN109871951A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110517304A (zh) * 2019-07-26 2019-11-29 苏州浪潮智能科技有限公司 生成深度图的方法、装置、电子设备和存储介质
CN110516800A (zh) * 2019-07-08 2019-11-29 山东师范大学 深度学习网络应用分布自组装指令处理器核、处理器、电路和处理方法
CN111078589A (zh) * 2019-12-27 2020-04-28 深圳鲲云信息科技有限公司 一种应用于深度学习计算的数据读取系统、方法及芯片
CN111767243A (zh) * 2020-06-09 2020-10-13 上海寒武纪信息科技有限公司 数据处理方法、相关设备及计算机可读介质
WO2022179472A1 (zh) * 2021-02-26 2022-09-01 腾讯科技(深圳)有限公司 基于脉动阵列的数据处理方法、装置、介质及程序产品
CN116737605A (zh) * 2023-08-11 2023-09-12 上海燧原科技有限公司 基于芯片多级存储的数据预取方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810144A (zh) * 2012-11-08 2014-05-21 无锡汉兴电子有限公司 一种质数长度fft/ifft方法和装置
WO2016186826A1 (en) * 2015-05-21 2016-11-24 Google Inc. Rotating data for neural network computations
CN108182471A (zh) * 2018-01-24 2018-06-19 上海岳芯电子科技有限公司 一种卷积神经网络推理加速器及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810144A (zh) * 2012-11-08 2014-05-21 无锡汉兴电子有限公司 一种质数长度fft/ifft方法和装置
WO2016186826A1 (en) * 2015-05-21 2016-11-24 Google Inc. Rotating data for neural network computations
CN108182471A (zh) * 2018-01-24 2018-06-19 上海岳芯电子科技有限公司 一种卷积神经网络推理加速器及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
H. T. KUNG ET AL.: "Mapping Systolic Arrays Onto 3D Circuit Structures: Accelerating Convolutional Neural Network Inference", 《2018 IEEE INTERNATIONAL WORKSHOP ON SIGNAL PROCESSING SYSTEM(SPIS)》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516800A (zh) * 2019-07-08 2019-11-29 山东师范大学 深度学习网络应用分布自组装指令处理器核、处理器、电路和处理方法
CN110516800B (zh) * 2019-07-08 2022-03-04 山东师范大学 深度学习网络应用分布自组装指令处理器核、处理器、电路和处理方法
CN110517304A (zh) * 2019-07-26 2019-11-29 苏州浪潮智能科技有限公司 生成深度图的方法、装置、电子设备和存储介质
CN110517304B (zh) * 2019-07-26 2022-04-22 苏州浪潮智能科技有限公司 生成深度图的方法、装置、电子设备和存储介质
CN111078589A (zh) * 2019-12-27 2020-04-28 深圳鲲云信息科技有限公司 一种应用于深度学习计算的数据读取系统、方法及芯片
CN111767243A (zh) * 2020-06-09 2020-10-13 上海寒武纪信息科技有限公司 数据处理方法、相关设备及计算机可读介质
WO2022179472A1 (zh) * 2021-02-26 2022-09-01 腾讯科技(深圳)有限公司 基于脉动阵列的数据处理方法、装置、介质及程序产品
US11899616B2 (en) 2021-02-26 2024-02-13 Tencent Technology (Shenzhen) Company Limited Systolic array-based data processing method and apparatus, medium, and program product
CN116737605A (zh) * 2023-08-11 2023-09-12 上海燧原科技有限公司 基于芯片多级存储的数据预取方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN109871951A (zh) 一种深度学习处理器及电子设备
KR102258414B1 (ko) 처리 장치 및 처리 방법
Raihan et al. Modeling deep learning accelerator enabled gpus
CN110378468B (zh) 一种基于结构化剪枝和低比特量化的神经网络加速器
Garofalo et al. PULP-NN: Accelerating quantized neural networks on parallel ultra-low-power RISC-V processors
Guan et al. FP-DNN: An automated framework for mapping deep neural networks onto FPGAs with RTL-HLS hybrid templates
US20200151019A1 (en) OPU-based CNN acceleration method and system
KR102539893B1 (ko) 다차원 어레이로부터 요소들의 다차원 블록을 프리페치하는 하드웨어 장치들 및 방법들
US20210216318A1 (en) Vector Processor Architectures
Xia et al. SparkNoC: An energy-efficiency FPGA-based accelerator using optimized lightweight CNN for edge computing
CN110826708B (zh) 一种用多核处理器实现神经网络模型拆分方法及相关产品
Sano et al. Scalable streaming-array of simple soft-processors for stencil computations with constant memory-bandwidth
CN104699458A (zh) 定点向量处理器及其向量数据访存控制方法
KR20130114688A (ko) 아키텍처 최적화기
CN113743599B (zh) 一种卷积神经网络的运算装置及服务器
CN114995823A (zh) 一种面向cnn专用加速器的深度学习编译器优化方法
CN116501505B (zh) 负载任务的数据流生成方法、装置、设备及介质
CN114995822A (zh) 专用于cnn加速器的深度学习编译器优化方法
CN103098059A (zh) 根据算法和规格的自动最佳集成电路生成器
Struharik et al. CoNNa–Hardware accelerator for compressed convolutional neural networks
Hurkat et al. VIP: A versatile inference processor
CN103098058A (zh) 根据算法和规格的自动最佳集成电路生成器
CN113157638B (zh) 一种低功耗存储器内计算处理器和处理运算方法
Feng et al. ERDSE: efficient reinforcement learning based design space exploration method for CNN accelerator on resource limited platform
Huang et al. Structured dynamic precision for deep neural networks quantization

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190611