CN111339027B - 可重构的人工智能核心与异构多核芯片的自动设计方法 - Google Patents
可重构的人工智能核心与异构多核芯片的自动设计方法 Download PDFInfo
- Publication number
- CN111339027B CN111339027B CN202010116890.8A CN202010116890A CN111339027B CN 111339027 B CN111339027 B CN 111339027B CN 202010116890 A CN202010116890 A CN 202010116890A CN 111339027 B CN111339027 B CN 111339027B
- Authority
- CN
- China
- Prior art keywords
- neural network
- core
- artificial intelligence
- processing core
- processed
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013461 design Methods 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 185
- 238000013528 artificial neural network Methods 0.000 claims abstract description 132
- 238000013468 resource allocation Methods 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 11
- 238000013473 artificial intelligence Methods 0.000 claims description 76
- 238000013500 data storage Methods 0.000 claims description 28
- 238000010276 construction Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000003062 neural network model Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 8
- 239000010410 layer Substances 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000036632 reaction speed Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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
-
- 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/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了可重构的人工智能核心与异构多核芯片的自动设计方法、基于神经网络应用的硬件资源调配方法,所述人工智能处理核心的自动设计方法中,能够针对不同网络对人工智能处理核心进行定制化设计,以在芯片乃至系统层面上获得更高的处理能效;由此,所述多核芯片的自动设计方法能根据对混合神经网络中的不同类型神经网络自动配置对应的人工智能处理核心,实现多个神经网络的同时并行处理,并且平衡了系统对各个神经网络的处理负荷;所述硬件资源调配方法能够根据不同上层应用的需求,配置对应的多核芯片,实现在不同处理场景处理不同神经网络模型,完成对各个人工智能处理核心的单独配置,进一步提高处理性能,降低延时,降低重构开销。
Description
技术领域
本发明涉及基于神经网络的计算机系统技术领域,尤其是涉及可重构的人工智能核心与异构多核芯片的自动设计方法、基于神经网络应用的硬件资源调配方法。
背景技术
人工智能(AI,Artificial Intelligence)近年来取得了长足的发展,以深度卷积神经网络为代表的基于深度学习的人工智能被广泛的应用,而由此对硬件有着相应的要求。其中,卷积神经网络分为训练和推理两个过程,目前其推理过程已广泛应用于各种人工智能如人物体检测与识别等应用中,其对处理延时有着非常高的要求,因此在边缘端的设备能进行推理是有着大量且迫切的需求。
目前能应用于边缘端的人工智能加速芯片主要包括以下几类:一、通用的CPU和GPU芯片;二、深度学习专用的ASIC(Application Specific Integrated Circuit,专用集成电路)芯片;三、FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)等可重构计算芯片。其中,通用的CPU和GPU芯片能适用不同的应用场合,通用性良好,但计算效率及能效比不佳而无法满足人工智能需求;而深度学习专用的ASIC芯片虽然性能良好,但是由于深度学习算法领域的迭代变化快速,其往往通用性差,无法兼容大量新型的深度学习算法。至于现有的FPGA等可重构计算芯片,由于其可重构特性,既能做到对新算法支持,具备通用性,又能实现高计算效率与高能效比的特点,具备高速性。因此目前有大量的基于FPGA的人工智能加速引擎的产品应用边缘端设备中。
然而在复杂的前端人工智能应用场景下,往往需要运行多个深度学习神经网络,如视频流中进行目标检测识别应用下,需要处理至少检测网络、关键点网络以及特征提取等多个深度学习网络。各网络结构的计算特点各不相同,在同一种处理架构下,各网络的运行效率往往有很大的差异,如全连接层属于传输密集,而卷积神经网络属于计算密集型,即使同属卷积神经网络,其不同类型的网络对于计算/传输比都不一样。所以,现有技术中基于上述芯片的方案,往往以同一种架构处理复杂应用下不同的神经网络,都无法达到理想的计算效率(实际性能/理论性能),各网络间算力不均衡,由于复用同一计算资源,为达到AI引擎最大化利用,同时平衡软件处理性能,软件部分的调配优化难度大,同时部分网络间计算特性差异大,硬件底层难以完全高效兼容,造成通用性不佳。
发明内容
有鉴于此,为了解决上述问题,本发明采用了如下的技术方案:
本发明提供了一种可重构的人工智能处理核心的自动设计方法,其包括:确定待处理神经网络及对应所述待处理神经网络的需求运算能力信息;根据所述待处理神经网络的输入数据、对应所述待处理神经网络的需求运算能力信息以及硬件资源信息,生成所述人工智能处理核心的构造信息;根据所述构造信息构造所述人工智能处理核心,以对应调节所述人工智能处理核心的存储容量、参与运算的处理单元数目、数据吞吐量以及运行频率,利用构造的所述人工智能处理核心处理所述待处理神经网络。
优选地,利用构造的所述人工智能处理核心处理所述待处理神经网络包括:所述人工智能处理核心执行对应神经网络的预设专用指令集。
优选地,所述硬件资源信息包括所述人工智能处理核心所在芯片的显示查找表信息、触发器信息、数字信号处理器信息以及块随机存储器信息。
优选地,所述人工智能处理核心的构造信息包括硬件描述语言代码和配置bit文件。
优选地,所述人工智能处理核心包括数据存储模块、计算单元阵列、指令控制模块以及专用指令集存储模块。其中,所述数据存储模块用于存储待处理神经网络的输入数据和待处理神经网络的各层输出;所述专用指令集存储模块用于存储分别对应不同神经网络的预设专用指令集以供调用;所述指令控制模块用于控制所述计算单元阵列调用所述数据存储模块中的数据以执行对应所述神经网络的预设专用指令集的运算;所述计算单元阵列包括多个构成阵列的处理单元,用于调用所述数据存储模块的数据执行并行运算,并输出至所述数据存储模块。
优选地,所述人工智能处理核心还包括数据接口,所述数据存储模块通过所述数据接口与外部存储进行数据传输。
本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有人工智能处理核心的自动设计程序,所述人工智能处理核心的自动设计程序用于被上位机处理器处理以实现如上所述的人工智能处理核心的自动设计方法。
本发明提供了一种可重构的异构多核芯片的自动设计方法,其包括:获取待处理的混合神经网络中各个神经网络对应的需求运算能力信息和处理时间限制信息,分别将每个神经网络分配至所述多核芯片中的一个或多个人工智能处理核心进行,对各个人工智能处理核心的算力进行分配,以使不同神经网络的处理时间之间的差值小于预设阈值;根据每个人工智能处理核心所对应处理的神经网络,分别采用如上所述的人工智能处理核心的自动设计方法,构造每个人工智能处理核心以处理所述混合神经网络。
本发明提供了一种基于神经网络应用的硬件资源调配方法,其包括:采用如上所述的多核芯片的自动设计方法分别对不同的预设神经网络应用进行处理,以离线构造一一对应预设神经网络应用的多核芯片,并分别生成芯片构造信息;为在线待处理的神经网络应用配置根据对应预设神经网络应用的芯片构造信息进行构造的多核芯片;采用如上所述的人工智能处理核心的自动设计方法对所述多核芯片中的人工智能处理核心进行设计。
本发明还提供了另一种计算机可读存储介质,所述计算机可读存储介质上存储有基于神经网络应用的硬件资源调配程序,所述基于神经网络应用的硬件资源调配程序用于被上位机处理器处理以实现如上所述的基于神经网络应用的硬件资源调配方法。
与现有技术相比,本发明的有益效果为:
针对不同的神经网络对负责处理的人工智能处理核心进行定制化配置,达到各人工智能处理核心以及软件部分时在整个系统处理层面上的平衡,有效提升人工智能处理核心的利用率,从而提升整个系统的性能;
针对由多个不同神经网络组成的混合神经网络,分配多核芯片中的人工智能处理核心,实现多网络同时并行处理,并且使各个网络的处理效率保持平衡,提升针对混合神经网络的处理效率;
针对不同的应用场景,离线预先构造一一对应的多核芯片,并于在线应用场景下导入使用,完成芯片与应用场景的适配,并且能够动态调配整个系统的算力,达到更佳性能和功耗的平衡。
附图说明
图1是本发明提供的可重构的人工智能处理核心的自动设计方法的流程框图;
图2是所述人工智能处理核心及其上位硬件架构的结构示意图;
图3是现有技术的单人工智能处理核心对混合神经网络进行批量处理的示例性图示;
图4是本发明中可重构的异构多核芯片对混合神经网络进行批量处理的示例性图示;
图5是所述可重构的异构多核芯片受上位机处理器调配控制的架构图;
图6是本发明提供的可重构的异构多核芯片的自动设计方法的流程框图;
图7是本发明对不同应用场景进行硬件资源调配的示例性图示;
图8是本发明提供的基于神经网络应用的硬件资源调配方法的流程框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的具体实施方式进行详细说明。这些优选实施方式的示例在附图中进行了例示。附图中所示和根据附图描述的本发明的实施方式仅仅是示例性的,并且本发明并不限于这些实施方式。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了关系不大的其他细节。
实施例1
参阅图1和图2所示,本发明实施例提供了一种可重构的人工智能处理核心的自动设计方法,所述人工智能处理核心的自动设计方法包括:
S1、设计空间信息的获取:
S11、确定待处理神经网络及对应所述待处理神经网络的需求运算能力信息;
S12、根据所述待处理神经网络的输入数据、对应所述待处理神经网络的需求运算能力信息以及硬件资源信息,生成所述人工智能处理核心的构造信息;
S2、构造定制化人工智能处理核心:
根据所述构造信息构造所述人工智能处理核心,以对应调节所述人工智能处理核心的存储容量、参与运算的处理单元数目、数据吞吐量以及运行频率,利用构造的所述人工智能处理核心处理所述待处理神经网络。
本发明提供的上述人工智能处理核心的自动设计方法,为可在计算机上运行的适应可重构的异构多核芯片中人工智能处理核心的自动化设计引擎(软件)中的自动设计方法。所述人工智能处理核心的自动设计方法先通过获取待处理神经网络、对应所述待处理神经网络的需求运算能力信息以及硬件资源信息这些用于设计构造人工智能处理核心的设计空间信息,根据这些设计空间信息来对所述人工智能处理核心的存储容量、参与运算的处理单元数目、数据吞吐量以及运行频率等性能参数进行调整,根据所生成的对应调整后的构造信息来定制化地构造人工智能处理核心,构造而成的人工智能处理核心便能够实现其性能与待处理神经网络匹配,由此达到目标计算效率和目标能效比,提高反应速度,实时性强。而且,由上述自动设计方法适应具备不同计算特点的神经网络而分别设计人工智能处理核心,能够减少各网络间的运行效率差异,平衡在整个系统处理层面上的资源分配,通过提高各个人工智能处理核心的处理效率进而提高人工智能处理核心所处芯片乃至系统整体的处理效率,而且有利于软件调配优化,良好兼容硬件底层,使得本发明具备高通用性,尤其是能适用在边缘端。
在本实施例中,根据所述待处理神经网络的输入数据、对应所述待处理神经网络的需求运算能力信息以及硬件资源信息调节所述人工智能处理核心的存储容量、参与运算的处理单元数目、数据吞吐量以及运行频率的具体调节策略可以根据用户不同的设计需求进行预先设定,此处不做限定,这些都应当视为是基于上述方法进行合理改动的具体实施方式,应视为在本申请的保护范围内。
进一步地,利用构造的所述人工智能处理核心处理所述待处理神经网络包括:S3、所述人工智能处理核心执行对应神经网络的预设专用指令集。上述人工智能处理核心中预存有分别对应不同神经网络的预设专用指令集,根据预设专用指令集生成匹配待处理神经网络的专用指令集,通过执行该专用指令集来进行计算核心映射,优化数据计算、数据存储及数据传输,从而实现待处理神经网络的运行。
示例性地,所述硬件资源信息包括所述人工智能处理核心所在芯片的显示查找表信息(LUT,Look-Up-Table)、触发器(FF,Flip-flop)信息、数字信号处理器信息(DSP,Digital Signal Processor)以及块随机存储器(BRAM,Block RAM)信息,但不限于此。
示例性地,所述人工智能处理核心的构造信息包括硬件描述语言代码和配置bit文件。在本实施例中,所述硬件描述语言代码为HDL代码。
参照图2所示,本发明提供的上述人工智能处理核心为具备高可展性的人工智能处理核心架构,具体地,所述人工智能处理核心包括数据存储模块1、专用指令集存储模块2、指令控制模块3以及计算单元阵列4、
其中,所述数据存储模块1用于存储待处理神经网络的输入数据和待处理神经网络的各层输出;具体地,所述数据存储模块1设置于外部内存(DDR)5与所述计算单元阵列4之间,从外部内存5中读取并存储相应数据(例如输入图片、权重等参数),运行神经网络的计算中间值数据。本实施例中,所述数据存储模块1通过与外部内存5进行数据交互,并由上位机处理器(SOC)6进行整体的资源调配控制。上述数据存储模块1的设置目的在于通过临时存储等提升计算所需数据的复用率,满足计算单元阵列4高并发吞吐的要求,并且能够免除计算单元阵列4与外部内存5的访问开销。
所述专用指令集存储模块2用于存储分别对应不同神经网络的预设专用指令集以供调用。
所述指令控制模块3用于控制所述计算单元阵列4调用所述数据存储模块1中的数据以执行对应所述神经网络的预设专用指令集的运算,满足计算单元阵列4的高并发要求;
所述计算单元阵列4包括多个构成阵列的处理单元,用于调用所述数据存储模块1的数据执行并行运算,并输出至所述数据存储模块1。
进一步地,所述人工智能处理核心还包括数据接口10,所述数据存储模块1通过所述数据接口10与外部内存5进行数据传输。
为满足所述人工智能处理核心与外部的吞吐能力需求,所述数据接口10采用高速接口,示例性地,所述数据接口10包括但不限于高清多媒体接口(HDMI接口)以及Displayport接口等高速接口。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有人工智能处理核心的自动设计程序,所述人工智能处理核心的自动设计程序用于被上位机处理器处理以实现如本实施例以上所述的人工智能处理核心的自动设计方法。
实施例2
目前主流的FPAG加速引擎架构设计都是采用单指令多数据流的处理方式,即同一时间只能处理某一个神经网络,对于由多个神经网络构成的混合神经网络,或者说对于需要多个神经网络配合才能完成的应用场景下(如以目标检测识别为例,一般至少需要检测网络、关键点网络以及特征提取网络这三个网络才能完成一次完整的目标检测与识别)。如图3所示,对于只有一个神经网络处理核心的架构,只能采取逐一处理各个神经网络的方式(如图3中的第一核心依次处理第一网络、第二网络和第三网络),由此造成识别结果的延时,由于各网络的处理速度和时间不一致,为提升核心的利用率也会提升软件调配优化的难度。而进一步地,为了保证效率,往往只能采用多batch(批处理)的方式,同时处理多个输入源(如图3中第一核心分批处理各网络的第一输入、第二输入、第三输入以及第四输入),以达到硬件资源最大化利用,但是在相同算力下与本发明的下述异构多核处理方式相比,该处理方式的延时比较严重。
而参照图4至图6所示,本发明提供了一种可重构的异构多核芯片的自动设计方法,所述多核芯片的自动设计方法包括:
P1、获取待处理的混合神经网络中各个神经网络对应的需求运算能力信息和处理时间限制信息,分别将每个神经网络分配至所述多核芯片中的一个或多个人工智能处理核心进行处理,对各个人工智能处理核心的算力进行分配,以使不同神经网络的处理时间之间的差值小于预设阈值;
P2、根据每个人工智能处理核心所对应处理的神经网络,分别采用如实施例1所述的人工智能处理核心的自动设计方法,构造每个人工智能处理核心以处理所述混合神经网络。即获取每个人工智能处理核心预定处理的神经网络的输入数据、对应预定处理的神经网络的需求运算能力信息以及硬件资源信息这些设计空间信息,然后根据上述设计空间信息分别构造各个定制化的人工智能处理核心,以调节所述人工智能处理核心的存储容量、参与运算的处理单元数目、数据吞吐量以及运行频率(比如图5中的第一人工智能处理核心的缓存调为1MB、处理单元数目调为768个,运行频率调为300Mhz),进而使每个人工智能处理核心执行对应神经网络的预设专用指令集,并且优化每个人工智能处理核心内存储与计算间效率。
本实施例中的上述多核芯片为可重构的异构多核FPGA,其在芯片级层面上,能够针对应用场景的混合神经网络中不同类型的神经网络分别配置相对应的人工智能处理核心,并且利用上述实施例1中的人工智能处理核心的自动设计方法,实现芯片上各个人工智能处理核心的定制,从而能够做到各神经网络的处理时间基本一致,达到各人工智能处理核心以及软件部分时在整个系统处理层面上的平衡,使各神经网络的处理能够实现接近流水化过程,可以保证每个输入结果输出延时更低也更稳定,同时软件对于各个人工智能处理核心利用和调配也大幅简化,降低了软件优化的难度。
实施例3
端节点人工处理系统常常也需要应对不同的应用需求,如有时候需要进行高速物体抓拍,有时需要进行高速行为识别等需要完全不一样的网络模型,对此,参照图7所示,本发明提供了一种基于神经网络应用的硬件资源调配方法,所述基于神经网络应用的硬件资源调配方法包括:
T1、采用如实施例2所述的多核芯片的自动设计方法分别对不同的预设神经网络应用进行处理,以离线构造一一对应预设神经网络应用的多核芯片,并分别生成芯片构造信息;
T2、为在线待处理的神经网络应用配置根据对应预设神经网络应用的芯片构造信息进行构造的多核芯片;
T3、采用如实施例1所述的人工智能处理核心的自动设计方法对所述多核芯片中的人工智能处理核心进行设计。
上述基于神经网络应用的硬件资源调配方法运行于软件端并由上位机处理器SOC进行处理,具体地,所述步骤T1中离线生成包括硬件配置bit文件及相应的指令集等芯片构造信息,存储到所述外部内存DDR中,由运行于上位机处理器SOC的软件完成相应映射及管理。而所述步骤S32中,再从所述外部内存DDR中调取预先生成的上述芯片构造信息,实时动态配置进FPGA中。
结合图8所示,上述基于神经网络应用的硬件资源调配方法可以根据不同上层应用的需求,配置对应的多核芯片,实现在不同处理场景处理不同的神经网络模型,并且能够配合多核芯片的上述自动设计方法,对不同人工智能处理核心进行动态配置,通过调节芯片中运行的处理核心数目、内部存储、计算单元数量以及运行频率等性能参数,完成对各个人工智能处理核心的单独配置,进一步降低硬件重构开销,可实现ms级别的硬件架构切换,其能动态调配整个系统的算力,达到更佳性能和功耗的平衡。
综上所述,本发明提供的上述可重构的人工智能核心与异构多核芯片的自动设计方法、基于神经网络应用的硬件资源调配方法,在处理核心层面上针对不同的网络实现定制化设计,提高各个人工智能核心乃至芯片和系统层面上的处理效能,以此为基础,进一步能够根据不同的应用场景及所需的神经网络,选择最优的处理核心架构,使系统能够对不同的神经网络处理都能保持在极为高效的计算效率状态下,实现处理系统的全面平衡,尤其是能够改善应用在边缘端的人工智能系统在不同应用场景下发生延时及性能低下的情况,有效降低系统功耗。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (13)
1.一种可重构的异构多核芯片的自动设计方法,其特征在于,包括:
获取待处理的混合神经网络中各个神经网络对应的需求运算能力信息和处理时间限制信息,分别将每个神经网络分配至所述多核芯片中的一个或多个人工智能处理核心进行处理,对各个人工智能处理核心的算力进行分配,以使不同神经网络的处理时间之间的差值小于预设阈值;
根据每个人工智能处理核心所对应处理的神经网络,分别采用可重构的人工智能处理核心的自动设计方法,构造每个人工智能处理核心以处理所述混合神经网络;
其中,可重构的人工智能处理核心的自动设计方法包括:
确定待处理神经网络及对应所述待处理神经网络的需求运算能力信息;
根据所述待处理神经网络的输入数据、对应所述待处理神经网络的需求运算能力信息以及硬件资源信息,生成所述人工智能处理核心的构造信息;
根据所述构造信息构造所述人工智能处理核心,以对应调节所述人工智能处理核心的存储容量、参与运算的处理单元数目、数据吞吐量以及运行频率,利用构造的所述人工智能处理核心处理所述待处理神经网络。
2.根据权利要求1所述的可重构的异构多核芯片的自动设计方法,其特征在于,利用构造的所述人工智能处理核心处理所述待处理神经网络包括:
所述人工智能处理核心执行对应神经网络的预设专用指令集。
3.根据权利要求1所述的可重构的异构多核芯片的自动设计方法,其特征在于,所述硬件资源信息包括所述人工智能处理核心所在芯片的显示查找表信息、触发器信息、数字信号处理器信息以及块随机存储器信息。
4.根据权利要求1所述的可重构的异构多核芯片的自动设计方法,其特征在于,所述人工智能处理核心的构造信息包括硬件描述语言代码和配置bit文件。
5.根据权利要求1所述的可重构的异构多核芯片的自动设计方法,其特征在于, 所述人工智能处理核心包括数据存储模块、计算单元阵列、指令控制模块以及专用指令集存储模块,其中,
所述数据存储模块用于存储待处理神经网络的输入数据和待处理神经网络的各层输出;
所述专用指令集存储模块用于存储分别对应不同神经网络的预设专用指令集以供调用;
所述指令控制模块用于控制所述计算单元阵列调用所述数据存储模块中的数据以执行对应所述神经网络的预设专用指令集的运算;
所述计算单元阵列包括多个构成阵列的处理单元,用于调用所述数据存储模块的数据执行并行运算,并输出至所述数据存储模块。
6.根据权利要求5所述的可重构的异构多核芯片的自动设计方法,其特征在于,所述人工智能处理核心还包括数据接口,所述数据存储模块通过所述数据接口与外部存储进行数据传输。
7.一种基于神经网络应用的硬件资源调配方法,其特征在于,包括:
采用如权利要求1所述的可重构的异构多核芯片的自动设计方法分别对不同的预设神经网络应用进行处理,以离线构造一一对应预设神经网络应用的多核芯片,并分别生成芯片构造信息;
为在线待处理的神经网络应用配置根据对应预设神经网络应用的芯片构造信息进行构造的多核芯片;
采用可重构的人工智能处理核心的自动设计方法对所述多核芯片中的人工智能处理核心进行设计;
其中,可重构的人工智能处理核心的自动设计方法包括:
确定待处理神经网络及对应所述待处理神经网络的需求运算能力信息;
根据所述待处理神经网络的输入数据、对应所述待处理神经网络的需求运算能力信息以及硬件资源信息,生成所述人工智能处理核心的构造信息;
根据所述构造信息构造所述人工智能处理核心,以对应调节所述人工智能处理核心的存储容量、参与运算的处理单元数目、数据吞吐量以及运行频率,利用构造的所述人工智能处理核心处理所述待处理神经网络。
8.根据权利要求7所述的基于神经网络应用的硬件资源调配方法,其特征在于,利用构造的所述人工智能处理核心处理所述待处理神经网络包括:
所述人工智能处理核心执行对应神经网络的预设专用指令集。
9.根据权利要求7所述的基于神经网络应用的硬件资源调配方法,其特征在于,所述硬件资源信息包括所述人工智能处理核心所在芯片的显示查找表信息、触发器信息、数字信号处理器信息以及块随机存储器信息。
10.根据权利要求7所述的基于神经网络应用的硬件资源调配方法,其特征在于,所述人工智能处理核心的构造信息包括硬件描述语言代码和配置bit文件。
11.根据权利要求7所述的基于神经网络应用的硬件资源调配方法,其特征在于, 所述人工智能处理核心包括数据存储模块、计算单元阵列、指令控制模块以及专用指令集存储模块,其中,
所述数据存储模块用于存储待处理神经网络的输入数据和待处理神经网络的各层输出;
所述专用指令集存储模块用于存储分别对应不同神经网络的预设专用指令集以供调用;
所述指令控制模块用于控制所述计算单元阵列调用所述数据存储模块中的数据以执行对应所述神经网络的预设专用指令集的运算;
所述计算单元阵列包括多个构成阵列的处理单元,用于调用所述数据存储模块的数据执行并行运算,并输出至所述数据存储模块。
12.根据权利要求11所述的基于神经网络应用的硬件资源调配方法,其特征在于,所述人工智能处理核心还包括数据接口,所述数据存储模块通过所述数据接口与外部存储进行数据传输。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于神经网络应用的硬件资源调配程序,所述基于神经网络应用的硬件资源调配程序用于被上位机处理器处理以实现如权利要求7所述的基于神经网络应用的硬件资源调配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010116890.8A CN111339027B (zh) | 2020-02-25 | 2020-02-25 | 可重构的人工智能核心与异构多核芯片的自动设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010116890.8A CN111339027B (zh) | 2020-02-25 | 2020-02-25 | 可重构的人工智能核心与异构多核芯片的自动设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111339027A CN111339027A (zh) | 2020-06-26 |
CN111339027B true CN111339027B (zh) | 2023-11-28 |
Family
ID=71181827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010116890.8A Active CN111339027B (zh) | 2020-02-25 | 2020-02-25 | 可重构的人工智能核心与异构多核芯片的自动设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111339027B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022007879A1 (zh) | 2020-07-09 | 2022-01-13 | 北京灵汐科技有限公司 | 权重精度配置方法和装置、计算机设备、存储介质 |
CN111831356B (zh) * | 2020-07-09 | 2023-04-07 | 北京灵汐科技有限公司 | 权重精度配置方法、装置、设备及存储介质 |
CN111967572A (zh) * | 2020-07-10 | 2020-11-20 | 逢亿科技(上海)有限公司 | 一种基于FPGA的YOLO V3和YOLO V3 Tiny网络切换方法 |
CN112911234A (zh) * | 2021-01-26 | 2021-06-04 | 上海商米科技集团股份有限公司 | 一种适用于智能ipc的功耗控制方法 |
CN113467590B (zh) * | 2021-09-06 | 2021-12-17 | 南京大学 | 一种基于相关性和人工神经网络的众核芯片温度重构方法 |
CN114330675A (zh) * | 2021-12-30 | 2022-04-12 | 上海阵量智能科技有限公司 | 一种芯片、加速卡、电子设备和数据处理方法 |
CN115098262B (zh) * | 2022-06-27 | 2024-04-23 | 清华大学 | 一种多神经网络任务处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016175A (zh) * | 2017-03-23 | 2017-08-04 | 中国科学院计算技术研究所 | 适用神经网络处理器的自动化设计方法、装置及优化方法 |
CN107103113A (zh) * | 2017-03-23 | 2017-08-29 | 中国科学院计算技术研究所 | 面向神经网络处理器的自动化设计方法、装置及优化方法 |
CN107169560A (zh) * | 2017-04-19 | 2017-09-15 | 清华大学 | 一种自适应可重构的深度卷积神经网络计算方法和装置 |
CN108510064A (zh) * | 2016-04-18 | 2018-09-07 | 中国科学院计算技术研究所 | 包括多个核心处理模块的人工神经网络的处理系统及方法 |
CN109784489A (zh) * | 2019-01-16 | 2019-05-21 | 北京大学软件与微电子学院 | 基于fpga的卷积神经网络ip核 |
CN110674936A (zh) * | 2019-09-24 | 2020-01-10 | 上海寒武纪信息科技有限公司 | 一种神经网络处理方法、装置、计算机设备及存储介质 |
-
2020
- 2020-02-25 CN CN202010116890.8A patent/CN111339027B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108510064A (zh) * | 2016-04-18 | 2018-09-07 | 中国科学院计算技术研究所 | 包括多个核心处理模块的人工神经网络的处理系统及方法 |
CN107016175A (zh) * | 2017-03-23 | 2017-08-04 | 中国科学院计算技术研究所 | 适用神经网络处理器的自动化设计方法、装置及优化方法 |
CN107103113A (zh) * | 2017-03-23 | 2017-08-29 | 中国科学院计算技术研究所 | 面向神经网络处理器的自动化设计方法、装置及优化方法 |
CN107169560A (zh) * | 2017-04-19 | 2017-09-15 | 清华大学 | 一种自适应可重构的深度卷积神经网络计算方法和装置 |
CN109784489A (zh) * | 2019-01-16 | 2019-05-21 | 北京大学软件与微电子学院 | 基于fpga的卷积神经网络ip核 |
CN110674936A (zh) * | 2019-09-24 | 2020-01-10 | 上海寒武纪信息科技有限公司 | 一种神经网络处理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111339027A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339027B (zh) | 可重构的人工智能核心与异构多核芯片的自动设计方法 | |
Li et al. | Resource allocation and task offloading for heterogeneous real-time tasks with uncertain duration time in a fog queueing system | |
Im et al. | Tight bounds for online vector scheduling | |
CN107508698B (zh) | 雾计算中基于内容感知和带权图的软件定义服务重组方法 | |
CN107360031B (zh) | 一种基于优化开销收益比的虚拟网络映射方法 | |
Tessier et al. | Topology-aware data aggregation for intensive I/O on large-scale supercomputers | |
CN105553882A (zh) | 用于sdn数据平面资源调度的方法 | |
Zotov et al. | Resource allocation algorithm in data centers with a unified scheduler for different types of resources | |
Cruz-Chávez et al. | Hybrid micro genetic multi-population algorithm with collective communication for the job shop scheduling problem | |
CN112488563B (zh) | 一种算力参数的确定方法和装置 | |
CN116956756B (zh) | 模型部署方法、任务处理方法、装置、设备及存储介质 | |
EP4057142A1 (en) | Job scheduling method and job scheduling apparatus | |
Vahidi et al. | Optimization of resource allocation in cloud computing by grasshopper optimization algorithm | |
Swarnakar et al. | A novel improved hybrid model for load balancing in cloud environment | |
Xia et al. | Distributed resource management and admission control of stream processing systems with max utility | |
Salmani et al. | Multiple access computational offloading with computation constraints | |
CN110415162B (zh) | 大数据中面向异构融合处理器的自适应图划分方法 | |
CN110166372B (zh) | 在基于光电路交换机的数据中心中的在线调度协流的方法 | |
CN115051998A (zh) | 自适应边缘计算卸载方法、装置及计算机可读存储介质 | |
CN113783726A (zh) | 一种面向sla的边云系统的资源自适应定制方法 | |
Yang et al. | Resource reservation for graph-structured multimedia services in computing power network | |
Zhang et al. | A data transmission algorithm for distributed computing system based on maximum flow | |
Fan et al. | Shuffle scheduling for MapReduce jobs based on periodic network status | |
CN115118748B (zh) | 一种智能制造场景微服务部署方案和资源再分配方法 | |
CN116991562B (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 |