CN112988621A - 一种张量数据的数据载入装置及方法 - Google Patents

一种张量数据的数据载入装置及方法 Download PDF

Info

Publication number
CN112988621A
CN112988621A CN202110272918.1A CN202110272918A CN112988621A CN 112988621 A CN112988621 A CN 112988621A CN 202110272918 A CN202110272918 A CN 202110272918A CN 112988621 A CN112988621 A CN 112988621A
Authority
CN
China
Prior art keywords
data
input
tensor
parallel
register array
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
CN202110272918.1A
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 Xinqi Microelectronics Technology Co ltd
Original Assignee
Suzhou Xinqi Microelectronics 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 Xinqi Microelectronics Technology Co ltd filed Critical Suzhou Xinqi Microelectronics Technology Co ltd
Priority to CN202110272918.1A priority Critical patent/CN112988621A/zh
Publication of CN112988621A publication Critical patent/CN112988621A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提出一种张量数据的数据载入装置及方法,用于卷积神经网络计算加速。本发明包括:输入缓存及控制,针对主存储器或/和其他存储器的输入进行分割、实现区域数据共享以及张量数据融合、分发;并行输入寄存阵列,将输入缓存中的数据分割片进行变换;张量型数据载入单元,连接输入缓存的输出以及并行输入寄存阵列的输入。设计简化了地址译码电路,节省面积和功耗。本发明提供的硬件装置及数据处理方法包括对输入数据的变换法、分割法和编址法,满足以有限的硬件资源进行算法加速的需求,降低了地址管理复杂度。

Description

