CN116089095B - 一种针对ReRAM神经网络计算引擎网络的部署方法 - Google Patents
一种针对ReRAM神经网络计算引擎网络的部署方法 Download PDFInfo
- Publication number
- CN116089095B CN116089095B CN202310178428.4A CN202310178428A CN116089095B CN 116089095 B CN116089095 B CN 116089095B CN 202310178428 A CN202310178428 A CN 202310178428A CN 116089095 B CN116089095 B CN 116089095B
- Authority
- CN
- China
- Prior art keywords
- information
- neural network
- reram
- layer
- network
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000013468 resource allocation Methods 0.000 claims abstract description 28
- 239000002245 particle Substances 0.000 claims abstract description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种针对ReRAM神经网络计算引擎网络的部署方法,属于神经网络技术领域,其方法包括:步骤1:解析神经网络,获取各层的基础信息;步骤2:进行ReRAM资源分配,得到ReRAM资源分配信息;步骤3:进行DMA资源分配,生成rdma与wdma的配置信息;步骤4:进行gbuf资源分配,生成分配信息;步骤5:遍历神经网络,将上述分配信息整合到各层,生成整个网络的配置部署信息。本发明可快速提供部署网络需要的引擎配置,提高了存算颗粒摆放权重的效率。
Description
技术领域
本发明涉及神经网络技术领域,尤其涉及一种针对ReRAM神经网络计算引擎网络的部署方法。
背景技术
神经网络部署需要解析训练的网络数据,根据计算引擎计算规则将算子映射到硬件上,基于ReRAM的神经网络引擎与一般的神经网络引擎在卷积计算时数据载入方面有本质区别。一般的神经网络引擎在卷积计算时需要载入权重与特征向量,基于ReRAM的神经网络引擎事先已经在存算颗粒上写入可复用的权重,计算时只需要载入特征向量。所以,基于上述特征,基于ReRAM的神经网络计算引擎的网络部署依赖关系是权重分配时确定的。
分析整个网络的部署过程,提出针对ReRAM的神经网络计算引擎的网络部署算法,大致可以分为:解析训练的网络数据,分配存算颗粒资源,分配DMA资源,分配Gbuf资源,生成引擎配置数据。
但是,存算神经网络引擎网络部署却存在着以下难题:
(1)reram上权重摆放复杂,权重摆放信息影响feature的读取与gbuf上的数据摆放。
(2)存在多种资源的相互牵制。reram的容量及colmns并行度,gbuf的容量,dma的并行度等因素相互影响,部署神经网络复杂。
发明内容
本发明的目的在于克服现有技术的不足,提供一种自动化部署网络到存算神经网络计算引擎的算法,同时网络提高部署效率,从而提供一种针对ReRAM神经网络计算引擎网络的部署方法。
本发明的目的是通过以下技术方案来实现的:
一种针对ReRAM神经网络计算引擎网络的部署方法,包括以下步骤:
步骤1:解析神经网络,获取各层的基础信息;
步骤2:进行ReRAM资源分配,得到ReRAM资源分配信息;
步骤3:进行DMA资源分配,生成rdma与wdma的配置信息;
步骤4:进行gbuf资源分配,生成分配信息;
步骤5:遍历神经网络,将上述分配信息整合到各层,生成整个网络的配置部署信息。
进一步的,所述步骤1中解析神经网络是通过解析编译器进行,并在解析编译器前端生成获取各层基础信息的tflite文件。
进一步的,所述步骤2具体包括以下子步骤:
步骤201:遍历神经网络各层信息,提取含有权重的层信息到数组中;
步骤202:根据计算引擎约束,对各层权重的立方体进行转换,形成层立方体;
步骤203:使用3d背包算法将层立方体放到ReRAM资源立方体中,并根据坐标信息得到ReRAM资源分配信息
进一步的,所述使用3d背包算法将层立方体放到ReRAM资源立方体中具体为:对3维小立方体降序排列;依次传入排序好的小立方体进行存放,并先沿colums方向摆放,如果小立方体的columns超过存算颗粒大立方体的边界,则增加最大的rowBanks到下一行摆放;再沿rowBank方向摆放,如果当前平面摆放满,则增加rows到下一层空间摆放;最后沿rows方向摆放。
进一步的,所述步骤3具体包括以下子步骤:
步骤301:遍历神经网络各层的基础信息及ReRAM资源分配信息,获取每次计算量信息;
步骤302:根据神经网络建立图结构,形成特征图的依赖关系;
步骤303:遍历形成的图,合并节点上的计算量信息;
步骤304:根据计算引擎内部特征图的数据流及gbuf上的数据格式,生成rdma与wdma的配置信息。
进一步的,所述步骤4具体包括以下子步骤:
步骤401:根据神经网络建立特征图数据流依赖的图结构;
步骤402:根据DMA分配的wdma信息得到神经网络各层的特征图在gbuf上占用情况;
步骤403:使用堆栈算法模拟分配与回收gbuf资源,并生成分配信息。
本发明的有益效果:
(1)本发明提出行之有效的存算神经网络计算引擎的网络部署算法,可快速提供部署网络需要的引擎配置。
(2)本发明reram分配使用3d背包算法,提高存算颗粒摆放权重的效率。
(3)本发明分析存算神经网络计算引擎网络部署的依赖关系,根据依赖关系提出解决算法,从而快速部署网络到计算引擎上。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明的方法流程图。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本实施例中,如图1所示,一种针对ReRAM神经网络计算引擎网络的部署方法,包括以下步骤:
步骤1:解析神经网络,获取各层的基础信息;
步骤2:进行ReRAM资源分配,得到ReRAM资源分配信息;通过解析编译器前端生成的tflite文件,从而获取执行的基础信息。
其包括以下子步骤:
步骤201:遍历神经网络各层信息,提取含有权重的层信息到数组中;
步骤202:根据计算引擎约束,对各层权重的立方体进行转换,形成层立方体;
步骤203:使用3d背包算法将层立方体放到ReRAM资源立方体中,并根据坐标信息得到ReRAM资源分配信息。其中,
步骤3:进行DMA资源分配,生成rdma与wdma的配置信息;
其具体包括以下子步骤:
步骤301:遍历神经网络各层的基础信息及ReRAM资源分配信息,获取每次计算量信息;
步骤302:根据神经网络建立图结构,形成特征图的依赖关系;
步骤303:遍历形成的图,合并节点上的计算量信息;
步骤304:根据计算引擎内部特征图的数据流及gbuf上的数据格式,生成rdma与wdma的配置信息。
步骤4:进行gbuf资源分配,生成分配信息;
其具体包括以下子步骤:
步骤401:根据神经网络建立特征图数据流依赖的图结构;
步骤402:根据DMA分配的wdma信息得到神经网络各层的特征图在gbuf上占用情况;
步骤403:使用堆栈算法模拟分配与回收gbuf资源,并生成分配信息。注意,不变数据分配到固定区域(不可覆盖)。
步骤5:遍历神经网络,将上述分配信息整合到各层。,生成整个网络的配置部署信息。
在本实施例中,所述使用3d背包算法将层立方体放到ReRAM资源立方体中具体为:对3维小立方体降序排列(降序优先级:rowbank>columns>rows);依次传入排序好的小立方体进行存放,并先沿colums方向摆放,如果小立方体的columns超过存算颗粒大立方体的边界,则增加最大的rowBanks到下一行摆放;再沿rowBank方向摆放,如果当前平面摆放满,则增加rows到下一层空间摆放;最后沿rows方向摆放。
在本实施例中,神经网络权重转换的映射关系说明如下:
(1)rowBank表示并行放置的bank数量,即一次进行能使用的最大bank数量。
(2)一个bank由144B(列方向) * 256 行(行方向)组成,即一个bank的存储容量为144B * 256 = 36 KB。
(3)底面由rowBank * columns组成,表示当前的计算资源。
其ReRAM资源立方体的映射关系同上。
本发明根据ReRAM神经网络计算引擎分析数据依赖关系,即层基础信息依赖解析训练的数据,ReRAM资源分配依赖基础信息,DMA资源分配依赖ReRAM资源分配信息,gbuf资源分配依赖DMA资源分配信息,计算引擎部署配置依赖上述资源分配信息。
需要特别说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM、RAM等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (5)
1.一种针对ReRAM神经网络计算引擎网络的部署方法,其特征在于,包括以下步骤:
步骤1:解析神经网络,获取各层的基础信息;
步骤2:进行ReRAM资源分配,得到ReRAM资源分配信息;
步骤3:进行DMA资源分配,生成rdma与wdma的配置信息;
步骤4:进行gbuf资源分配,生成分配信息;
步骤5:遍历神经网络,将上述分配信息整合到各层,生成整个网络的配置部署信息;
其中,所述步骤2具体包括以下子步骤:
步骤201:遍历神经网络各层信息,提取含有权重的层信息到数组中;
步骤202:根据计算引擎约束,对各层权重的立方体进行转换,形成层立方体;
步骤203:使用3d背包算法将层立方体放到ReRAM资源立方体中,并根据坐标信息得到ReRAM资源分配信息。
2.根据权利要求1所述的一种针对ReRAM神经网络计算引擎网络的部署方法,其特征在于,所述步骤1中解析神经网络是通过解析编译器进行,并在解析编译器前端生成获取各层基础信息的tflite文件。
3.根据权利要求1所述的一种针对ReRAM神经网络计算引擎网络的部署方法,其特征在于,所述使用3d背包算法将层立方体放到ReRAM资源立方体中具体为:对3维小立方体降序排列;依次传入排序好的小立方体进行存放,并先沿colums方向摆放,如果小立方体的columns超过存算颗粒大立方体的边界,则增加最大的rowBanks到下一行摆放;再沿rowBank方向摆放,如果当前平面摆放满,则增加rows到下一层空间摆放;最后沿rows方向摆放。
4.根据权利要求1所述的一种针对ReRAM神经网络计算引擎网络的部署方法,其特征在于,所述步骤3具体包括以下子步骤:
步骤301:遍历神经网络各层的基础信息及ReRAM资源分配信息,获取每次计算量信息;
步骤302:根据神经网络建立图结构,形成特征图的依赖关系;
步骤303:遍历形成的图,合并节点上的计算量信息;
步骤304:根据计算引擎内部特征图的数据流及gbuf上的数据格式,生成rdma与wdma的配置信息。
5.根据权利要求1所述的一种针对ReRAM神经网络计算引擎网络的部署方法,其特征在于,所述步骤4具体包括以下子步骤:
步骤401:根据神经网络建立特征图数据流依赖的图结构;
步骤402:根据DMA分配的wdma信息得到神经网络各层的特征图在gbuf上占用情况;
步骤403:使用堆栈算法模拟分配与回收gbuf资源,并生成分配信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310178428.4A CN116089095B (zh) | 2023-02-28 | 2023-02-28 | 一种针对ReRAM神经网络计算引擎网络的部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310178428.4A CN116089095B (zh) | 2023-02-28 | 2023-02-28 | 一种针对ReRAM神经网络计算引擎网络的部署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116089095A CN116089095A (zh) | 2023-05-09 |
CN116089095B true CN116089095B (zh) | 2023-10-27 |
Family
ID=86214124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310178428.4A Active CN116089095B (zh) | 2023-02-28 | 2023-02-28 | 一种针对ReRAM神经网络计算引擎网络的部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089095B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020133317A1 (zh) * | 2018-12-29 | 2020-07-02 | 华为技术有限公司 | 计算资源分配技术及神经网络系统 |
CN112465108A (zh) * | 2020-11-11 | 2021-03-09 | 上海交通大学 | 一种面向存算一体平台的神经网络编译方法 |
CN114398040A (zh) * | 2021-12-24 | 2022-04-26 | 上海商汤科技开发有限公司 | 一种神经网络推理方法、装置、计算机设备及存储介质 |
CN114418072A (zh) * | 2022-01-28 | 2022-04-29 | 上海交通大学 | 一种面向多核忆阻器存算一体平台的卷积算子映射方法 |
CN115186796A (zh) * | 2022-06-02 | 2022-10-14 | 北京理工大学 | 基于fpga的卷积神经网络自动部署方法 |
CN115310581A (zh) * | 2021-05-06 | 2022-11-08 | 桂林电子科技大学 | 一种忆阻器卷积神经网络权重训练方法及装置 |
CN115712506A (zh) * | 2022-11-28 | 2023-02-24 | 中国科学院计算技术研究所 | 一种资源分配方法以及加速器 |
-
2023
- 2023-02-28 CN CN202310178428.4A patent/CN116089095B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020133317A1 (zh) * | 2018-12-29 | 2020-07-02 | 华为技术有限公司 | 计算资源分配技术及神经网络系统 |
CN113597621A (zh) * | 2018-12-29 | 2021-11-02 | 华为技术有限公司 | 计算资源分配技术及神经网络系统 |
CN112465108A (zh) * | 2020-11-11 | 2021-03-09 | 上海交通大学 | 一种面向存算一体平台的神经网络编译方法 |
CN115310581A (zh) * | 2021-05-06 | 2022-11-08 | 桂林电子科技大学 | 一种忆阻器卷积神经网络权重训练方法及装置 |
CN114398040A (zh) * | 2021-12-24 | 2022-04-26 | 上海商汤科技开发有限公司 | 一种神经网络推理方法、装置、计算机设备及存储介质 |
CN114418072A (zh) * | 2022-01-28 | 2022-04-29 | 上海交通大学 | 一种面向多核忆阻器存算一体平台的卷积算子映射方法 |
CN115186796A (zh) * | 2022-06-02 | 2022-10-14 | 北京理工大学 | 基于fpga的卷积神经网络自动部署方法 |
CN115712506A (zh) * | 2022-11-28 | 2023-02-24 | 中国科学院计算技术研究所 | 一种资源分配方法以及加速器 |
Also Published As
Publication number | Publication date |
---|---|
CN116089095A (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515739B (zh) | 深度学习神经网络模型负载计算方法、装置、设备及介质 | |
CN111758107B (zh) | 用于基于硬件的池化的系统和方法 | |
EP3179415A1 (en) | Systems and methods for a multi-core optimized recurrent neural network | |
US8259104B2 (en) | Domain decomposition by the advancing-partition method for parallel unstructured grid generation | |
US9959670B2 (en) | Method for rendering terrain | |
CN103902384B (zh) | 为虚拟机分配物理机的方法及装置 | |
CN110765320B (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
CN104794687A (zh) | 点云精简系统及方法 | |
CN106874602B (zh) | 气象数据处理方法和装置 | |
CN109272029A (zh) | 井控稀疏表征大规模谱聚类地震相划分方法 | |
WO2016095068A1 (en) | Pedestrian detection apparatus and method | |
Margaris et al. | Parallel implementations of the jacobi linear algebraic systems solve | |
CN113722112B (zh) | 一种服务资源负载均衡处理方法及系统 | |
CN114492782A (zh) | 基于强化学习的神经网络的片上核心编译映射方法及装置 | |
CN116644804A (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
CN114580636A (zh) | 基于三目标联合优化的神经网络轻量化部署方法 | |
CN116089095B (zh) | 一种针对ReRAM神经网络计算引擎网络的部署方法 | |
CN106503386A (zh) | 评估光功率预测算法性能优劣的方法及装置 | |
CN113094899A (zh) | 一种随机潮流计算方法、装置、电子设备及存储介质 | |
CN107506572A (zh) | 获取目标点的高度的方法和装置 | |
KR101642823B1 (ko) | 이웃 탐색 연산 시스템 | |
CN113412493A (zh) | 基于推理引擎的计算资源分配方法、装置和计算机设备 | |
CN115829000A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN116306811B (zh) | 一种针对ReRAM部署神经网络的权重分配方法 | |
CN111985542B (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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Dong Guangda Inventor after: Yu Shaohua Inventor after: Xiong Dapeng Inventor before: Dong Guangda Inventor before: Yu Shaohua Inventor before: Xiong Dapeng Inventor before: Li Tao |