CN115374388B - 多维数组压缩及解压方法及装置 - Google Patents

多维数组压缩及解压方法及装置 Download PDF

Info

Publication number
CN115374388B
CN115374388B CN202211303392.XA CN202211303392A CN115374388B CN 115374388 B CN115374388 B CN 115374388B CN 202211303392 A CN202211303392 A CN 202211303392A CN 115374388 B CN115374388 B CN 115374388B
Authority
CN
China
Prior art keywords
array
dim
sub
equal
arrays
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
Application number
CN202211303392.XA
Other languages
English (en)
Other versions
CN115374388A (zh
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.)
Muxi Integrated Circuit Shanghai Co ltd
Original Assignee
Muxi Integrated Circuit Shanghai 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 Muxi Integrated Circuit Shanghai Co ltd filed Critical Muxi Integrated Circuit Shanghai Co ltd
Priority to CN202211303392.XA priority Critical patent/CN115374388B/zh
Publication of CN115374388A publication Critical patent/CN115374388A/zh
Application granted granted Critical
Publication of CN115374388B publication Critical patent/CN115374388B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供一种多维数组压缩及解压方法及装置,涉及数据处理技术,通过接收待压缩数组,按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组;将所述剔除数组从所述待压缩数组中剔除,生成压缩数组,所述压缩数组包括多个子数组;获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组;根据多个所述子数组和多个所述相邻数组,生成所述解压数组,其中,所述解压数组与所述待压缩数组一致的技术方案,减轻了布线负担,也节省了中继寄存器的数量和功耗。

Description

