CN116187385A - 用于神经网络张量处理器的稀疏数据计算装置及方法 - Google Patents

用于神经网络张量处理器的稀疏数据计算装置及方法 Download PDF

Info

Publication number
CN116187385A
CN116187385A CN202211618438.7A CN202211618438A CN116187385A CN 116187385 A CN116187385 A CN 116187385A CN 202211618438 A CN202211618438 A CN 202211618438A CN 116187385 A CN116187385 A CN 116187385A
Authority
CN
China
Prior art keywords
sparse
data
mapping table
parameter
sparse mapping
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
CN202211618438.7A
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.)
Xiamen Yipu Intelligent Technology Co ltd
Original Assignee
Xiamen Yipu 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 Xiamen Yipu Intelligent Technology Co ltd filed Critical Xiamen Yipu Intelligent Technology Co ltd
Priority to CN202211618438.7A priority Critical patent/CN116187385A/zh
Publication of CN116187385A publication Critical patent/CN116187385A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Complex Calculations (AREA)

Abstract

本发明涉及神经网络张量处理器领域,公开了一种用于神经网络张量处理器的稀疏数据计算装置及方法。所述方法包括:读取计算所需的配置数据,并配置稀疏数据计算装置的各模块;根据配置信息,读取输入特征稀疏映射表和参数稀疏映射表;根据配置信息和输入特征稀疏映射表读取输入特征稀疏压缩数据,根据配置信息和参数稀疏映射表读取参数稀疏压缩数据;计算获得加法稀疏映射表或乘法稀疏映射表;根据16比特加法稀疏映射表或16比特乘法稀疏映射表的值,选择性的执行加法或乘法运算操作;写出稀疏压缩数据;写出稀疏映射表。本发明所提出的稀疏数据计算装置与方法,可以节省数据存储空间、降低神经网络计算的操作数,从而提高计算效率。

Description