一种张量数据的数据载入装置及方法
技术领域
本发明属于计算机硬件、人工神经网络算法部署硬件加速的领域,数字集成电路设计领域,具体涉及一种深度卷积神经网络硬件加速芯片的输入系统的架构设计方法、及其装置。
背景技术
深度卷积神经网络算法由多层具体的神经元算法层、隐藏层组成,主要包含有卷积层,主要算子为矩阵或向量的卷积计算。该计算任务的主要特点为输入的数据量大、输入数据具有空间特征信息的耦合,且每次卷积计算的数据往往与已经计算过的数据发生重叠,输入数据往往为从张量格式的数据中以一定空间规律抽取所需要的计算数据。
近年来在终端部署人工神经算法已经成为广泛需求,但在相关场景下,加速芯片的性能、成本因素成为制约需求的主要因素。专利文件1(公开号CN105488565A)公开了一种加速深度神经网络算法的加速芯片的运算装置及方法,为克服大量的中间值被生成并需要存储,从而所需主存空间增加的问题,其运算装置中均设置有中间值存储区域,这些区域被配置为随机存储器,以减少对主存储器的中间值读取和写入次数,降低加速器芯片的能量消耗,避免数据处理过程中的数据缺失和替换问题。专利文件2(申请公布号CN107341544A)公开了一种基于可分割阵列的可重构加速器及其实现方法,设计了便笺式存储器缓存区,用于实现数据重用。专利文件3(公开号USB0170103316A1)公开了一种卷积神经网络加速器的方法、系统及装置,在其中设计了Unified Buffer。专利文件4(公开号US20180341495A1)公开了一种卷积神经网络加速器及方法,其中采用cache装置来提供并行加速所需数据。这些发明都非常优秀,已开展在服务器、数据中心以及高端智能手机上的应用,但在终端的应用还有问题。
在终端部署人工神经算法,其需求特征为,由于加速芯片的硬件资源有限,必需要将数据进行分割处理,并尽量减少数据的膨胀;而对于不同领域和产业场景所常用的人工神经网络算法不同,这种处理应为一套简单、便于实现的方法,否则仍难以“落地”。在专利文件1和3所述发明中,由于不同神经网络算法层尺寸不一、数据重用度不同而导致加速器资源的浪费,以至于需要配合其他异构处理器来帮助解决数据相关的问题,要么就是依靠更深亚微米高成本先进工艺来提升性能;专利3所述的存储方式需要备份更多数据,导致Buffer尺寸太大;专利2的方法采用可重构计算思想,虽然极为注重节省资源浪费,但其数据分割和排布方法很复杂,需配合先进的计算任务部署编译器来辅助应用;专利4的发明与中央处理器的设计过于耦合,同时设计实现复杂度过高。
发明内容
本发明提供一种对深度卷积神经网络计算加速的、结合主存储器的数据载入装置的硬件电路设计及方法,
以降低硬件电路设计的复杂度、降低芯片的面积和功耗,同时还能提供高吞吐率、高性能的并行数据带宽,提高芯片的计算资源与内存带宽利用率,降低应用的复杂度与成本。
为实现上述目的,本发明结合可伸缩的并行数据载入装置,提供了一种再结合主存储器的数据载入装置,该数据载入装置包括:
张量型随机访问控制器,对来自主存储器或/和其他存储器的输入数据进行融合、排布以及数据格式转化,再分发到输入缓存单元的分割区域中,所述工作模式可通过软件重配置;
可分割输入缓存单元,是本发明所述的数据载入装置的本地缓存,由多个存储页组成,设计及存储方法与输入数据的维度以及并行输入寄存阵列相对应,支持所述软件重配置带来的数据格式的改变;
张量型数据载入装置,通过改变对可分割输入缓存单元各个存储页的访问格式,完成对张量数据的融合或重排,同时还具有数据补齐(padding)功能,再将处理后的数据载入到并行输入寄存阵列;
并行输入寄存阵列,向对深度卷积神经网络并行加速计算单元阵列进行高带宽的数据输入。
对于主存储器或/和其他存储器中存储的关于深度卷积神经网络算法层所输出的特征图,该装置提供数据重排布的缓存及快速寄存区域,简化了输入数据排布的难度;其中的可分割输入缓存单元可以被反复访问,被再访问的数据格式更为规整;当其中的数据已经作废时,可重新从主存储器或/和其他存储器中高效的写入新数据。
本发明提供一种数据载入装置设计方法,将本地缓存单元分割为多个存储页,可由张量型输入缓存随机访问控制器并行访问多个页;存储页及张量型数据载入装置的设计与并行输入寄存阵列的伸缩性相对应,满足特定的设计公式。该设计方法能够化简该装置中的硬件电路复杂度,降低面积和功耗。
本发明的效果在于:
1、简化了硬件并行计算单元阵列与输入装置之间的连接复杂度
2、简化了输出装置与主存储之间排布数据的空间复杂度
3、简化了软件排布数据、划分数据宏块的地址计算复杂度
4、提高了硬件并行计算单元阵列的实际应用效率
5、更适合在低成本嵌入式ASIC芯片上实现。
附图说明
图1为本发明一种数据输入装置的结构图;
图2为本发明所述张量型数据载入装置与存储页及可伸缩并行输入寄存阵列之间的结构及设计方法图;
图3为本发明所述张量型数据载入装置与存储页及可伸缩并行输入寄存阵列之间的具体结构图;
图4为本发明结合主存储器的数据载入方法图;
附图标记说明
1并行硬件计算单元阵列(Process Elements Array,PEA)
101卷积计算单元(Process Element, PE)
2结合主存储器的数据输入装置
201可分割输入缓存单元
202可伸缩并行输入寄存阵列
204张量型数据载入装置(LDI)
205张量型输入缓存随机访问控制器
5高性能片上数据总线
6主存储器及其控制器。
具体实施方式
下面通过附图和实施例,对本发明进一步详细描述。
图1为本发明一种再结合主存储器的数据载入装置结构图,该数据载入装置2包括:
张量型输入缓存随机访问控制器205,对来自主存储器6或/和其他存储器的输入数据进行融合、排布以及数据格式转化,再分发到输入缓存单元201的分割区域中,所述工作模式可通过软件重配置;
可分割输入缓存单元201,是本发明所述的数据载入装置的本地缓存,由多个存储页组成,设计及存储方法与输入数据的维度以及并行输入寄存阵列202相对应,支持所述软件重配置带来的数据格式的改变;
张量型数据载入装置204,通过改变对可分割输入缓存单元201各个存储页的访问格式,完成对张量数据的融合或重排,同时还具有数据补齐(padding)功能,再将处理后的数据载入到并行输入寄存阵列202;
并行输入寄存阵列202,向对深度卷积神经网络并行加速计算单元阵列进行高带宽的数据输入。
对于主存储器6或/和其他存储器中存储的关于深度卷积神经网络算法层之前一隐含层所输出的特征图,该装置提供数据重排布的缓存及快速寄存区域,简化了输入数据排布的难度;其中的可分割输入缓存单元201可以被反复访问,被再访问的数据格式更为规整;当其中的数据已经作废时,可重新从主存储器6或/和其他存储器中高效的写入新数据。
本发明提供一种对应可伸缩的并行输入寄存阵列设计可分割的输入缓存的方法:假设并行输入寄存阵列202例化有行、列表示为Rh、Rw个输入寄存器,则输入缓存201的分页数目也设计为Rh个bank页;假设输入数据位宽为DW,并行输入寄存阵列202每次装填可供并行加速计算阵列1连续加速计算Bw*Bh次,则装填并行输入寄存阵列202的位宽计算方法为⌈Rw/Bw⌉*DW;依据并行加速计算单元阵列1的并行度P以及卷积核最小尺寸Kmin,可折中选定Bw*Bh;考虑到与主存储系统设计所需缓冲深度tm,每bank页的深度为tm*Rw。图2解释了本设计方法的对应关系。
图2为本发明所述张量型数据载入装置204与存储页201及可伸缩并行输入寄存阵列202之间的结构及设计方法图:张量型数据载入装置包含几组同样且并行工作的读写单元,组的数目与每个PE在IRA对应需要访问的输入数据的范围有关,为⌈2/Rh⌉+K,每一LDI读写组单元对应并行输入寄存阵列的Bh行进行操作;工作方法为先写并行输入寄存阵列的对应行,每次写⌈Rw/Bw⌉*DW、写Bw次后写完这一行,再写下一行,直到写完对应的Bh行,则当前的IRA装填完毕;该所述张量型数据载入装置204中的一个LDI读写组单元所对应的Bh行的分布,是依据IRA与PEA工作特征所决定的区域大小、采取跨区域间隔分布的;所有的LDI读写组单元并行写入IRA,当写完一行时,可供并行计算单元阵列PEA至少完成一次矩阵卷积计算的数据已被装填完毕。图3具体解释了本设计方法的对应关系。
图4为本发明结合主存储器的数据载入方法及流程图:
首先,输入数据在主存储器中按照扫描顺序正常摆放,按照2维格式进行编码,如图所示,r表示输入数据图,数字表示编址;
依据本发明装置中并行输入寄存阵列的寄存规模,将输入数据进行切块;
启动张量型输入缓存随机访问控制器205,根据切割的输入数据块的首地址与张量读取方式对其进行配置,由该访问控制器完成对输入数据的张量操作,例如融合、转置等;
配置张量型输入缓存随机访问控制器205的写入模式,按照bank分页依次写入,同时对数据进行一定规律的重排列,满足本发明所述的缓存数据排列方式。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种张量数据的数据载入装置,其特征在于,所述硬件装置包括:
张量型随机访问控制器,对来自主存储器或/和其他存储器的输入数据进行融合、排布以及数据格式转化,再分发到输入缓存单元的分割区域中,所述工作模式可通过软件重配置;
可分割输入缓存单元,是本发明所述的数据载入装置的本地缓存,由多个存储页组成,设计及存储方法与输入数据的维度以及并行输入寄存阵列相对应,支持所述软件重配置带来的数据格式的改变;
通用的张量型数据载入装置,通过改变对可分割输入缓存单元各个存储页的访问格式,完成对张量数据的融合或重排,同时还具有数据补齐(padding)功能,再将处理后的数据载入到并行输入寄存阵列;
并行输入寄存阵列,向对深度卷积神经网络并行加速计算单元阵列进行高带宽的数据输入。
2.根据权利要求1所述的数据载入装置,其特征在于,包括:
对于主存储器或/和其他存储器中存储的,关于深度卷积神经网络算法层所输出的特征图,该装置提供数据重排布的缓存及快速寄存区域,简化了输入数据排布的难度;
其中的可分割输入缓存单元可以被反复访问,被再访问的数据格式更为规整;当其中的数据已经作废时,可重新从主存储器或/和其他存储器中高效的写入新数据;
对于数据输入、参数数据输入来说,该装置及设计方法都是通用的,只有实现设计的参数不同。
3.根据权利要求1-2所述的数据载入装置设计方法,其特征在于,其本地缓存单元分割为多个存储页,可由张量型输入缓存随机访问控制器并行访问多个页;存储页及张量型数据载入装置的设计与并行输入寄存阵列的伸缩性相对应,满足特定的设计公式;该设计方法能够化简该装置中的硬件电路复杂度,降低面积和功耗。
CN202110272918.1A 2021-03-12 2021-03-12 一种张量数据的数据载入装置及方法 Pending CN112988621A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110272918.1A CN112988621A (zh) 2021-03-12 2021-03-12 一种张量数据的数据载入装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110272918.1A CN112988621A (zh) 2021-03-12 2021-03-12 一种张量数据的数据载入装置及方法