多维数组压缩及解压方法及装置
技术领域
本发明涉及数据处理技术,尤其涉及一种多维数组压缩及解压方法及装置。
背景技术
硬件能执行的最小任务单位,被定义成线程。参见图1,上层分解单元以线程束(多个线程,数目可变)为单位向下层分解单元件派发任务。为统一硬件规格,提高并行度,计算单元会在固定时间(1个或多个周期)内执行数目固定的多个线程,即波前( 32或64个线程)。
每个线程都有自己的坐标,依次定义为从(X(0),Y(0),Z(0)) = (0,0,0)开始,先只递增X,而Y和Z保持不变;待X递增到X_dim后,X重回0,Y递增1,Z不变;依次类推,Y递增到Y_dim后,Y重回0,Z递增1,直至结束,参见图2,为2个波前的线程坐标。
线程坐标总线将连接每个计算单元和下层分解单元,实际芯片上,每条该总线的长度超过数毫米,对布线和中继寄存器负担较大。
发明内容
本发明实施例提供一种多维数组压缩及解压方法及装置,可以减轻了布线负担,也节省了中继寄存器的数量和功耗。
本发明实施例的第一方面,提供一种多维数组压缩及解压方法,应用于线程坐标,所述线程坐标为多维等差数组,包括:
接收待压缩数组,按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组;
将所述剔除数组从所述待压缩数组中剔除,生成压缩数组,所述压缩数组包括多个子数组;
获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组;
根据多个所述子数组和多个所述相邻数组,生成所述解压数组,其中,所述解压数组与所述待压缩数组一致。
可选地,在第一方面的一种可能实现方式中,所述子数组为(X(n),Y(n),Z(n)),其中,X(n)的最大值为X_dim,Y(n)的最大值为Y_dim,Z(n)的最大值为Z_dim,X(n)的最小值为0,Y(n)的最小值为0,Z(n)的最小值为0。
可选地,在第一方面的一种可能实现方式中,所述预设数量为1;
按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组,包括:
按照1个数组间隔选取所述待压缩数组中的部分数组作为剔除数组。
可选地,在第一方面的一种可能实现方式中,所述相邻数组为所述子数组的后一数组(X(n+1),Y(n+1),Z(n+1));
获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组,包括:
获取所述剔除数组与所述子数组之间的差值为1;
基于预设规则和1对所述子数组进行和处理,生成对应所述子数组的相邻数组;
其中,由(X(n),Y(n),Z(n))生成(X(n+1),Y(n+1),Z(n+1))的预设规则为:
若X(n)小于X_dim,则X(n+1)为X(n)+1,Y(n+1)为Y(n),Z(n+1)为Z(n);
若X(n)等于X_dim,且Y(n)小于Y_dim,则X(n+1)为0,Y(n+1)为Y(n)+1,Z(n+1)为Z(n);
若X(n)等于X_dim,且Y(n)等于Y_dim,则X(n+1)为0,Y(n+1)为0,Z(n+1)为Z(n)+1。
可选地,在第一方面的一种可能实现方式中,所述预设数量为2;
按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组,包括:
按照2个数组间隔选取所述待压缩数组中的部分数组作为剔除数组。
可选地,在第一方面的一种可能实现方式中,所述相邻数组为所述子数组的后一个数组(X(n+1),Y(n+1),Z(n+1)),以及所述子数组的前一个数组(X(n-1),Y(n-1),Z(n-1));
获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组,包括:
获取所述剔除数组与所述子数组之间的差值为1;
基于预设规则和1对所述子数组进行和处理,生成对应所述子数组的(X(n+1),Y(n+1),Z(n+1));
基于预设规则和1对所述子数组进行差处理,生成对应所述子数组的(X(n-1),Y(n-1),Z(n-1));
其中,由(X(n),Y(n),Z(n))生成(X(n-1),Y(n-1),Z(n-1))的预设规则为:
若X(n)大于0,则X(n-1)为X(n)-1,Y(n-1)为Y(n),Z(n-1)为Z(n);
若X(n)等于0,且Y(n)大于0,则X(n-1)为X_dim,Y(n-1)为Y(n)-1,Z(n-1)为Z(n);
若X(n)等于0,且Y(n)等于0,则X(n-1)为X_dim,Y(n-1)为Y_dim,Z(n-1)为Z(n)-1。
可选地,在第一方面的一种可能实现方式中,所述预设数量为4;
按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组,包括:
按照4个数组间隔选取所述待压缩数组中的部分数组作为剔除数组。
可选地,在第一方面的一种可能实现方式中,所述相邻数组为所述子数组的后一个数组(X(n+1),Y(n+1),Z(n+1))、所述子数组的后两个数组(X(n+2),Y(n+2),Z(n+2))、所述子数组的前一个数组(X(n-1),Y(n-1),Z(n-1))、所述子数组的前两个数组(X(n-2),Y(n-2),Z(n-2));
获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组,包括:
获取所述剔除数组与所述子数组之间的差值为1或2;
基于预设规则和1对所述子数组进行和处理,生成对应所述子数组的(X(n+1),Y(n+1),Z(n+1));
基于预设规则和1对所述子数组进行差处理,生成对应所述子数组的(X(n-1),Y(n-1),Z(n-1));
基于预设规则和2对所述子数组进行和处理,生成对应所述子数组的(X(n+2),Y(n+2),Z(n+2));
基于预设规则和2对所述子数组进行差处理,生成对应所述子数组的(X(n-2),Y(n-2),Z(n-2));
其中,由(X(n),Y(n),Z(n))生成(X(n+2),Y(n+2),Z(n+2))的预设规则为:
若X(n)小于X_dim-1,则X(n+2)为X(n)+2,Y(n+2)为Y(n),Z(n+2)为Z(n);
若X(n)等于X_dim-1,且Y(n)小于Y_dim,则X(n+2)为0,Y(n+2)为Y(n)+1,Z(n+2)为Z(n);
若X(n)等于X_dim-1,且Y(n)等于Y_dim,则X(n+2)为0,Y(n+2)为0,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim大于0,且Y(n)小于Y_dim,则X(n+2)为1,Y(n+2)为Y(n)+1,Z(n+2)为Z(n);
若X(n)等于X_dim,且X_dim大于0,且Y(n)等于Y_dim,则X(n+2)为1,Y(n+2)为0,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim等于0,且Y(n)小于Y_dim-1,则X(n+2)为0,Y(n+2)为Y(n)+2,Z(n+2)为Z(n);
若X(n)等于X_dim,且X_dim等于0,且Y(n)等于Y_dim-1,则X(n+2)为0,Y(n+2)为0,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim等于0,且Y(n)等于Y_dim,且Y_dim大于0,则X(n+2)为0,Y(n+2)为1,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim等于0,且Y(n)等于Y_dim,且Y_dim等于0,则X(n+2)为0,Y(n+2)为0,Z(n+2)为Z(n)+2;
由(X(n),Y(n),Z(n))生成(X(n-2),Y(n-2),Z(n-2))的预设规则为:
若X(n)大于1,则X(n-2)为X(n)-2,Y(n-2)为Y(n),Z(n-2)为Z(n);
若X(n)等于1,且Y(n)大于0,则X(n-2)为X_dim,Y(n-2)为Y(n)-1,Z(n-2)为Z(n);
若X(n)等于1,且Y(n)等于0,则X(n-2)为X_dim,Y(n-2)为Y_dim,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim大于0,且Y(n)大于0,则X(n-2)为X_dim-1,Y(n-2)为Y(n)-1,Z(n-2)为Z(n);
若X(n)等于0,且X_dim大于0,且Y(n)等于0,则X(n-2)为X_dim-1,Y(n-2)为Y_dim,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim等于0,且Y(n)大于1,则X(n-2)为0,Y(n-2)为Y(n)-2,Z(n-2)为Z(n);
若X(n)等于0,且X_dim等于0,且Y(n)等于1,则X(n-2)为0,Y(n-2)为Y_dim,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim等于0,且Y(n)等于0,且Y_dim大于0,则X(n-2)为0,Y(n-2)为Y_dim-1,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim等于0,且Y(n)等于0,且Y_dim等于0,则X(n-2)为0,Y(n-2)为0,Z(n-2)为Z(n)-2。
本发明实施例的第二方面,提供一种多维数组压缩及解压装置,应用于线程坐标,所述线程坐标为多维等差数组,包括:
选取模块,用于接收待压缩数组,按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组;
压缩模块,用于将所述剔除数组从所述待压缩数组中剔除,生成压缩数组,所述压缩数组包括多个子数组;
解压模块,用于获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组;
还原模块,用于根据多个所述子数组和多个所述相邻数组,生成所述解压数组,其中,所述解压数组与所述待压缩数组一致。
本发明实施例的第三方面,提供一种多维数组压缩及解压设备,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行本发明第一方面及第一方面各种可能涉及的所述方法。
本发明实施例的第四方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第一方面及第一方面各种可能涉及的所述方法。
本发明提供的一种多维数组压缩及解压方法及装置,通过在下层分解单元输出时直接删除部分数据进行压缩,而在计算单元输入时,利用等差数列性质解压恢复,解压所需的逻辑门数预估在数百到数千,以最新工艺计,面积在平方微米级,相比总线数毫米的长度,节省规模可观,大大减轻了布线负担,也节省了中继寄存器的数量和功耗。
附图说明
图1是背景技术用于体现顶层布局的示意图。
图2是用于体现两个波前的线程坐标的示意图。
图3是本发明实施例提供的一种多维数组压缩及解压方法的流程示意图。
图4是本发明实施例提供的一种压缩后总线的示意图。
图5是本发明实施例提供的另一种压缩后总线的示意图。
图6是本发明实施例提供的又一种压缩后总线的示意图。
图7是本发明实施例提供的一种多维数组压缩及解压装置的结构示意图。
图8是本发明实施例提供的一种多维数组压缩及解压设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本发明中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
首先,本方案应用于线程坐标,线程坐标为多维等差数组,可以实现对线程坐标的解压缩。
具体的,波前在被分发给计算单元时,需要将其包含的每个线程的坐标,通过线程坐标总线一并发送。举例,假如线程束的X坐标范围是[0,X_dim],依此类推,三维大小被设置为X_dim = 15, Y_dim = 2, Z_dim = 1,波前被定义为64个线程,则线程束的线程总数为(X_dim+1) * (Y_dim+1) * (Z_dim+1) = 96,多于64,因此将拆解为2个波前。每个线程都有自己的坐标,依次定义为从(X(0),Y(0),Z(0)) = (0,0,0)开始,先只递增X,而Y和Z保持不变;待X递增到X_dim后,X重回0,Y递增1,Z不变;依次类推,Y递增到Y_dim后,Y重回0,Z递增1,直至结束。
可以理解的是,(X(n),Y(n),Z(n))实际是多维等差数列,现有技术中,经典架构会在4周期内处理1个波前,即64个线程,故每周期处理16个线程。以线程束不超过1024线程为例,X/Y/Z单维度需要10比特,每个线程3个维度需30比特,一般采取字节对齐,占用32比特,所以线程坐标总线位宽为16*32=512比特。而传统上,线程坐标总线未做任何压缩处理。
线程坐标总线将连接每个计算单元和下层分解单元,实际芯片上,每条该总线的长度超过数毫米,因此会导致对布线和中继寄存器负担较大。
为了解决上述问题,参见图3,是本发明实施例提供的一种多维数组压缩及解压方法的流程示意图,图3所示方法的执行主体可以是软件和/或硬件装置。本申请的执行主体可以包括但不限于以下中的至少一个:用户设备、网络设备等。其中,用户设备可以包括但不限于计算机、智能手机、个人数字助理(Personal Digital Assistant,简称:PDA)及上述提及的电子设备等。网络设备可以包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机组成的一个超级虚拟计算机。本实施例对此不做限制。该多维数组压缩及解压方法包括步骤S101至步骤S104,具体如下:
S101,接收待压缩数组,按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组。
具体的,为了实现对待压缩数组的压缩,本方案利用一定的规则将部分数组从原始数组中剔除掉,留下剩余的数组作为压缩数组。
可以理解的是,线程坐标为有规律的坐标,即等差数组,删除部分数组后,可以实现压缩,且可以利用剩余的数组将被剔除的数组还原,实现数组的解压。
需要说明的是,本方案是利用按照预设数量间隔选取的规则来作为剔除数组。
其中,预设数量可以是1,则会按照1个数组间隔选取待压缩数组中的部分数组作为剔除数组。
第一示例性的,参见图4,每间隔一个数组选取待压缩数组(线程0-线程15)中的部分数组作为剔除数组,例如是线程1、线程3、线程5、线程7、线程9、线程11、线程13、线程15,将其作为剔除数组从待压缩数组(线程0-线程15)中剔除。
需要说明的是,本示例性的压缩比为50%。
第二示例性的,参见图5,预设数量为2,则按照2个数组间隔选取所述待压缩数组(线程0-线程15)中的部分数组作为剔除数组,例如是线程1、线程2、线程4、线程5、线程7、线程8、线程10、线程11、线程13、线程14。
需要说明的是,本示例性的压缩比为62.5%。
第三示例性的,参见图6,预设数量为4,则按照4个数组间隔选取所述待压缩数组(线程0-线程15)中的部分数组作为剔除数组,例如是线程1、线程2、线程3、线程4、线程6、线程7、线程8、线程9、线程11、线程12、线程13、线程14。
需要说明的是,本示例性的压缩比为75%。
S102,将所述剔除数组从所述待压缩数组中剔除,生成压缩数组,所述压缩数组包括多个子数组。
具体的,在步骤S101选定剔除数组后,将其从待压缩数组中剔除,剩余的数组生成压缩数组即可实现压缩,例如对应以上第三示例中的线程0、线程5、线程10、线程15。
S103,获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组。
可以理解的是,步骤S101和步骤S102可以实现数组的压缩,接下来需要将压缩的数组进行还原。
需要说明的是,还原时,需要获取到各剔除数组与所述子数组之间的差值,然后利用差值与子数组之间进行和或者差的处理,即可将被剔除的数组还原出来。
需要说明的是,参见图2,由于线程坐标的特性,子数组为(X(n),Y(n),Z(n)),其中,X(n)的最大值为X_dim,例如,最大是15,Y(n)的最大值为Y_dim,例如,最大是2,Z(n)的最大值为Z_dim,例如,最大是1,X(n)的最小值为0,Y(n)的最小值为0,Z(n)的最小值为0。
以下对应步骤S101中的例子进行相应的举例说明。
针对第一示例性的:
获取所述剔除数组与所述子数组之间的差值为1,基于预设规则和1对所述子数组进行和处理,生成对应所述子数组的相邻数组。
可以理解的是,例如,线程0坐标为(0,0,0),线程1的坐标为(1,0,0),则其X维度的数值相差为1,再例如,线程2坐标为(2,0,0),线程3的坐标为(3,0,0),则其X维度的数值相差为1,因此还原时,只需要将对应维度的数值与1相加或者相减即可。
在实际应用中,可以基于预设规则和1对所述子数组进行和处理,生成对应所述子数组的相邻数组;
其中,由(X(n),Y(n),Z(n))生成(X(n+1),Y(n+1),Z(n+1))的预设规则为:
若X(n)小于X_dim,则X(n+1)为X(n)+1,Y(n+1)为Y(n),Z(n+1)为Z(n);
若X(n)等于X_dim,且Y(n)小于Y_dim,则X(n+1)为0,Y(n+1)为Y(n)+1,Z(n+1)为Z(n);
若X(n)等于X_dim,且Y(n)等于Y_dim,则X(n+1)为0,Y(n+1)为0,Z(n+1)为Z(n)+1。
示例性的,若X(n)小于15,则X(n+1)为X(n)+1,Y(n+1)为Y(n),Z(n+1)为Z(n),例如,线程0坐标为(0,0,0),其中X(n)为0,则计算出的线程1的坐标为(1,0,0);若X(n)等于15,且Y(n)小于2,则X(n+1)为0,Y(n+1)为Y(n)+1,Z(n+1)为Z(n),例如,线程15坐标为(15,0,0),其中X(n)为15,Y(n)为0,小于2,则计算出的线程16的坐标为(0,1,0);若X(n)等于15,且Y(n)等于2,则X(n+1)为0,Y(n+1)为0,Z(n+1)为Z(n)+1,例如,线程48坐标为(15,2,0),其中X(n)为15,Y(n)为2,则计算出的线程49的坐标为(0,0,1),其他数组满足以上条件按照对应的规则计算即可还原出数组。
针对第二示例性的:
获取所述剔除数组与所述子数组之间的差值为1,基于预设规则和1对所述子数组进行和或差处理,生成对应所述子数组的相邻数组。
可以理解的是,例如,线程0坐标为(0,0,0),线程1的坐标为(1,0,0),则其X维度的数值相差为1,再例如,线程2坐标为(2,0,0),线程3的坐标为(3,0,0),则其X维度的数值相差为1,因此还原时,只需要将对应维度的数值与1相加或者相减即可。
可以理解的是,本实施例是利用线程0还原出线程1,利用线程3还原出线程2和4,利用线程6还原出线程5和7,利用线程9还原出线程8和线程10,依次类推。
其中,利用线程3还原出线程2时,利用的是减1,利用线程3还原出线程4时,利用的是加1。其余数组还原时原理类似,不再赘述。
在实际应用中,可以基于预设规则和1对所述子数组进行和处理,生成对应所述子数组的(X(n+1),Y(n+1),Z(n+1));基于预设规则和1对所述子数组进行差处理,生成对应所述子数组的(X(n-1),Y(n-1),Z(n-1));
其中,生成对应所述子数组的(X(n+1),Y(n+1),Z(n+1))的规则与上述实施例中的类似,由(X(n),Y(n),Z(n))生成(X(n-1),Y(n-1),Z(n-1))的预设规则为:
若X(n)大于0,则X(n-1)为X(n)-1,Y(n-1)为Y(n),Z(n-1)为Z(n);
若X(n)等于0,且Y(n)大于0,则X(n-1)为X_dim,Y(n-1)为Y(n)-1,Z(n-1)为Z(n);
若X(n)等于0,且Y(n)等于0,则X(n-1)为X_dim,Y(n-1)为Y_dim,Z(n-1)为Z(n)-1。
示例性的,若X(n)大于0,则X(n-1)为X(n)-1,Y(n-1)为Y(n),Z(n-1)为Z(n),例如,线程3坐标为(3,0,0),其中X(n)为2,则计算出的线程1的坐标为(1,0,0);若X(n)等于0,且Y(n)大于0,则X(n-1)为X_dim,Y(n-1)为Y(n)-1,Z(n-1)为Z(n),例如,线程16坐标为(0,1,0),其中X(n)为0,Y(n)为1,大于0,则计算出的线程15的坐标为(15,0,0),其他数组满足以上条件按照对应的规则计算即可还原出数组,不再赘述。
针对第三示例性的:
获取所述剔除数组与所述子数组之间的差值为1或2;
基于预设规则和1对所述子数组进行和处理,生成对应所述子数组的(X(n+1),Y(n+1),Z(n+1));
基于预设规则和1对所述子数组进行差处理,生成对应所述子数组的(X(n-1),Y(n-1),Z(n-1));
基于预设规则和2对所述子数组进行和处理,生成对应所述子数组的(X(n+2),Y(n+2),Z(n+2));
基于预设规则和2对所述子数组进行差处理,生成对应所述子数组的(X(n-2),Y(n-2),Z(n-2));
可以理解的是,本实施例是利用线程5还原出线程3、线程4、线程6、线程7,利用线程10还原出线程8、线程9、线程11和线程12,利用线程0还原出线程1和2,利用线程15还原出线程13和线程14,依次类推。
可以理解的是,例如,线程5坐标为(5,0,0),线程4的坐标为(4,0,0),则其X维度的数值相差为1,线程3的坐标为(3,0,0),则其X维度的数值相差为2,再例如,线程6坐标为(6,0,0),其X维度的数值相差为1,线程7的坐标为(7,0,0),则其X维度的数值相差为2,因此还原时,只需要将对应维度的数值与2相加或者相减即可。
其中,利用线程5还原出线程3和线程4时,利用的是减1或者减2,利用线程5还原出线程6和线程7时,利用的是加1或者加2。其余数组还原时原理类似,不再赘述。
其中,由(X(n),Y(n),Z(n))生成(X(n+2),Y(n+2),Z(n+2))的预设规则为:
若X(n)小于X_dim-1,则X(n+2)为X(n)+2,Y(n+2)为Y(n),Z(n+2)为Z(n);
若X(n)等于X_dim-1,且Y(n)小于Y_dim,则X(n+2)为0,Y(n+2)为Y(n)+1,Z(n+2)为Z(n);
若X(n)等于X_dim-1,且Y(n)等于Y_dim,则X(n+2)为0,Y(n+2)为0,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim大于0,且Y(n)小于Y_dim,则X(n+2)为1,Y(n+2)为Y(n)+1,Z(n+2)为Z(n);
若X(n)等于X_dim,且X_dim大于0,且Y(n)等于Y_dim,则X(n+2)为1,Y(n+2)为0,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim等于0,且Y(n)小于Y_dim-1,则X(n+2)为0,Y(n+2)为Y(n)+2,Z(n+2)为Z(n);
若X(n)等于X_dim,且X_dim等于0,且Y(n)等于Y_dim-1,则X(n+2)为0,Y(n+2)为0,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim等于0,且Y(n)等于Y_dim,且Y_dim大于0,则X(n+2)为0,Y(n+2)为1,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim等于0,且Y(n)等于Y_dim,且Y_dim等于0,则X(n+2)为0,Y(n+2)为0,Z(n+2)为Z(n)+2;
由(X(n),Y(n),Z(n))生成(X(n-2),Y(n-2),Z(n-2))的预设规则为:
若X(n)大于1,则X(n-2)为X(n)-2,Y(n-2)为Y(n),Z(n-2)为Z(n);
若X(n)等于1,且Y(n)大于0,则X(n-2)为X_dim,Y(n-2)为Y(n)-1,Z(n-2)为Z(n);
若X(n)等于1,且Y(n)等于0,则X(n-2)为X_dim,Y(n-2)为Y_dim,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim大于0,且Y(n)大于0,则X(n-2)为X_dim-1,Y(n-2)为Y(n)-1,Z(n-2)为Z(n);
若X(n)等于0,且X_dim大于0,且Y(n)等于0,则X(n-2)为X_dim-1,Y(n-2)为Y_dim,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim等于0,且Y(n)大于1,则X(n-2)为0,Y(n-2)为Y(n)-2,Z(n-2)为Z(n);
若X(n)等于0,且X_dim等于0,且Y(n)等于1,则X(n-2)为0,Y(n-2)为Y_dim,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim等于0,且Y(n)等于0,且Y_dim大于0,则X(n-2)为0,Y(n-2)为Y_dim-1,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim等于0,且Y(n)等于0,且Y_dim等于0,则X(n-2)为0,Y(n-2)为0,Z(n-2)为Z(n)-2。
可以理解的是,数组满足以上条件按照对应的规则计算即可还原出数组原理与上述的例子类似,不再赘述。
S104,根据多个所述子数组和多个所述相邻数组,生成所述解压数组,其中,所述解压数组与所述待压缩数组一致。
可以理解的是,还原出相邻数组后,可以将子数组和多个所述相邻数组组合在一起,生成解压数组,将整个数组还原为待压缩数组。
本实施例在下层分解单元输出时直接删除部分数据进行压缩,而在计算单元输入时,利用等差数列性质解压恢复,解压所需的逻辑门数预估在数百到数千,以最新工艺计,面积在平方微米级,相比总线数毫米的长度,节省规模可观,大大减轻了布线负担,也节省了中继寄存器的数量和功耗。
在实际应用中,X(n),Y(n),Z(n)的取值范围不在[0,X_dim],[0,Y_dim],[0,Z_dim]不影响上述实施例的实施,等差数组可经一一映射变换到[0,X_dim],[0,Y_dim],[0,Z_dim]。例如,[3,6]可映射为[0,3],其中原始的3映射为变换后的0,原始的4映射为变换后的1,依次类推。
参见图7,是本发明实施例提供的一种多维数组压缩及解压装置的结构示意图,该多维数组压缩及解压装置应用于线程坐标,所述线程坐标为多维等差数组,包括:
选取模块,用于接收待压缩数组,按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组;
压缩模块,用于将所述剔除数组从所述待压缩数组中剔除,生成压缩数组,所述压缩数组包括多个子数组;
解压模块,用于获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组;
还原模块,用于根据多个所述子数组和多个所述相邻数组,生成所述解压数组,其中,所述解压数组与所述待压缩数组一致。
图7所示实施例的装置对应地可用于执行图3所示方法实施例中的步骤,其实现原理和技术效果类似,此处不再赘述。
参见图8,是本发明实施例提供的一种多维数组压缩及解压设备的硬件结构示意图,该多维数组压缩及解压设备80包括:处理器81、存储器82和计算机程序;其中
存储器82,用于存储所述计算机程序,该存储器还可以是闪存(flash)。所述计算机程序例如是实现上述方法的应用程序、功能模块等。
处理器81,用于执行所述存储器存储的计算机程序,以实现上述方法中设备执行的各个步骤。具体可以参见前面方法实施例中的相关描述。
可选地,存储器82既可以是独立的,也可以跟处理器81集成在一起。
当所述存储器82是独立于处理器81之外的器件时,所述设备还可以包括:
总线83,用于连接所述存储器82和处理器81。
本发明还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
在上述设备的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种多维数组压缩及解压方法,其特征在于,应用于线程坐标,所述线程坐标为多维等差数组,包括:
接收待压缩数组,按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组;
将所述剔除数组从所述待压缩数组中剔除,生成压缩数组,所述压缩数组包括多个子数组;
获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组;
根据多个所述子数组和多个所述相邻数组,生成解压数组,其中,所述解压数组与所述待压缩数组一致;
其中,所述剔除数组是在芯片的下层分解单元输出时进行的操作,所述解压数组是在芯片的计算单元输入时进行的操作。
2.根据权利要求1所述的方法,其特征在于,所述子数组为(X(n),Y(n),Z(n)),其中,X(n)的最大值为X_dim,Y(n)的最大值为Y_dim,Z(n)的最大值为Z_dim,X(n)的最小值为0,Y(n)的最小值为0,Z(n)的最小值为0。
3.根据权利要求2所述的方法,其特征在于,所述预设数量为1;
按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组,包括:
按照1个数组间隔选取所述待压缩数组中的部分数组作为剔除数组。
4.根据权利要求3所述的方法,其特征在于,所述相邻数组为所述子数组的后一数组(X(n+1),Y(n+1),Z(n+1));
获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组,包括:
获取所述剔除数组与所述子数组之间的差值为1;
基于预设规则和1对所述子数组进行和处理,生成对应所述子数组的相邻数组;
其中,由(X(n),Y(n),Z(n))生成(X(n+1),Y(n+1),Z(n+1))的预设规则为:
若X(n)小于X_dim,则X(n+1)为X(n)+1,Y(n+1)为Y(n),Z(n+1)为Z(n);
若X(n)等于X_dim,且Y(n)小于Y_dim,则X(n+1)为0,Y(n+1)为Y(n)+1,Z(n+1)为Z(n);
若X(n)等于X_dim,且Y(n)等于Y_dim,则X(n+1)为0,Y(n+1)为0,Z(n+1)为Z(n)+1。
5.根据权利要求2所述的方法,其特征在于,所述预设数量为2;
按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组,包括:
按照2个数组间隔选取所述待压缩数组中的部分数组作为剔除数组。
6.根据权利要求5所述的方法,其特征在于,所述相邻数组为所述子数组的后一个数组(X(n+1),Y(n+1),Z(n+1)),以及所述子数组的前一个数组(X(n-1),Y(n-1),Z(n-1));
获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组,包括:
获取所述剔除数组与所述子数组之间的差值为1;
基于预设规则和1对所述子数组进行和处理,生成对应所述子数组的(X(n+1),Y(n+1),Z(n+1));
基于预设规则和1对所述子数组进行差处理,生成对应所述子数组的(X(n-1),Y(n-1),Z(n-1));
其中,由(X(n),Y(n),Z(n))生成(X(n-1),Y(n-1),Z(n-1))的预设规则为:
若X(n)大于0,则X(n-1)为X(n)-1,Y(n-1)为Y(n),Z(n-1)为Z(n);
若X(n)等于0,且Y(n)大于0,则X(n-1)为X_dim,Y(n-1)为Y(n)-1,Z(n-1)为Z(n);
若X(n)等于0,且Y(n)等于0,则X(n-1)为X_dim,Y(n-1)为Y_dim,Z(n-1)为Z(n)-1。
7.根据权利要求2所述的方法,其特征在于,所述预设数量为4;
按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组,包括:
按照4个数组间隔选取所述待压缩数组中的部分数组作为剔除数组。
8.根据权利要求7所述的方法,其特征在于,所述相邻数组为所述子数组的后一个数组(X(n+1),Y(n+1),Z(n+1))、所述子数组的后两个数组(X(n+2),Y(n+2),Z(n+2))、所述子数组的前一个数组(X(n-1),Y(n-1),Z(n-1))、所述子数组的前两个数组(X(n-2),Y(n-2),Z(n-2));
获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组,包括:
获取所述剔除数组与所述子数组之间的差值为1或2;
基于预设规则和1对所述子数组进行和处理,生成对应所述子数组的(X(n+1),Y(n+1),Z(n+1));
基于预设规则和1对所述子数组进行差处理,生成对应所述子数组的(X(n-1),Y(n-1),Z(n-1));
基于预设规则和2对所述子数组进行和处理,生成对应所述子数组的(X(n+2),Y(n+2),Z(n+2));
基于预设规则和2对所述子数组进行差处理,生成对应所述子数组的(X(n-2),Y(n-2),Z(n-2));
其中,由(X(n),Y(n),Z(n))生成(X(n+2),Y(n+2),Z(n+2))的预设规则为:
若X(n)小于X_dim-1,则X(n+2)为X(n)+2,Y(n+2)为Y(n),Z(n+2)为Z(n);
若X(n)等于X_dim-1,且Y(n)小于Y_dim,则X(n+2)为0,Y(n+2)为Y(n)+1,Z(n+2)为Z(n);
若X(n)等于X_dim-1,且Y(n)等于Y_dim,则X(n+2)为0,Y(n+2)为0,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim大于0,且Y(n)小于Y_dim,则X(n+2)为1,Y(n+2)为Y(n)+1,Z(n+2)为Z(n);
若X(n)等于X_dim,且X_dim大于0,且Y(n)等于Y_dim,则X(n+2)为1,Y(n+2)为0,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim等于0,且Y(n)小于Y_dim-1,则X(n+2)为0,Y(n+2)为Y(n)+2,Z(n+2)为Z(n);
若X(n)等于X_dim,且X_dim等于0,且Y(n)等于Y_dim-1,则X(n+2)为0,Y(n+2)为0,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim等于0,且Y(n)等于Y_dim,且Y_dim大于0,则X(n+2)为0,Y(n+2)为1,Z(n+2)为Z(n)+1;
若X(n)等于X_dim,且X_dim等于0,且Y(n)等于Y_dim,且Y_dim等于0,则X(n+2)为0,Y(n+2)为0,Z(n+2)为Z(n)+2;
由(X(n),Y(n),Z(n))生成(X(n-2),Y(n-2),Z(n-2))的预设规则为:
若X(n)大于1,则X(n-2)为X(n)-2,Y(n-2)为Y(n),Z(n-2)为Z(n);
若X(n)等于1,且Y(n)大于0,则X(n-2)为X_dim,Y(n-2)为Y(n)-1,Z(n-2)为Z(n);
若X(n)等于1,且Y(n)等于0,则X(n-2)为X_dim,Y(n-2)为Y_dim,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim大于0,且Y(n)大于0,则X(n-2)为X_dim-1,Y(n-2)为Y(n)-1,Z(n-2)为Z(n);
若X(n)等于0,且X_dim大于0,且Y(n)等于0,则X(n-2)为X_dim-1,Y(n-2)为Y_dim,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim等于0,且Y(n)大于1,则X(n-2)为0,Y(n-2)为Y(n)-2,Z(n-2)为Z(n);
若X(n)等于0,且X_dim等于0,且Y(n)等于1,则X(n-2)为0,Y(n-2)为Y_dim,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim等于0,且Y(n)等于0,且Y_dim大于0,则X(n-2)为0,Y(n-2)为Y_dim-1,Z(n-2)为Z(n)-1;
若X(n)等于0,且X_dim等于0,且Y(n)等于0,且Y_dim等于0,则X(n-2)为0,Y(n-2)为0,Z(n-2)为Z(n)-2。
9.一种多维数组压缩及解压装置,其特征在于,应用于线程坐标,所述线程坐标为多维等差数组,包括:
选取模块,用于接收待压缩数组,按照预设数量间隔选取所述待压缩数组中的部分数组作为剔除数组;
压缩模块,用于将所述剔除数组从所述待压缩数组中剔除,生成压缩数组,所述压缩数组包括多个子数组;
解压模块,用于获取各所述剔除数组与所述子数组之间的差值,基于预设规则和所述差值对所述子数组进行和或差处理,生成对应所述子数组的相邻数组;
还原模块,用于根据多个所述子数组和多个所述相邻数组,生成解压数组,其中,所述解压数组与所述待压缩数组一致;
其中,所述剔除数组是在芯片的下层分解单元输出时进行的操作,所述解压数组是在芯片的计算单元输入时进行的操作。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现权利要求1至8任一所述的方法。
CN202211303392.XA 2022-10-24 2022-10-24 多维数组压缩及解压方法及装置 Active CN115374388B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211303392.XA CN115374388B (zh) 2022-10-24 2022-10-24 多维数组压缩及解压方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211303392.XA CN115374388B (zh) 2022-10-24 2022-10-24 多维数组压缩及解压方法及装置