用于神经网络张量处理器的稀疏数据计算装置及方法
技术领域
本发明涉及神经网络张量处理器领域,特别是一种用于神经网络张量处理器的稀疏数据计算装置及方法。
背景技术
神经网络算法基于稠密数据进行计算。所述稠密数据指拥有固定长、宽、高尺寸,且占用固定内存空间的数据。稠密数据的计算操作数量是固定的,例如两个固定尺寸的稠密张量数据进行乘法操作所需要的乘法操作数是固定的。神经网络算法中的输入数据、参数数据、中间临时数据和输出数据都拥有固定的尺寸且占用固定内存空间,因此,神经网络算法基于稠密数据进行计算。
然而,在实际的神经网络计算中,神经网络的计算过程会产生许多0数据,特别当神经网络算法的激活函数是某些更容易产生0值的类型时(例如Relu激活会把所有负数都置为0)。由于0乘任何数都为0,因此0数据的乘法运算实际上是可以跳过的,从而节省计算能耗并减少计算时间。
当一个张量数据拥有很多0时,例如0的数量大于非0数量,通常称这个张量为稀疏数据。
脉冲神经网络算法天然具备稀疏数据特性。脉冲神经网络处理脉冲数据,所述脉冲数据指一种由时间、坐标和极性所组成的数据,该数据可直接来自于事件传感器。例如,一个来自事件传感器的数据由Δt、×、y、p组成,其中Δt指时刻值,x和y指传感器画面中的坐标,p指对应坐标像素点的光照变化的极性(例如p等于1代表光照增加,等于-1代表光照减少)。在某个Δt时刻,传感器画面中发生光照变化的像素点的数量是有限的,因此拥有相同Δt的数据是有限的(甚至是极少数),因此,脉冲神经网络算法的输入数据具备稀疏数据特性。
传统神经网络张量处理器基于稠密数据进行存储与计算。因此,在传统神经网络张量处理器中,稀疏数据必须按照稠密数据的方式进行存储:稀疏数据可以被看作拥有许多0的稠密数据。稀疏数据也必须按照稠密数据的方式进行计算:值为0的稀疏数据会参与计算。
对于传统神经网络张量处理器,稀疏数据与稠密数据相同,具有相同的内存占用和计算操作。因此,尽管稀疏数据中的众多0数据不保存有效信息,但仍然会参与存储与计算,这会导致存储与计算资源的浪费。这种存储与计算资源的浪费在脉冲神经网络计算中尤为明显。
发明内容
鉴于现有技术的上述缺陷,本发明提出一种用于神经网络张量处理器的稀疏数据计算装置与方法。在所述稀疏数据计算装置与方法中,稀疏数据的″无用0″数据被删除,稀疏数据以一种″无0″的压缩形式存储,可以极大的降低稀疏数据的内存占用空间。在所述稀疏数据计算装置与方法中,所述压缩形式存储的稀疏压缩数据可以被直接用于计算,稀疏数据的″无用0″数据被直接跳过,可以极大的降低稀疏数据的计算操作数量。具体方案如下:
一种用于神经网络张量处理器的稀疏数据计算装置,包含输入特征稀疏映射表RDMA、参数稀疏映射表RDMA、输入特征数据RDMA、参数数据RDMA、配置单元、运算单元、输出特征数据WDMA、输出特征稀疏映射表WDMA、输入特征稀疏压缩数据、参数稀疏压缩数据、输入特征稀疏映射表、参数稀疏映射表、配置数据、输出特征稀疏压缩数据和输出特征稀疏映射表;
所述配置单元用于读取配置数据,并向输入特征稀疏映射表RDMA配置输入特征稀疏映射表的起始地址信息和尺寸信息,向参数稀疏映射表RDMA配置参数稀疏映射表的起始地址和尺寸信息,向输入特征数据RDMA配置输入特征稀疏压缩数据的起始地址和尺寸信息,向参数数据RDMA配置参数稀疏压缩数据的起始地址和尺寸信息,向输出特征数据WDMA配置输出特征稀疏压缩数据的起始地址和尺寸信息,向输出特征稀疏映射表WDMA配置输出特征稀疏映射表的起始地址和尺寸信息;
所述输入特征稀疏映射表RDMA用于根据所述输入特征稀疏映射表的起始地址和尺寸信息读取输入特征稀疏映射表;
所述参数稀疏映射表RDMA用于根据所述参数稀疏映射表的起始地址和尺寸信息读取参数稀疏映射表;
所述输入特征数据RDMA用于根据所述输入特征稀疏映射表和所述输入特征数据的起始地址与尺寸信息读取输入特征稀疏压缩数据;
所述参数数据RDMA用于根据所述参数稀疏映射表和所述参数数据的起始地址与尺寸信息读取参数稀疏压缩数据;
所述运算单元用于执行输入特征稀疏压缩数据与参数稀疏压缩数据的加法或乘法运算;
所述输出特征稀疏数据WDMA用于响应输出特征稀疏压缩数据写请求,并根据所述输出特征稀疏压缩数据的起始地址和尺寸信息写出输出特征稀疏压缩数据;
所述输出特征稀疏映射表WDMA用于响应输出特征稀疏映射表写请求,并根据所述输出特征稀疏映射表的起始地址和尺寸信息写出输出特征稀疏映射表。
进一步的,所述稀疏数据指采用n度并行存储方案(C/n,H,W,n)的张量数据,数据位宽是8比特或16比特;所述张量数据的原始存储方案(C,H,W),W代表宽,是数据的第0维;H代表高,是数据的第1维;C代表通道,是数据的第2维;
所述n度并行存储方案(C/n,H,W,n)的转换方法是:对于张量数据的原始存储方案(C,H,W),取C方向的连续n个数据,按物理地址连续的方式存放,并设为第0维,第0维的长度固定为n;把W设为第1维,长度不变;把H设为第2维,长度不变;把C/n设为第3维,C/n表达为长度C除以n并向下取整。
进一步的,所述n为8的整数倍。
进一步的,所述稀疏数据拥有至少一个稀疏特征点;所述稀疏特征点指:在稀疏数据中,如果1、2、3维坐标(Z,Y,X)所指向的0维全部n个数据的值都为0,则该(Z,Y,X)坐标被称为所述稀疏数据的一个稀疏特征点。
进一步的,稀疏数据拥有N个稀疏特征点,N的数量小于或等于(C/n)*H*W。
进一步的,所述运算单元最大以n个周期为一轮,每轮最大执行连续n组输入特征稀疏压缩数据与n组参数稀疏压缩数据的运算,每个周期执行1组数据的运算,每组数据包含n个数,该n个数对应为稀疏压缩数据第0维的n个数;
所述一轮运算开始时,运算单元从输入特征稀疏映射表RDMA获取连续n比特的输入特征稀疏映射表,从参数稀疏映射表RDMA获取连续n比特的参数稀疏映射表;对于加法运算模式,所述连续n比特的输入特征稀疏映射表与所述连续n比特的参数稀疏映射表进行″逻辑或″操作生成加法稀疏映射表;对于乘法运算模式,所述连续n比特的输入特征稀疏映射表与所述连续n比特的参数稀疏映射表进行″逻辑与″操作生成乘法稀疏映射表;
所述n比特加法或乘法稀疏映射表与n组输入特征稀疏压缩数据及参数稀疏压缩数据相对应:映射表的第k比特对应第k组输入特征稀疏压缩数据与第k组参数稀疏压缩数据,其中,k为[0,n)区间的整数;
所述一轮运算的执行方式是:从0比特开始依次遍历所述加法或乘法稀疏映射表,判断所述加法或乘法稀疏映射表的数据值是否为1:如果为1,则花费一个周期,执行对应组数据的运算;如果为0则跳过运算,且不花费周期。
一种用于神经网络张量处理器的稀疏数据计算方法,应用于如上所述的用于神经网络张量处理器的稀疏数据计算装置,包括:
步骤S1,读取计算所需的配置数据,并配置稀疏数据计算装置的各模块;
步骤S2,根据配置信息,读取输入特征稀疏映射表和参数稀疏映射表;
步骤S3,根据配置信息和输入特征稀疏映射表读取输入特征稀疏压缩数据,根据配置信息和参数稀疏映射表读取参数稀疏压缩数据;
步骤S4,计算获得加法稀疏映射表或乘法稀疏映射表:最大以n个周期为一轮,在每一轮运算开始时,获取连续n比特的输入特征稀疏映射表和连续n比特的参数稀疏映射表;对于加法运算模式,所述连续n比特的输入特征稀疏映射表与所述连续n比特的参数稀疏映射表进行″逻辑或″操作生成加法稀疏映射表;对于乘法运算模式,所述连续n比特的输入特征稀疏映射表与所述连续n比特的参数稀疏映射表进行″逻辑与″操作生成乘法稀疏映射表;
步骤S5,执行加法或乘法运算:根据n比特加法稀疏映射表或n比特乘法稀疏映射表的值,选择性的执行加法或乘法运算操作:稀疏映射表的值为1代表代表数据有效并执行运算,稀疏映射表的值为0代表数据无效并跳过计算;
步骤S6,写出稀疏压缩数据:响应输出特征稀疏压缩数据写请求,并向相应地址写出该n个数据;
步骤S7,写出稀疏映射表:响应输出特征稀疏映射表写请求,并向相应地址写出稀疏映射表数据。
进一步的,所述步骤S1中,所述配置数据包括输入特征稀疏压缩数据的起始地址和尺寸、参数稀疏压缩数据的起始地址和尺寸、输出特征稀疏压缩数据的起始地址和尺寸、输入特征稀疏映射表的起始地址和尺寸、参数稀疏映射表的起始地址和尺寸、输出特征稀疏映射表的起始地址和尺寸。
本发明实现了如下技术效果:
本发明所提出的稀疏数据计算装置与方法,可以节省数据存储空间、降低神经网络计算的操作数,从而提高计算效率。
附图说明
图1是本发明的稀疏数据计算装置的功能框图;
图2是本发明的16度并行存储方案(C/16,H,W,16)示意图;
图3是本发明的稀疏压缩数据及其对应稀疏映射表示例;
图4是本发明的稀疏数据计算方法流程图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合附图和具体实施方式对本发明进一步说明。
本发明提出一种用于神经网络张量处理器的稀疏数据计算装置与方法。所述稀疏数据计算装置如图1所示,包含输入特征稀疏映射表RDMA、参数稀疏映射表RDMA、输入特征数据RDMA、参数数据RDMA、配置单元、运算单元、输出特征数据WDMA、输出特征稀疏映射表WDMA、输入特征稀疏压缩数据、参数稀疏压缩数据、输入特征稀疏映射表、参数稀疏映射表、配置数据、输出特征稀疏压缩数据和输出特征稀疏映射表。
所述稀疏数据指采用16度并行存储方案(C/16,H,W,16)的张量数据,数据位宽通常是8比特或16比特。所述稀疏数据可以由采用原始存储方案(C,H,W)的张量数据转换得到。所述原始存储方案,W代表宽,是数据的第0维;H代表高,是数据的第1维;C代表通道,是数据的第2维。
所述16度并行存储方案(C/16,H,W,16)的转换方法是:对于原始存储方案(C,H,W),取C方向的连续16个数据,按物理地址连续的方式存放,并设为第0维,第0维的长度固定为16;把W设为第1维,长度不变;把H设为第2维,长度不变;把C/16设为第3维,C/16表达为长度C除以16并向下取整。一个转换的例子如图2所示。
所述稀疏数据拥有至少一个稀疏特征点。所述稀疏特征点指:在稀疏数据中,如果1、2、3维坐标(Z,Y,X)所指向的0维全部16个数据的值都为0,则该(Z,Y,X)坐标被称为所述稀疏数据的一个稀疏特征点。稀疏数据可以拥有N个稀疏特征点,N的数量小于或等于(C/16)*H*W。
所述稀疏压缩数据指所有稀疏特征点所指向的0维16个数全部被删除的稀疏数据。更进一步,为了弥补稀疏数据压缩导致的信息丢失(某些数据被删除),采用稀疏映射表来保存稀疏数据的原始完整信息。所述稀疏映射表是指尺寸为(C/16,H,W)的张量数据,数据位宽是1比特。稀疏映射表与稀疏数据相对应:稀疏映射表每个1比特数据代表相应稀疏数据第0维16个数据的值是否全为0。例如,尺寸为(C/16,H,W)的稀疏映射表中某个由0、1、2维坐标(Z、Y、X)所指向的1比特数据的值,代表了尺寸为(C/16,H,W,16)的稀疏数据中对应1、2、3维坐标(Z、Y、X)所指向的第0维的16个数据是否全为0。稀疏映射表中的某个1比特数据为0时,代表对应稀疏数据的16个数据全为0。稀疏映射表中的某个1比特数据为1时,代表对应稀疏数据的16个数据有至少一个非0数据。一个稀疏压缩数据及其对应稀疏映射表的例子如图3所示。
所述稀疏数据与稀疏压缩数据可以相互转换:稀疏压缩数据通过压缩可以从稀疏数据转换得到,稀疏数据可以通过解压缩从稀疏压缩数据转换得到。
所述稀疏数据计算装置中,所述配置单元用于读取配置数据,并向输入特征稀疏映射表RDMA配置输入特征稀疏映射表的起始地址信息和尺寸信息,向参数稀疏映射表RDMA配置参数稀疏映射表的起始地址和尺寸信息,向输入特征数据RDMA配置输入特征稀疏压缩数据的起始地址和尺寸信息,向参数数据RDMA配置参数稀疏压缩数据的起始地址和尺寸信息,向输出特征数据WDMA配置输出特征稀疏压缩数据的起始地址和尺寸信息,向输出特征稀疏映射表WDMA配置输出特征稀疏映射表的起始地址和尺寸信息。
所述稀疏数据的尺寸表达为(C/16,H,W,16),稀疏压缩数据的尺寸表达为(C/16,H,W,16),稀疏映射表的尺寸表达为(C/16,H,W)。
所述稀疏数据计算装置中,所述输入特征稀疏映射表RDMA用于根据所述输入特征稀疏映射表的起始地址和尺寸信息读取输入特征稀疏映射表。所述输入特征稀疏映射表RDMA-次读取1个1比特数据,并从起始地址开始,按照0、1、2维顺序遍历的方式依次读取数据。
所述稀疏数据计算装置中,所述参数稀疏映射表RDMA用于根据所述参数稀疏映射表的起始地址和尺寸信息读取参数稀疏映射表。所述参数稀疏映射表RDMA一次读取1个1比特数据,并从起始地址开始,按照0、1、2维顺序遍历的方式依次读取数据。
所述稀疏数据计算装置中,所述输入特征数据RDMA用于根据所述输入特征稀疏映射表和所述输入特征数据的起始地址与尺寸信息读取输入特征稀疏压缩数据。所述输入特征数据RDMA一次读取输入特征稀疏压缩数据第0维的16个数,读取方法是:从输入特征稀疏映射表的(0,0,0)坐标开始,判断所述稀疏映射表对应数据的值是否为0。如果是0,代表该坐标所对应的输入特征稀疏压缩数据不存在,跳过该坐标数据的读取。如果是1,代表该坐标所对应的输入特征稀疏压缩数据存在,则读取坐标数据。所述数据读取的地址从起始地址开始,并随着读取过程依次递增。
所述稀疏数据计算装置中,所述参数数据RDMA用于根据所述参数稀疏映射表和所述参数数据的起始地址与尺寸信息读取参数稀疏压缩数据。所述参数数据RDMA一次读取参数稀疏压缩数据第0维的16个数,读取方法是:从参数稀疏映射表的(0,0,0)坐标开始,判断所述稀疏映射表对应数据的值是否为0。如果是0,代表该坐标所对应的参数稀疏压缩数据不存在,跳过该坐标数据的读取。如果是1,代表该坐标所对应的参数稀疏压缩数据存在,则读取坐标数据。所述数据读取的地址从起始地址开始,并随着读取过程依次递增。
所述稀疏数据计算装置中,所述运算单元用于执行输入特征稀疏压缩数据与参数稀疏压缩数据的加法或乘法运算。
所述运算单元最大以16个周期为一轮,每轮最大执行连续16组输入特征稀疏压缩数据与16组参数稀疏压缩数据的运算,每个周期执行1组数据的运算,每组数据包含16个数(稀疏压缩数据第0维的16个数)。
所述一轮运算开始时,运算单元从输入特征稀疏映射表RDMA获取连续16比特的输入特征稀疏映射表,从参数稀疏映射表RDMA获取连续16比特的参数稀疏映射表。对于加法运算模式,所述连续16比特的输入特征稀疏映射表与所述连续16比特的参数稀疏映射表进行″逻辑或″操作生成加法稀疏映射表。对于乘法运算模式,所述连续16比特的输入特征稀疏映射表与所述连续16比特的参数稀疏映射表进行″逻辑与″操作生成乘法稀疏映射表。
所述16比特加法或乘法稀疏映射表与16组输入特征稀疏压缩数据与参数稀疏压缩数据相对应:映射表的第k比特对应第k组输入特征稀疏压缩数据与第k组参数稀疏压缩数据,其中,k为[0,16)区间的整数。如映射表的第0比特对应第0组输入特征稀疏压缩数据及第0组参数稀疏压缩数据,映射表的第15比特对应第15组输入特征稀疏压缩数据与第15组参数稀疏压缩数据。
所述一轮运算的执行方式是:从0比特开始依次遍历所述加法或乘法稀疏映射表,判断所述加法或乘法稀疏映射表的数据值是否为1:如果为1,则花费一个周期,执行对应组数据的运算;如果为0则跳过运算,且不花费周期。因此,所述运算单元每轮计算最大需要16个周期,即加法运算模式下的16比特加法稀疏映射表或乘法运算模式下的16比特乘法稀疏映射表的值为十六进制的FFFF时,对应16组数据全部执行计算。所述运算单元每轮计算最小需要0个周期,即加法运算模式下的16比特加法稀疏映射表或乘法运算模式下的16比特乘法稀疏映射表的值为0时,对应16组数据全部跳过。
所述运算单元在每轮计算的最小0个周期最大16个周期内,对有效的输入特征稀疏压缩数据和有效的参数稀疏压缩数据进行加法或乘法运算,并将运算结果发送给输出特征稀疏数据WDMA。每轮计算结束时,16比特加法或乘法稀疏映射表被当作输出特征稀疏映射表发送给输出特征稀疏映射表WDMA。
所述输出特征稀疏数据WDMA用于响应输出特征稀疏压缩数据写请求,并根据所述输出特征稀疏压缩数据的起始地址和尺寸信息写出输出特征稀疏压缩数据。所述输出特征稀疏数据WDMA一次写出16个数,并从起始地址开始,对于来自运算单元的有效数据,按照地址依次递增的方式写出输出特征稀疏压缩数据。
所述输出特征稀疏映射表WDMA用于响应输出特征稀疏映射表写请求,并根据所述输出特征稀疏映射表的起始地址和尺寸信息写出输出特征稀疏映射表。所述输出特征映射表WDMA一次写出16个数,并从起始地址开始,对于来自运算单元的有效数据,按照地址依次递增的方式写出输出特征映射表。
所述稀疏数据计算装置的特征还包括:读入稀疏压缩数据,执行稀疏压缩数据的加法或乘法运算,并生成稀疏压缩数据。
稀疏数据的计算方法如图4所示:
(1)配置。读取计算所需的配置数据,所述配置数据主要包括输入特征稀疏压缩数据的起始地址和尺寸、参数稀疏压缩数据的起始地址和尺寸、输出特征稀疏压缩数据的起始地址和尺寸、输入特征稀疏映射表的起始地址和尺寸、参数稀疏映射表的起始地址和尺寸、输出特征稀疏映射表的起始地址和尺寸,并配置稀疏数据计算装置的各模块。
(2)读取稀疏映射表。根据配置信息,读取输入特征稀疏映射表和参数稀疏映射表。
对于尺寸为(C/16,H,W)的稀疏映射表,读取方法是:一次读取1个1比特数据,并从起始地址开始,按照0、1、2维顺序遍历的方式依次读取数据。
(3)读取稀疏压缩数据。根据配置信息和输入特征稀疏映射表读取输入特征稀疏压缩数据,根据配置信息和参数稀疏映射表读取参数稀疏压缩数据。读取方法是:从稀疏映射表的(0,0,0)坐标开始,判断稀疏映射表对应数据的值是否为0。如果是0,代表该坐标所对应的稀疏压缩数据不存在,跳过该坐标数据的读取。如果是1,代表该坐标所对应的稀疏压缩数据存在,则读取坐标数据。所述数据读取的地址从起始地址开始,并随着读取过程依次递增。
(4)计算获得加法稀疏映射表或乘法稀疏映射表。最大以16个周期为一轮,在每一轮运算开始时,获取连续16比特的输入特征稀疏映射表和连续16比特的参数稀疏映射表。对于加法运算模式,所述连续16比特的输入特征稀疏映射表与所述连续16比特的参数稀疏映射表进行″逻辑或″操作生成加法稀疏映射表。对于乘法运算模式,所述连续16比特的输入特征稀疏映射表与所述连续16比特的参数稀疏映射表进行″逻辑与″操作生成乘法稀疏映射表。
(5)执行加法或乘法运算。根据16比特加法稀疏映射表或16比特乘法稀疏映射表的值,选择性的执行加法或乘法运算操作:稀疏映射表的值为1代表代表数据有效并执行运算,稀疏映射表的值为0代表数据无效并跳过计算。因此,在每轮计算的最小0个周期最大16个周期内,对有效的输入特征稀疏压缩数据和有效的参数稀疏压缩数据进行加法或乘法运算,产生输出特征稀疏压缩数据和输出特征稀疏映射表,并发送输出特征稀疏压缩数据写请求和输出特征稀疏映射表写请求。所述输出特征稀疏映射表是所述加法或乘法稀疏映射表。
(6)写出稀疏压缩数据。响应输出特征稀疏压缩数据写请求,并向相应地址写出该16个数据。写出的方法是:一次写出16个数,并从起始地址开始按照地址依次递增的方式写出数据。
(7)写出稀疏映射表。响应输出特征稀疏映射表写请求,并向相应地址写出稀疏映射表数据。写出的方法是:一次写出1个1比特数据,并从起始地址开始按照地址依次递增的方式写出稀疏映射表。
在本实施例中,所述稀疏数据指采用16度并行存储方案(C/16,H,W,16)的张量数据。在具体应用中,为适应不同的张量处理器的规模和处理能力,所述稀疏数据可更广泛地定义为采用n度并行存储方案(C/n,H,W,n)的张量数据,其中,n为8的整数倍。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