Publications (1)

Publication Number Publication Date
CN112988621A true CN112988621A (zh) 2021-06-18

Family

ID=76335425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110272918.1A Pending CN112988621A (zh) 2021-03-12 2021-03-12 一种张量数据的数据载入装置及方法

Country Status (1)

Country Link
CN (1) CN112988621A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023000136A1 (zh) * 2021-07-19 2023-01-26 华为技术有限公司 数据格式转换装置及方法
WO2023179619A1 (zh) * 2022-03-25 2023-09-28 中山大学 一种神经网络的高速缓存方法、系统、装置及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023000136A1 (zh) * 2021-07-19 2023-01-26 华为技术有限公司 数据格式转换装置及方法
WO2023179619A1 (zh) * 2022-03-25 2023-09-28 中山大学 一种神经网络的高速缓存方法、系统、装置及存储介质

Similar Documents

Publication Publication Date Title
CN111783933A (zh) 一种对深度卷积神经网络计算加速的、结合主存储器的数据载入装置的硬件电路设计及方法
EP3757901A1 (en) Schedule-aware tensor distribution module
WO2022037257A1 (zh) 卷积计算引擎、人工智能芯片以及数据处理方法
CN108805272A (zh) 一种基于fpga的通用卷积神经网络加速器
US20220179823A1 (en) Reconfigurable reduced instruction set computer processor architecture with fractured cores
CN109993293B (zh) 一种适用于堆叠式沙漏网络的深度学习加速器
CN108182959B (zh) 基于阻变器件交叉阵列结构实现逻辑计算的方法
CN112988621A (zh) 一种张量数据的数据载入装置及方法
CN101061460A (zh) 用于混移运算的微处理器设备和方法
EP3938917B1 (en) Moving data in a memory and command for memory control
CN102279818A (zh) 支持有限共享的向量数据访存控制方法及向量存储器
CN112950656A (zh) 一种基于fpga平台的按通道进行预读取数据的分块卷积方法
CN103760525A (zh) 一种补齐式原地矩阵转置方法
CN112749107A (zh) 用于在存储附近进行分级排序加速的系统和方法
CN111488114A (zh) 一种可重构的处理器架构及计算设备
JP2022508028A (ja) 3次元画像処理におけるデータの読み書き方法とシステム、記憶媒体及び端末
CN115394336A (zh) 一种存算fpga架构
US11429299B2 (en) System and method for managing conversion of low-locality data into high-locality data
CN117273099A (zh) 一种可重构阵列下Transformer网络模型数据复用方案与实现方法
CN106909320B (zh) 一种多维数据扩充传输的方法、装置以及系统
CN117234720A (zh) 动态可配置的存算融合数据缓存结构、处理器及电子设备
US20230289398A1 (en) Efficient Matrix Multiply and Add with a Group of Warps
CN113448624B (zh) 数据存取方法及装置、系统、ai加速器
CN116051345A (zh) 图像数据处理方法、装置、计算机设备及可读存储介质
CN116415100A (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