Publications (2)

Publication Number Publication Date
CN115374388A CN115374388A (zh) 2022-11-22
CN115374388B true CN115374388B (zh) 2023-02-28

Family

ID=84073262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211303392.XA Active CN115374388B (zh) 2022-10-24 2022-10-24 多维数组压缩及解压方法及装置

Country Status (1)

Country Link
CN (1) CN115374388B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089077B1 (en) * 2017-01-10 2018-10-02 Apple Inc. Parallel processing circuitry for encoded fields of related threads
CN113377438A (zh) * 2021-08-13 2021-09-10 沐曦集成电路(上海)有限公司 一种处理器及其数据读写方法
CN114968603A (zh) * 2022-08-03 2022-08-30 沐曦集成电路(上海)有限公司 一种支持多档负载平衡的容量检测方法及装置
CN114995882A (zh) * 2022-07-19 2022-09-02 沐曦集成电路(上海)有限公司 一种异构结构系统包处理的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490218B2 (en) * 2004-01-22 2009-02-10 University Of Washington Building a wavecache
US8031208B2 (en) * 2005-12-26 2011-10-04 Kabushiki Kaisha Toshiba Drawing apparatus and method for processing plural pixels in parallel
US11127167B2 (en) * 2019-04-29 2021-09-21 Nvidia Corporation Efficient matrix format suitable for neural networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089077B1 (en) * 2017-01-10 2018-10-02 Apple Inc. Parallel processing circuitry for encoded fields of related threads
CN113377438A (zh) * 2021-08-13 2021-09-10 沐曦集成电路(上海)有限公司 一种处理器及其数据读写方法
CN114995882A (zh) * 2022-07-19 2022-09-02 沐曦集成电路(上海)有限公司 一种异构结构系统包处理的方法
CN114968603A (zh) * 2022-08-03 2022-08-30 沐曦集成电路(上海)有限公司 一种支持多档负载平衡的容量检测方法及装置