Claims (9)

1.一种用于神经网络张量处理器的稀疏数据计算装置,其特征在于,包含输入特征稀疏映射表RDMA、参数稀疏映射表RDMA、输入特征数据RDMA、参数数据RDMA、配置单元、运算单元、输出特征数据WDMA、输出特征稀疏映射表WDMA、输入特征稀疏压缩数据、参数稀疏压缩数据、输入特征稀疏映射表、参数稀疏映射表、配置数据、输出特征稀疏压缩数据和输出特征稀疏映射表;
所述配置单元用于读取配置数据,并向输入特征稀疏映射表RDMA配置输入特征稀疏映射表的起始地址信息和尺寸信息,向参数稀疏映射表RDMA配置参数稀疏映射表的起始地址和尺寸信息,向输入特征数据RDMA配置输入特征稀疏压缩数据的起始地址和尺寸信息,向参数数据RDMA配置参数稀疏压缩数据的起始地址和尺寸信息,向输出特征数据WDMA配置输出特征稀疏压缩数据的起始地址和尺寸信息,向输出特征稀疏映射表WDMA配置输出特征稀疏映射表的起始地址和尺寸信息;
所述输入特征稀疏映射表RDMA用于根据所述输入特征稀疏映射表的起始地址和尺寸信息读取输入特征稀疏映射表;
所述参数稀疏映射表RDMA用于根据所述参数稀疏映射表的起始地址和尺寸信息读取参数稀疏映射表;
所述输入特征数据RDMA用于根据所述输入特征稀疏映射表和所述输入特征数据的起始地址与尺寸信息读取输入特征稀疏压缩数据;
所述参数数据RDMA用于根据所述参数稀疏映射表和所述参数数据的起始地址与尺寸信息读取参数稀疏压缩数据;
所述运算单元用于执行输入特征稀疏压缩数据与参数稀疏压缩数据的加法或乘法运算;
所述输出特征稀疏数据WDMA用于响应输出特征稀疏压缩数据写请求,并根据所述输出特征稀疏压缩数据的起始地址和尺寸信息写出输出特征稀疏压缩数据;
所述输出特征稀疏映射表WDMA用于响应输出特征稀疏映射表写请求,并根据所述输出特征稀疏映射表的起始地址和尺寸信息写出输出特征稀疏映射表。
2.如权利要求1所述的用于神经网络张量处理器的稀疏数据计算装置,其特征在于,所述稀疏数据指采用n度并行存储方案(C/n,H,W,n)的张量数据,数据位宽是8比特或16比特;所述张量数据的原始存储方案(C,H,W),W代表宽,是数据的第0维;H代表高,是数据的第1维;C代表通道,是数据的第2维;
所述n度并行存储方案(C/n,H,W,n)的转换方法是:对于张量数据的原始存储方案(C,H,W),取C方向的连续n个数据,按物理地址连续的方式存放,并设为第0维,第0维的长度固定为n;把W设为第1维,长度不变;把H设为第2维,长度不变;把C/n设为第3维,C/n表达为长度C除以n并向下取整。
3.如权利要求2所述的用于神经网络张量处理器的稀疏数据计算装置,其特征在于,所述n为8的整数倍。
4.如权利要求2所述的用于神经网络张量处理器的稀疏数据计算装置,其特征在于,所述稀疏数据拥有至少一个稀疏特征点;所述稀疏特征点指:在稀疏数据中,如果1、2、3维坐标(Z,Y,X)所指向的0维全部n个数据的值都为0,则该(Z,Y,X)坐标被称为所述稀疏数据的一个稀疏特征点。
5.如权利要求4所述的用于神经网络张量处理器的稀疏数据计算装置,其特征在于,所述稀疏数据拥有N个稀疏特征点,N的数量小于或等于(C/n)*H*W。
6.如权利要求4所述的用于神经网络张量处理器的稀疏数据计算装置,其特征在于,所述稀疏压缩数据指所有稀疏特征点所指向的0维n个数全部被删除的稀疏数据;所述稀疏映射表是指尺寸为(C/n,H,W)的张量数据,数据位宽是1比特;稀疏映射表与稀疏数据相对应:稀疏映射表每个1比特数据代表相应稀疏数据第0维n个数据的值是否全为0。
7.如权利要求2所述的用于神经网络张量处理器的稀疏数据计算装置,其特征在于,所述运算单元最大以n个周期为一轮,每轮最大执行连续n组输入特征稀疏压缩数据与n组参数稀疏压缩数据的运算,每个周期执行1组数据的运算,每组数据包含n个数,该n个数对应为稀疏压缩数据第0维的n个数;
所述一轮运算开始时,运算单元从输入特征稀疏映射表RDMA获取连续n比特的输入特征稀疏映射表,从参数稀疏映射表RDMA获取连续n比特的参数稀疏映射表;对于加法运算模式,所述连续n比特的输入特征稀疏映射表与所述连续n比特的参数稀疏映射表进行″逻辑或″操作生成加法稀疏映射表;对于乘法运算模式,所述连续n比特的输入特征稀疏映射表与所述连续n比特的参数稀疏映射表进行″逻辑与″操作生成乘法稀疏映射表;
所述n比特加法或乘法稀疏映射表与n组输入特征稀疏压缩数据及参数稀疏压缩数据相对应:映射表的第k比特对应第k组输入特征稀疏压缩数据与第k组参数稀疏压缩数据,其中,k为[0,n)区间的整数;
所述一轮运算的执行方式是:从0比特开始依次遍历所述加法或乘法稀疏映射表,判断所述加法或乘法稀疏映射表的数据值是否为1:如果为1,则花费一个周期,执行对应组数据的运算;如果为0则跳过运算,且不花费周期。
8.一种用于神经网络张量处理器的稀疏数据计算方法,其特征在于,应用于如权利要求2-7任一项所述的用于神经网络张量处理器的稀疏数据计算装置,包括:
步骤S1,读取计算所需的配置数据,并配置稀疏数据计算装置的各模块;
步骤S2,根据配置信息,读取输入特征稀疏映射表和参数稀疏映射表;
步骤S3,根据配置信息和输入特征稀疏映射表读取输入特征稀疏压缩数据,根据配置信息和参数稀疏映射表读取参数稀疏压缩数据;
步骤S4,计算获得加法稀疏映射表或乘法稀疏映射表:最大以n个周期为一轮,在每一轮运算开始时,获取连续n比特的输入特征稀疏映射表和连续n比特的参数稀疏映射表;对于加法运算模式,所述连续n比特的输入特征稀疏映射表与所述连续n比特的参数稀疏映射表进行″逻辑或″操作生成加法稀疏映射表;对于乘法运算模式,所述连续n比特的输入特征稀疏映射表与所述连续n比特的参数稀疏映射表进行″逻辑与″操作生成乘法稀疏映射表;
步骤S5,执行加法或乘法运算:根据n比特加法稀疏映射表或n比特乘法稀疏映射表的值,选择性的执行加法或乘法运算操作:稀疏映射表的值为1代表代表数据有效并执行运算,稀疏映射表的值为0代表数据无效并跳过计算;
步骤S6,写出稀疏压缩数据:响应输出特征稀疏压缩数据写请求,并向相应地址写出该n个数据;
步骤S7,写出稀疏映射表:响应输出特征稀疏映射表写请求,并向相应地址写出稀疏映射表数据。
9.如权利要求8所述的用于神经网络张量处理器的稀疏数据计算方法,其特征在于,所述步骤S1中,所述配置数据包括输入特征稀疏压缩数据的起始地址和尺寸、参数稀疏压缩数据的起始地址和尺寸、输出特征稀疏压缩数据的起始地址和尺寸、输入特征稀疏映射表的起始地址和尺寸、参数稀疏映射表的起始地址和尺寸、输出特征稀疏映射表的起始地址和尺寸。
CN202211618438.7A 2022-12-15 2022-12-15 用于神经网络张量处理器的稀疏数据计算装置及方法 Pending CN116187385A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211618438.7A CN116187385A (zh) 2022-12-15 2022-12-15 用于神经网络张量处理器的稀疏数据计算装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211618438.7A CN116187385A (zh) 2022-12-15 2022-12-15 用于神经网络张量处理器的稀疏数据计算装置及方法