Also Published As

Publication number Publication date
CN115374388A (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
CN109543832B (zh) 一种计算装置及板卡
CN110163359B (zh) 一种计算装置及方法
US20230026006A1 (en) Convolution computation engine, artificial intelligence chip, and data processing method
CN109284824B (zh) 一种基于可重构技术的用于加速卷积和池化运算的装置
CN110163350B (zh) 一种计算装置及方法
CN108733347B (zh) 一种数据处理方法及装置
CN110489428B (zh) 多维稀疏矩阵压缩方法、解压缩方法、装置、设备及介质
CN110515587B (zh) 乘法器、数据处理方法、芯片及电子设备
CN112765540A (zh) 数据处理方法、装置及相关产品
CN116227599A (zh) 一种推理模型的优化方法、装置、电子设备及存储介质
CN110059809B (zh) 一种计算装置及相关产品
CN113485750B (zh) 数据处理方法及数据处理装置
CN115374388B (zh) 多维数组压缩及解压方法及装置
CN115827555B (zh) 数据处理方法、计算机设备、存储介质和乘法器结构
CN111258541B (zh) 乘法器、数据处理方法、芯片及电子设备
CN111162792A (zh) 一种电力负荷数据的压缩方法及装置
CN113591031A (zh) 低功耗矩阵运算方法及装置
CN209895329U (zh) 乘法器
CN112596903A (zh) 基于大数据的信息智能处理方法及装置
CN113031916A (zh) 乘法器、数据处理方法、装置及芯片
CN113836481B (zh) 矩阵计算电路、方法、电子设备及计算机可读存储介质
CN210006082U (zh) 乘法器、装置、神经网络芯片及电子设备
CN113031913B (zh) 乘法器、数据处理方法、装置及芯片
CN209962284U (zh) 乘法器、装置、芯片及电子设备
US9311274B2 (en) Approach for significant improvement of FFT performance in microcontrollers

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