Publications (1)

Publication Number Publication Date
CN116187385A true CN116187385A (zh) 2023-05-30

Family

ID=86441280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211618438.7A Pending CN116187385A (zh) 2022-12-15 2022-12-15 用于神经网络张量处理器的稀疏数据计算装置及方法

Country Status (1)

Country Link
CN (1) CN116187385A (zh)

Similar Documents

Publication Publication Date Title
US11429852B2 (en) Convolution acceleration and computing processing method and apparatus, electronic device, and storage medium
CN109919311B (zh) 生成指令序列的方法、执行神经网络运算的方法和装置
CN111338695B (zh) 基于流水线技术的数据处理方法及相关产品
CN109993293B (zh) 一种适用于堆叠式沙漏网络的深度学习加速器
WO2022016926A1 (zh) 神经网络计算装置和数据读取、数据存储方法及相关设备
CN111931925B (zh) 基于fpga的二值化神经网络的加速系统
US20210373895A1 (en) Method and tensor traversal engine for strided memory access during execution of neural networks
WO2023197507A1 (zh) 视频数据处理方法、系统、装置及计算机可读存储介质
CN116227599A (zh) 一种推理模型的优化方法、装置、电子设备及存储介质
CN117217274B (zh) 向量处理器、神经网络加速器、芯片及电子设备
CN110515872B (zh) 直接内存存取方法、装置、专用计算芯片及异构计算系统
CN114282661A (zh) 神经网络模型的运行方法、可读介质和电子设备
CN116187385A (zh) 用于神经网络张量处理器的稀疏数据计算装置及方法
CN108960203B (zh) 一种基于fpga异构计算的车辆检测方法
CN112559392A (zh) 一种加速读存储介质的方法、读加速硬件模块及存储器
JPH0434669A (ja) 画像処理方式
CN110968538B (zh) 一种数据缓冲方法和装置
CN115936101A (zh) 用于神经网络张量处理器的稀疏数据压缩装置及方法
EP1532582A1 (en) Method and apparatus for image data processing using image strips and circular addressing arrangement
CN115936102A (zh) 用于神经网络张量处理器的稀疏数据解压缩装置及方法
JPH09322168A (ja) 2次元逆離散コサイン変換装置
JP7321213B2 (ja) 情報処理装置、情報処理方法
TWI765446B (zh) 管線式資料傳輸方法及資料管線裝置
CN113900622B (zh) 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质
CN113836481B (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