CN114691559A - 数据处理电路、数据处理方法及相关产品 - Google Patents

数据处理电路、数据处理方法及相关产品 Download PDF

Info

Publication number
CN114691559A
CN114691559A CN202011563247.6A CN202011563247A CN114691559A CN 114691559 A CN114691559 A CN 114691559A CN 202011563247 A CN202011563247 A CN 202011563247A CN 114691559 A CN114691559 A CN 114691559A
Authority
CN
China
Prior art keywords
data
circuit
elements
fused
index
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
CN202011563247.6A
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.)
Anhui Cambricon Information Technology Co Ltd
Original Assignee
Anhui Cambricon Information 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 Anhui Cambricon Information Technology Co Ltd filed Critical Anhui Cambricon Information Technology Co Ltd
Priority to CN202011563247.6A priority Critical patent/CN114691559A/zh
Publication of CN114691559A publication Critical patent/CN114691559A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses

Abstract

本披露公开了一种数据处理电路、数据处理方法及相关产品。该数据处理电路可以实现为计算装置包括在组合处理装置中,该组合处理装置还可以包括接口装置和其他处理装置。该计算装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与计算装置和其他处理装置连接,用于存储该计算装置和其他处理装置的数据。本披露的方案提供了数据融合相关操作的硬件实现,其可以简化处理,提高机器的处理效率。

Description

数据处理电路、数据处理方法及相关产品
技术领域
本披露一般地涉及数据处理领域。更具体地,本披露涉及数据处理电路、数据处理方法、芯片和板卡。
背景技术
近年来,随着深度学习的迅猛发展,使得计算机视觉、自然语言处理等一系列领域的算法性能都有了跨越式的进展。然而深度学习算法是一种计算密集型和存储密集型的工具,随着信息处理任务的日趋复杂,对算法实时性和准确性要求不断增高,神经网络往往会被设计得越来越深,使得其计算量和存储空间需求越来越大,导致现存的基于深度学习的人工智能技术难以直接应用在硬件资源受限的手机、卫星或嵌入式设备上。
因此,深度神经网络模型的压缩、加速、优化变得格外重要。大量的研究试着在不影响模型精度的前提下,减少神经网络的计算和存储需求,对深度学习技术在嵌入端、移动端的工程化应用具有十分重要的意义。稀疏化正是模型轻量化方法之一。
网络参数稀疏化是通过适当的方法减少较大网络中的冗余成分,以降低网络对计算量和存储空间的需求。现有的硬件和/或指令集不能有效地支持稀疏化处理和/或与稀疏化后相关的处理。
发明内容
为了至少部分地解决背景技术中提到的一个或多个技术问题,本披露的方案提供了一种数据处理电路、数据处理方法、芯片和板卡。
在第一方面中,本披露公开一种数据处理电路,包括控制电路、存储电路和运算电路,其中:所述控制电路配置用于控制所述存储电路和所述运算电路以对多路待融合的数据执行归并排序处理;所述存储电路配置用于存储信息,所述信息至少包括归并排序处理前和/或归并排序处理后的信息;以及所述运算电路配置用于在所述控制电路的控制下,将所述多路待融合的数据归并为一路有序的融合数据。
在第二方面中,本披露提供一种芯片,包括前述第一方面任一实施例的数据处理电路。
在第三方面中,本披露提供一种板卡,包括前述第二方面任一实施例的芯片。
在第四方面中,本披露提供一种使用数据处理电路来处理数据的方法,所述数据处理电路包括控制电路、存储电路和运算电路,所述方法包括:所述控制电路从所述存储电路中读取多路待融合的数据;所述运算电路将所述多路待融合的数据归并为一路有序的融合数据;以及将所述融合数据输出给所述存储电路。
通过如上所提供的数据处理电路、使用数据处理电路来处理数据的方法、芯片和板卡,本披露实施例提供了一种支持数据融合操作的硬件电路,用于对多路数据执行归并排序处理。在一些实施例中,该数据处理电路可以将多路有序的数据合并为一路有序的融合数据。在另一些实施例中,待融合的多路数据可以是与多路关联数据一一对应的多路索引,每路索引中的索引元素指示对应的一路关联数据中对应的关联数据元素的索引信息,并且在对多路索引执行归并排序处理的同时,保持融合后的索引中每个索引元素与融合后的关联数据中对应数据元素的绑定关系,由此可以按索引的顺序,将该多路关联数据也归并为一路融合关联数据。通过提供专门的数据融合相关操作的硬件实现,可以简化并加速处理,由此提高机器的处理效率。
附图说明
通过参考附图阅读下文的详细描述,本披露示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本披露的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1是示出本披露实施例的板卡的结构图;
图2是示出本披露实施例的组合处理装置的结构图;
图3是示出本披露实施例的单核或多核计算装置的处理器核的内部结构示意图;
图4是示出根据本披露实施例的数据融合处理的示例性原理图;
图5是示出本披露实施例的数据处理装置的结构示意图;
图6是示出本披露一个实施例的用于数据融合处理的示例性电路图;
图7是示出本披露另一实施例的用于数据融合处理的示例性电路图;以及
图8是示出本披露实施例的数据处理方法的示例性流程图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的权利要求、说明书及附图中可能出现的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。
下面结合附图来详细描述本披露的具体实施方式。
图1示出本披露实施例的一种板卡10的结构示意图。如图1所示,板卡10包括芯片101,其是一种系统级芯片(System on Chip,SoC),或称片上系统,集成有一个或多个组合处理装置,组合处理装置是一种人工智能运算单元,用以支持各类深度学习和机器学习算法,满足计算机视觉、语音、自然语言处理、数据挖掘等领域复杂场景下的智能处理需求。特别是深度学习技术大量应用在云端智能领域,云端智能应用的一个显著特点是输入数据量大,对平台的存储能力和计算能力有很高的要求,此实施例的板卡10适用在云端智能应用,具有庞大的片外存储、片上存储和强大的计算能力。
芯片101通过对外接口装置102与外部设备103相连接。外部设备103例如是服务器、计算机、摄像头、显示器、鼠标、键盘、网卡或wifi接口等。待处理的数据可以由外部设备103通过对外接口装置102传递至芯片101。芯片101的计算结果可以经由对外接口装置102传送回外部设备103。根据不同的应用场景,对外接口装置102可以具有不同的接口形式,例如PCIe接口等。
板卡10还包括用于存储数据的存储器件104,其包括一个或多个存储单元105。存储器件104通过总线与控制器件106和芯片101进行连接和数据传输。板卡10中的控制器件106配置用于对芯片101的状态进行调控。为此,在一个应用场景中,控制器件106可以包括单片机(Micro Controller Unit,MCU)。
图2是示出此实施例的芯片101中的组合处理装置的结构图。如图2中所示,组合处理装置20包括计算装置201、接口装置202、处理装置203和存储装置204。
计算装置201配置成执行用户指定的操作,主要实现为单核智能处理器或者多核智能处理器,用以执行深度学习或机器学习的计算,其可以通过接口装置202与处理装置203进行交互,以共同完成用户指定的操作。
接口装置202用于在计算装置201与处理装置203间传输数据和控制指令。例如,计算装置201可以经由接口装置202从处理装置203中获取输入数据,写入计算装置201片上的存储装置。进一步,计算装置201可以经由接口装置202从处理装置203中获取控制指令,写入计算装置201片上的控制缓存中。替代地或可选地,接口装置202也可以读取计算装置201的存储装置中的数据并传输给处理装置203。
处理装置203作为通用的处理装置,执行包括但不限于数据搬运、对计算装置201的开启和/或停止等基本控制。根据实现方式的不同,处理装置203可以是中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)或其他通用和/或专用处理器中的一种或多种类型的处理器,这些处理器包括但不限于数字信号处理器(digital signal processor,DSP)、专用集成电路(application specificintegrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本披露的计算装置201而言,其可以视为具有单核结构或者同构多核结构。然而,当将计算装置201和处理装置203整合共同考虑时,二者视为形成异构多核结构。
存储装置204用以存储待处理的数据,其可以是DRAM,为DDR内存,大小通常为16G或更大,用于保存计算装置201和/或处理装置203的数据。
图3示出了计算装置201为单核或多核装置时处理器核的内部结构示意图。计算装置301用以处理计算机视觉、语音、自然语言、数据挖掘等输入数据,计算装置301包括三大模块:控制模块31、运算模块32及存储模块33。
控制模块31用以协调并控制运算模块32和存储模块33的工作,以完成深度学习的任务,其包括取指单元(instruction fetch unit,IFU)311及指令译码单元(instructiondecode unit,IDU)312。取指单元311用以获取来自处理装置203的指令,指令译码单元312则将获取的指令进行译码,并将译码结果作为控制信息发送给运算模块32和存储模块33。
运算模块32包括向量运算单元321及矩阵运算单元322。向量运算单元321用以执行向量运算,可支持向量乘、加、非线性变换等复杂运算;矩阵运算单元322负责深度学习算法的核心计算,即矩阵乘及卷积。
存储模块33用来存储或搬运相关数据,包括神经元存储单元(neuron RAM,NRAM)331、参数存储单元(weight RAM,WRAM)332、直接内存访问模块(direct memory access,DMA)333。NRAM 331用以存储输入神经元、输出神经元和计算后的中间结果;WRAM 332则用以存储深度学习网络的卷积核,即权值;DMA 333通过总线34连接DRAM 204,负责计算装置301与DRAM 204间的数据搬运。
本披露的实施例基于前述硬件环境,提供一种数据处理电路,支持数据融合操作。如背景技术所提到的,网络参数稀疏化可以有效降低网络对计算量和存储空间的需求。但是网络参数稀疏化之后对后续的处理也会带来一系列影响。例如,在稀疏数据处理中,可能需要对多路稀疏数据进行归并排序;又例如,在稀疏矩阵乘法运算中,可能需要对向量进行排序累加。鉴于此,本披露的实施例提供了一种数据融合处理的硬件方案,以简化并加速此类处理。
图4示出根据本披露实施例的数据融合处理的示例性原理。图中示例性示出了4路数据,每路数据包括6个数据元素,并且各路数据中的数据元素均按照第一顺序(例如,从小到大的顺序)排列。经过数据融合后,这4路数据归并为一路融合数据,包括24个数据元素,并且融合后的数据元素按照第二顺序(例如,从小到大的顺序)排列。在此归并排序处理中,保留了重复的数据元素。
本领域技术人员可以理解,第一顺序与第二顺序可以相同,也可以不同,并且二者都可以选自以下任一:从小到大的顺序,或从大到小的顺序。
本领域技术人员还可以理解,各路数据中的数据元素个数可以相同,也可以不同,本披露在此方面没有限制。
在本披露的实施例中,数据元素是标量,因此,包括若干数据元素的一路数据可以称为一个数据向量,向量长度等于所包含的数据元素的个数。
图5示出根据本披露实施例的数据处理电路500的结构框图。数据处理电路500例如可以实现在图2的计算装置201中。如图所示,数据处理电路500可以包括控制电路510、存储电路520和运算电路530。
控制电路510的功能可以类似于图3的控制模块31,其例如可以包括取指单元,用以获取来自例如图2的处理装置203的指令,以及指令译码单元,用于将获取的指令进行译码,并将译码结果作为控制信息发送给运算电路530和存储电路520。
在一个实施例中,控制电路510可以配置用于控制存储电路520和运算电路530,以对多路待融合的数据执行归并排序处理。
存储电路520可以配置用于存储各种信息,这些信息至少包括归并排序处理前和/或归并排序处理后的信息。存储电路例如可以是图3的WRAM332。
运算电路530可以配置用于在控制电路的控制下,将多路待融合的数据归并为一路有序的融合数据。
在一个实施例中,运算电路530还可以包括运算处理电路(未示出),其可以配置成根据运算指令对运算电路执行运算前的数据进行预处理或者对运算后的数据进行后处理。在一些应用场景中,前述的预处理和后处理可以例如包括数据拆分和/或数据拼接操作。
可以采取多种方式来实施运算电路。图6示出根据本披露一个实施例的用于数据融合处理的示例性电路图。
如图所示,在一个实施例中,存储电路可以示例性划分为两部分:第一存储电路622和第二存储电路624。
第一存储电路622可以配置用于存储待融合的K路数据,K>1,这K路数据中每路数据的数据元素均按第一顺序有序排列。图中示例性示出了图4所示的4路数据。在一些实施例中,每路数据是连续存储的,例如作为一个向量进行存储,从而可以根据每路数据的起始地址或向量的起始地址来访问该路数据/向量。
第二存储电路624可以配置用于存储运算电路输出的融合数据,并且输出的融合数据中的数据元素按第二顺序有序排列。如图所示,待融合的4路数据变成了一路融合数据,其中融合数据元素按照从小到大的顺序排列,大小相同的数据元素都会保留并重复输出。
在一些实施例中,运算电路可以包括比较电路632和缓冲电路634。比较电路632实现比较功能,其对多路待融合的数据中的数据元素的大小进行比较,并提交比较结果给控制电路610以供排序。控制电路610根据比较结果确定数据元素在缓冲电路634中的插入位置。缓冲电路634用于缓存已比较的数据元素,并按大小顺序缓存。
具体地,比较电路632可以配置用于将待融合数据中的数据元素与缓冲电路634中未输出的数据元素进行比较,并输出比较结果给控制电路610。而缓冲电路634可以配置用于根据控制电路610的控制,有序存储已比较的数据元素,以及有序输出已比较的数据元素作为融合数据。
在一些实施例中,缓冲电路634可以配置成缓存K个数据元素,这K个数据元素按照大小排序。本领域技术人员可以理解,缓冲电路也可以配置成缓存更多的数据元素,本披露实施例在此方面没有限制。取决于缓冲电路634中的排序方式以及期望输出的排序方式,诸如从小到大,或从大到小,每次可以按照指定顺序输出当前序列中的首个数据元素或末个数据元素。例如,在图中的示例中,缓冲电路634从左到右按照从大到小的顺序缓存数据元素,每次输出最右边的一个数据元素,也即当前序列中最小的数据元素,例如“7”。
在这些实施例中,比较电路632可以包括K-1路比较器,配置用于将待融合的数据元素分别与缓冲电路634中未输出的数据元素进行比较,也即与当前序列输出首个或末个数据元素后剩余的K-1个数据元素进行比较,生成比较结果并输出给控制电路610。
例如,对于待融合的4路数据,图中示出了3路比较器,其将从第一存储电路622接收的指定数据元素(此时为9)与缓冲电路634中当前未输出的3个数据元素进行比较,图中为左边的三个数据元素100、10和9。
在一些实施例中,比较器的比较结果可以使用位图来表示。例如,如果待融合的数据元素(例如,9)大于等于缓冲电路中的数据元素,则比较器可以输出“1”,否则,输出“0”;反过来也可以。在图中的示例中,待融合的数据元素(9)与缓冲电路中的各个数据元素(100、10和9)的比较结果为“001”,输出给控制电路610。
控制电路610可以配置用于根据接收的比较结果,确定该待融合的数据元素在缓冲电路634的当前序列中的插入位置。具体地,控制电路610可以进一步配置用于根据位图中比特位的变化位置,确定插入位置。在图中的示例中,比较结果为“001”,说明当前待融合的数据元素小于缓冲电路中左起第1个和第2个数据元素,大于等于左起第3个数据元素,则插入位置在第2个数据元素与第3个数据元素之间,也即在“10”和“9”之间。
在一些实施例中,缓冲电路634可以配置用于根据控制电路610的指示,在插入位置中插入该待融合的数据元素。在图中示例中,缓冲电路634中插入该数据元素之后的序列变为“100,10,9,9”。
接着,缓冲电路634可以输出最右端的数据元素“9”。此时,控制电路610可以进一步配置用于根据缓冲电路中输出的数据元素,确定待融合的下一数据元素的访存信息。具体地,控制电路根据输出的数据元素在K路数据中属于哪一路数据,从该路数据中取出下一待融合的数据元素,送到比较电路632进行比较。
为了清楚起见,图中还示出了缓冲电路634中随排序进度缓存过的数据序列。如图所示,初始地,K路数据中各路的首个数据元素按照从大到小的顺序存储在缓冲电路634中。在一些实现中,这4个数据元素可以一次性取出、排序并存储在缓冲电路中。在另一些实现中,可以将缓冲电路中的数据初始化为负数,按顺序(例如,按照从第1路到第4路的顺序)逐个取出各路数据的首个数据元素,与缓冲电路中的数据进行比较,并放入合适位置。在此示例中,4路数据的首个数据元素都是0,因此可以根据取数的顺序,按照各路数据的序号排列,例如第1路的“0”放置在最右边,第2路的“0”放置在右边第2位置,以此类推。
接着,缓冲电路中最右边的属于第1路的“0”被输出。根据这个输出的数据元素属于哪一路数据,从对应的该路数据中取出下一待融合的数据元素,也即第1路第2个数据元素“2”。“2”被送入比较电路与缓冲电路中剩余的三个“0”进行比较,比较结果为“111”,也即比缓冲电路中现有的三个数“0”都大,因此“2”被插入在序列最尾端,此时缓冲电路中的序列变为“2,0,0,0”。
接着,缓冲电路中最右边的属于第2路的“0”被输出,因此取出第2路第2个元素“3”与缓冲电路中剩余的“2,0,0”进行比较,比较结果为“111”,因此“3”被插入在序列最尾端,此时缓冲电路中的序列变为“3,2,0,0”。
接着,缓冲电路中最右边的属于第3路的“0”被输出,因此取出第3路第2个元素“100”与缓冲电路中剩余的“2,0,0”进行比较,比较结果为“111”,因此“100”被插入在序列最尾端,此时缓冲电路中的序列变为“100,3,2,0”。
接着,输出缓冲电路最右边的属于第4路的“0”,取出第4路第2个元素“2”与缓冲电路中剩余的“100,3,2”进行比较,比较结果为“001”,因此“2”被插入在序列最右边第1个元素之后,此时缓冲电路中的序列变为“100,3,2,2”。
依次类推,可以逐个将K路数据中的数据元素进行比较,并根据大小排序插入到缓冲电路中的合适位置,再由缓冲电路输出。例如,缓冲电路每次输出的最小数据元素可以按顺序存储在第二存储电路624中。本领域技术人员可以理解,如果缓冲电路的空间足够,也可以在排序完成之后再统一输出归并排序后的数据元素。
从输出的归并排序后的数据元素可以看出,当存在大小相同的数据元素时,融合后的数据中仍然保留这些大小相同的数据元素,不会进行去重操作。由此,上面结合图6的详细电路图描述了本披露实施例提供的归并排序方案。
在一些应用场景中,待融合的多路数据可能是多路索引,并且这些多路索引与多路关联数据一一对应,每路索引中的索引元素指示对应的一路关联数据中对应的关联数据元素的索引信息。例如,在稀疏向量中,某些位置的数据元素会保留作为有效数据元素,而其他位置的数据元素则被丢弃或置零。这些有效数据元素在稀疏化前的向量中的位置信息可以通过索引来标识。在这些应用场景中,有可能存在多路稀疏化的数据,例如多个稀疏向量,并且需要将这多路稀疏化的数据融合为一路数据,其中数据元素按照索引的顺序排序。
此时,本披露实施例的数据处理电路除了将多路索引归并为一路有序的融合索引之外,还配置成将该多路关联数据也归并为一路有序的融合关联数据,并且融合关联数据中数据元素的顺序与融合索引中数据元素的顺序保持一致。也即,在归并排序处理后,关联数据与索引始终保持一一对应的绑定关系。
图7示出根据本披露另一实施例的用于数据融合处理的示例性电路图。图7中待融合的数据为K路索引,以及与其一一对应的K路关联数据。图7的实施例与图6的区别在于,除了对K路索引进行归并排序之外,还要连带对关联的数据执行类似的排序处理。本领域技术人员可以理解,图7中的K路索引相当于图6中的K路数据。为了避免混淆,在图7中使用了K路索引和K路关联数据的表述方式。
如图所示,第一存储电路722中除了存储待融合的K路索引之外,还存储与这K路索引一一对应的K路关联数据。如图所示,这K路索引中每路索引的索引元素均按第一顺序(例如,从小到大)有序排列。每路索引中的索引元素指示对应的一路关联数据中对应的关联数据元素的索引信息。图中示例性示出了4路索引以及对应的4路关联数据。如图所示,第1路关联数据的第1个数据元素D11的索引为0,第2个数据元素D12的索引为2,第3个数据元素D13的索引为5,依次类推。第2路关联数据的第1个数据元素D21的索引为0,第2个数据元素D22的索引为3,依次类推。在一些实施例中,每路索引或每路关联数据是连续存储的,例如作为一个索引向量或关联数据向量进行存储,从而可以根据每路数据的起始地址或向量的起始地址来访问该路数据/向量。
为了使得在归并排序处理后,关联数据与索引始终保持一一对应的绑定关系,在一些实施例中,缓冲电路734可以进一步配置用于:按索引元素的值顺序,有序存储已比较的索引元素以及与其对应的关联数据元素。如图所示,缓冲电路734除了缓存索引元素,还缓存与其对应的关联数据元素。因此,每次对索引元素进行比较确定插入位置之后,可以将与该索引元素对应的关联数据元素也一并插入到缓存电路中。本领域技术人员可以理解,关联数据元素可以是关联数据元素本身,例如图中示例性示出的D32、D23等等;关联数据元素也可以是指向该关联数据元素的地址,本披露实施例在此方面没有限制。
进一步地,在有序输出时,缓冲电路734可以配置成按索引元素的值顺序(例如,从小到大),有序输出已比较的索引元素作为融合索引,并同步输出与其对应的关联数据元素作为融合关联数据。输出的数据例如存储在第二存储电路724中。如图所示,输出的数据可以包括两个向量:融合索引向量和融合关联数据向量。
从输出的归并排序后的数据可以看出,当该多路索引中存在大小相同的索引元素时,在融合后的索引中重复输出这些大小相同的索引元素,并且在融合关联数据中同步输出与这些索引元素分别对应的关联数据元素。由此,上面结合图7的详细电路图描述了本披露另一实施例提供的归并排序方案。
图8示出了根据本披露实施例的利用上述数据处理电路执行的数据处理方法800的示例性流程图。
如图8所示,在步骤810中,控制电路从存储电路中读取多路待融合的数据。接着,在步骤820中,运算电路将这多路待融合的数据归并为一路有序的融合数据。最后,在步骤830中,运算电路将融合数据输出给存储电路。尽管在图中将方法步骤按顺序示出,但是这些步骤会逐个数据元素循环起来,在这些循环中,有些步骤是同时发生的。例如,当运算电路输出数据时,控制电路会同时去访问存储电路,以读取下一待融合的数据元素。
在一些实施例中,存储电路可以包括第一存储电路和第二存储电路。第一存储电路配置用于存储待融合的K路数据,K>1,其中这K路数据中每路数据的数据元素均按第一顺序有序排列。第二存储电路配置用于存储运算电路输出的融合数据,并且输出的融合数据中的数据元素按第二顺序有序排列。
在一些实施例中,第一顺序与第二顺序可以相同或不同,并且第一顺序和第二顺序选自以下任一:从小到大的顺序,或从大到小的顺序。例如,可以将各路按从小到大顺序排列的多路数据,融合为一路按从大到小顺序排列的融合数据,或者融合为一路按从小到大顺序排列的融合数据。
在一些实施例中,运算电路可以包括比较电路和缓冲电路。此时,数据处理方法可以进一步包括:比较电路将多路待融合的数据中的数据元素与缓冲电路中未输出的数据元素进行比较,并输出比较结果给控制电路;以及在控制电路的控制下,缓冲电路有序存储已比较的数据元素,以及有序输出已比较的数据元素作为融合数据。
在一些实施例中,比较电路可以包括K-1路比较器,并且数据处理方法可以包括:该K-1路比较器将待融合的数据元素分别与缓冲电路中当前序列的K-1个数据元素进行比较,生成比较结果并输出给控制电路。
进一步,控制电路可以根据比较结果,确定待融合的数据元素在缓冲电路的当前序列中的插入位置。在一个实现中,比较结果可以使用位图来表示,并且控制电路可以根据位图中比特位的变化位置,确定待融合的数据元素的插入位置。
继而,缓冲电路可以根据控制电路的指示,在所确定的插入位置中插入该待融合的数据元素。接着,缓冲电路可以按指定顺序(例如从小到大)输出当前序列中的首个或末个数据元素。
此时,控制电路可以根据缓冲电路中输出的数据元素,确定待融合的下一数据元素的访存信息,并从存储电路中读取该数据元素送至比较电路进行下一轮比较。
如前面所提到的,在一些应用场景中,待融合的多路数据包括多路索引,并且这多路索引与多路关联数据一一对应,每路索引中的索引元素指示对应的一路关联数据中对应的关联数据元素的索引信息。此时,需要对关联数据元素按其索引的对应关系,进行类似的排序操作。
在这些实施例中,运算电路将这多路关联数据归并为一路有序的融合关联数据,其中融合关联数据中数据元素的顺序与融合数据(也即融合索引)中数据元素(也即索引元素)的顺序保持一致。
具体地,缓冲电路可以按索引元素的值顺序,有序存储已比较的索引元素以及与其对应的关联数据元素;以及按索引元素的值顺序,有序输出已比较的索引元素作为融合数据,并同步输出与其对应的关联数据元素作为融合关联数据。
在本披露实施例的归并排序处理中,当多路索引中存在大小相同的索引元素时,在融合数据中重复输出大小相同的索引元素,并且在融合关联数据中同步输出与这些索引元素分别对应的关联数据元素。换言之,本披露实施例的归并排序处理不对重复的索引元素去重,而是保留所有原始元素。
在一些应用中,上述多路关联数据中的数据元素可以是稀疏矩阵中的有效数据元素,并且索引信息用于指示这些有效数据元素在稀疏矩阵中的位置信息。
本领域技术人员可以理解,上述方法的各个步骤分别对应于前面结合示例电路图描述的各个电路,因此前面描述的特征可以同样地适用于方法步骤,在此不再重复。
从上面描述可知,本披露实施例提供了一种硬件电路,用于执行与归并排序处理相关的数据融合操作。通过用硬件实现归并排序,可以加快处理速度,从而更好地支持与稀疏化后的处理相关的操作,例如稀疏矩阵乘等运算。在一些实施例中,该硬件电路可以将多路有序的数据合并为一路有序的融合数据。在另一些实施例中,待融合的多路数据可以是与多路关联数据一一对应的多路索引,每路索引中的索引元素指示对应的一路关联数据中对应的关联数据元素的索引信息,并且在对多路索引执行归并排序处理的同时,保持融合后的索引中每个索引元素与融合后的关联数据中对应数据元素的绑定关系,由此可以按索引的顺序,将该多路关联数据也归并为一路融合关联数据。
根据不同的应用场景,本披露的电子设备或装置可以包括服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、PC设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。本披露的电子设备或装置还可以被应用于互联网、物联网、数据中心、能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医疗等领域。进一步,本披露的电子设备或装置还可以用于云端、边缘端、终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实施例中,根据本披露方案的算力高的电子设备或装置可以应用于云端设备(例如云端服务器),而功耗小的电子设备或装置可以应用于终端设备和/或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一体或云边端一体的统一管理、调度和协同工作。
需要说明的是,为了简明的目的,本披露将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本披露的方案并不受所描述的动作的顺序限制。因此,依据本披露的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本披露所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本披露某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本披露对一些实施例的描述也各有侧重。鉴于此,本领域技术人员可以理解本披露某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
在具体实现方面,基于本披露的公开和教导,本领域技术人员可以理解本披露所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行拆分,而实际实现时也可以有另外的拆分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。
在本披露中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本披露实施例所述方案的目的。另外,在一些场景中,本披露实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
在另外一些实现场景中,上述集成的单元也可以采用硬件的形式实现,即为具体的硬件电路,其可以包括数字电路和/或模拟电路等。电路的硬件结构的物理实现可以包括但不限于物理器件,而物理器件可以包括但不限于晶体管或忆阻器等器件。鉴于此,本文所述的各类装置(例如计算装置或其他处理装置)可以通过适当的硬件处理器来实现,例如中央处理器、GPU、FPGA、DSP和ASIC等。进一步,前述的所述存储单元或存储装置可以是任意适当的存储介质(包括磁存储介质或磁光存储介质等),其例如可以是可变电阻式存储器(Resistive Random Access Memory,RRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、增强动态随机存取存储器(Enhanced Dynamic Random Access Memory,EDRAM)、高带宽存储器(High Bandwidth Memory,HBM)、混合存储器立方体(Hybrid Memory Cube,HMC)、ROM和RAM等。
依据以下条款可更好地理解前述内容:
条款1、一种数据处理电路,包括控制电路、存储电路和运算电路,其中:
所述控制电路配置用于控制所述存储电路和所述运算电路以对多路待融合的数据执行归并排序处理;
所述存储电路配置用于存储信息,所述信息至少包括归并排序处理前和/或归并排序处理后的信息;以及
所述运算电路配置用于在所述控制电路的控制下,将所述多路待融合的数据归并为一路有序的融合数据。
条款2、根据条款1所述的数据处理电路,其中所述存储电路包括第一存储电路和第二存储电路,
所述第一存储电路配置用于存储所述待融合的K路数据,K>1,其中所述K路数据中每路数据的数据元素均按第一顺序有序排列;并且
所述第二存储电路配置用于存储所述运算电路输出的所述融合数据,并且输出的所述融合数据中的数据元素按第二顺序有序排列。
条款3、根据条款2所述的数据处理电路,其中所述第一顺序与第二顺序相同或不同,并且所述第一顺序和第二顺序选自以下任一:从小到大的顺序,或从大到小的顺序。
条款4、根据条款1-3任一所述的数据处理电路,其中所述运算电路包括比较电路和缓冲电路,其中:
所述比较电路配置用于将所述多路待融合的数据中的数据元素与所述缓冲电路中未输出的数据元素进行比较,并输出比较结果给所述控制电路;并且
所述缓冲电路配置用于根据所述控制电路的控制,有序存储已比较的数据元素,以及有序输出已比较的数据元素作为所述融合数据。
条款5、根据条款4所述的数据处理电路,其中所述比较电路包括:
K-1路比较器,配置用于将待融合的数据元素分别与所述缓冲电路中当前序列的K-1个数据元素进行比较,生成比较结果并输出给所述控制电路。
条款6、根据条款5所述的数据处理电路,其中所述控制电路配置用于根据所述比较结果,确定所述待融合的数据元素在所述缓冲电路的当前序列中的插入位置。
条款7、根据条款6所述的数据处理电路,其中所述比较结果使用位图来表示,并且所述控制电路进一步配置用于:根据所述位图中比特位的变化位置,确定所述插入位置。
条款8、根据条款6-7任一所述的数据处理电路,其中所述缓冲电路配置用于根据所述控制电路的指示,在所述插入位置中插入所述待融合的数据元素。
条款9、根据条款4-8任一所述的数据处理电路,其中所述缓冲电路进一步配置用于按指定顺序输出当前序列中的首个或末个数据元素。
条款10、根据条款9所述的数据处理电路,其中所述控制电路进一步配置用于:根据所述缓冲电路中输出的数据元素,确定所述待融合的下一数据元素的访存信息。
条款11、根据条款4-10任一所述的数据处理电路,其中所述多路数据包括多路索引,所述多路索引与多路关联数据一一对应,每路索引中的索引元素指示对应的一路关联数据中对应的关联数据元素的索引信息,并且所述运算电路进一步配置用于:
将所述多路关联数据归并为一路有序的融合关联数据,其中所述融合关联数据中数据元素的顺序与所述融合数据中数据元素的顺序保持一致。
条款12、根据条款11所述的数据处理电路,其中所述缓冲电路进一步配置用于:
按所述索引元素的值顺序,有序存储已比较的索引元素以及与其对应的关联数据元素;以及
按所述索引元素的值顺序,有序输出已比较的索引元素作为所述融合数据,并同步输出与其对应的关联数据元素作为所述融合关联数据。
条款13、根据条款12所述的数据处理电路,其中当所述多路索引中存在大小相同的索引元素时,在所述融合数据中重复输出大小相同的所述索引元素,并且在所述融合关联数据中同步输出与这些索引元素分别对应的关联数据元素。
条款14、根据条款11-13任一所述的数据处理电路,其中所述多路关联数据中的数据元素是稀疏矩阵中的有效数据元素,并且所述索引信息指示所述有效数据元素在稀疏矩阵中的位置信息。
条款15、一种芯片,包括根据条款1-14任一所述的数据处理电路。
条款16、一种板卡,包括根据条款15所述的芯片。
条款17、一种使用数据处理电路来处理数据的方法,所述数据处理电路包括控制电路、存储电路和运算电路,所述方法包括:
所述控制电路从所述存储电路中读取多路待融合的数据;
所述运算电路将所述多路待融合的数据归并为一路有序的融合数据;以及
将所述融合数据输出给所述存储电路。
条款18、根据条款17所述的方法,其中所述存储电路包括第一存储电路和第二存储电路,
所述第一存储电路配置用于存储所述待融合的K路数据,K>1,其中所述K路数据中每路数据的数据元素均按第一顺序有序排列;并且
所述第二存储电路配置用于存储所述运算电路输出的所述融合数据,并且输出的所述融合数据中的数据元素按第二顺序有序排列。
条款19、根据条款18所述的方法,其中所述第一顺序与第二顺序相同或不同,并且所述第一顺序和第二顺序选自以下任一:从小到大的顺序,或从大到小的顺序。
条款20、根据条款17-19任一所述的方法,其中所述运算电路包括比较电路和缓冲电路,并且所述方法进一步包括:
所述比较电路将所述多路待融合的数据中的数据元素与所述缓冲电路中未输出的数据元素进行比较,并输出比较结果给所述控制电路;以及
在所述控制电路的控制下,所述缓冲电路有序存储已比较的数据元素,以及有序输出已比较的数据元素作为所述融合数据。
条款21、根据条款20所述的方法,其中所述比较电路包括K-1路比较器,并且所述方法包括:
所述K-1路比较器将待融合的数据元素分别与所述缓冲电路中当前序列的K-1个数据元素进行比较,生成比较结果并输出给所述控制电路。
条款22、根据条款21所述的方法,进一步包括:
所述控制电路根据所述比较结果,确定所述待融合的数据元素在所述缓冲电路的当前序列中的插入位置。
条款23、根据条款22所述的方法,其中所述比较结果使用位图来表示,并且所述方法进一步包括:所述控制电路根据所述位图中比特位的变化位置,确定所述插入位置。
条款24、根据条款22-23任一所述的方法,进一步包括:
所述缓冲电路根据所述控制电路的指示,在所述插入位置中插入所述待融合的数据元素。
条款25、根据条款20-24任一所述的方法,进一步包括:
所述缓冲电路按指定顺序输出当前序列中的首个或末个数据元素。
条款26、根据条款25所述的方法,进一步包括:
所述控制电路根据所述缓冲电路中输出的数据元素,确定所述待融合的下一数据元素的访存信息。
条款27、根据条款20-26任一所述的方法,其中所述多路数据包括多路索引,所述多路索引与多路关联数据一一对应,每路索引中的索引元素指示对应的一路关联数据中对应的关联数据元素的索引信息,并且所述方法进一步包括:
所述运算电路将所述多路关联数据归并为一路有序的融合关联数据,其中所述融合关联数据中数据元素的顺序与所述融合数据中数据元素的顺序保持一致。
条款28、根据条款27所述的方法,进一步包括:
所述缓冲电路按所述索引元素的值顺序,有序存储已比较的索引元素以及与其对应的关联数据元素;以及
按所述索引元素的值顺序,有序输出已比较的索引元素作为所述融合数据,并同步输出与其对应的关联数据元素作为所述融合关联数据。
条款29、根据条款28所述的方法,其中当所述多路索引中存在大小相同的索引元素时,在所述融合数据中重复输出大小相同的所述索引元素,并且在所述融合关联数据中同步输出与这些索引元素分别对应的关联数据元素。
条款30、根据条款27-29任一所述的方法,其中所述多路关联数据中的数据元素是稀疏矩阵中的有效数据元素,并且所述索引信息指示所述有效数据元素在稀疏矩阵中的位置信息。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本披露的方法及其核心思想;同时,对于本领域的一般技术人员,依据本披露的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本披露的限制。

Claims (30)

1.一种数据处理电路,包括控制电路、存储电路和运算电路,其中:
所述控制电路配置用于控制所述存储电路和所述运算电路以对多路待融合的数据执行归并排序处理;
所述存储电路配置用于存储信息,所述信息至少包括归并排序处理前和/或归并排序处理后的信息;以及
所述运算电路配置用于在所述控制电路的控制下,将所述多路待融合的数据归并为一路有序的融合数据。
2.根据权利要求1所述的数据处理电路,其中所述存储电路包括第一存储电路和第二存储电路,
所述第一存储电路配置用于存储所述待融合的K路数据,K>1,其中所述K路数据中每路数据的数据元素均按第一顺序有序排列;并且
所述第二存储电路配置用于存储所述运算电路输出的所述融合数据,并且输出的所述融合数据中的数据元素按第二顺序有序排列。
3.根据权利要求2所述的数据处理电路,其中所述第一顺序与第二顺序相同或不同,并且所述第一顺序和第二顺序选自以下任一:从小到大的顺序,或从大到小的顺序。
4.根据权利要求1-3任一所述的数据处理电路,其中所述运算电路包括比较电路和缓冲电路,其中:
所述比较电路配置用于将所述多路待融合的数据中的数据元素与所述缓冲电路中未输出的数据元素进行比较,并输出比较结果给所述控制电路;并且
所述缓冲电路配置用于根据所述控制电路的控制,有序存储已比较的数据元素,以及有序输出已比较的数据元素作为所述融合数据。
5.根据权利要求4所述的数据处理电路,其中所述比较电路包括:
K-1路比较器,配置用于将待融合的数据元素分别与所述缓冲电路中当前序列的K-1个数据元素进行比较,生成比较结果并输出给所述控制电路。
6.根据权利要求5所述的数据处理电路,其中所述控制电路配置用于根据所述比较结果,确定所述待融合的数据元素在所述缓冲电路的当前序列中的插入位置。
7.根据权利要求6所述的数据处理电路,其中所述比较结果使用位图来表示,并且所述控制电路进一步配置用于:根据所述位图中比特位的变化位置,确定所述插入位置。
8.根据权利要求6-7任一所述的数据处理电路,其中所述缓冲电路配置用于根据所述控制电路的指示,在所述插入位置中插入所述待融合的数据元素。
9.根据权利要求4-8任一所述的数据处理电路,其中所述缓冲电路进一步配置用于按指定顺序输出当前序列中的首个或末个数据元素。
10.根据权利要求9所述的数据处理电路,其中所述控制电路进一步配置用于:根据所述缓冲电路中输出的数据元素,确定所述待融合的下一数据元素的访存信息。
11.根据权利要求4-10任一所述的数据处理电路,其中所述多路数据包括多路索引,所述多路索引与多路关联数据一一对应,每路索引中的索引元素指示对应的一路关联数据中对应的关联数据元素的索引信息,并且所述运算电路进一步配置用于:
将所述多路关联数据归并为一路有序的融合关联数据,其中所述融合关联数据中数据元素的顺序与所述融合数据中数据元素的顺序保持一致。
12.根据权利要求11所述的数据处理电路,其中所述缓冲电路进一步配置用于:
按所述索引元素的值顺序,有序存储已比较的索引元素以及与其对应的关联数据元素;以及
按所述索引元素的值顺序,有序输出已比较的索引元素作为所述融合数据,并同步输出与其对应的关联数据元素作为所述融合关联数据。
13.根据权利要求12所述的数据处理电路,其中当所述多路索引中存在大小相同的索引元素时,在所述融合数据中重复输出大小相同的所述索引元素,并且在所述融合关联数据中同步输出与这些索引元素分别对应的关联数据元素。
14.根据权利要求11-13任一所述的数据处理电路,其中所述多路关联数据中的数据元素是稀疏矩阵中的有效数据元素,并且所述索引信息指示所述有效数据元素在稀疏矩阵中的位置信息。
15.一种芯片,包括根据权利要求1-14任一所述的数据处理电路。
16.一种板卡,包括根据权利要求15所述的芯片。
17.一种使用数据处理电路来处理数据的方法,所述数据处理电路包括控制电路、存储电路和运算电路,所述方法包括:
所述控制电路从所述存储电路中读取多路待融合的数据;
所述运算电路将所述多路待融合的数据归并为一路有序的融合数据;以及
将所述融合数据输出给所述存储电路。
18.根据权利要求17所述的方法,其中所述存储电路包括第一存储电路和第二存储电路,
所述第一存储电路配置用于存储所述待融合的K路数据,K>1,其中所述K路数据中每路数据的数据元素均按第一顺序有序排列;并且
所述第二存储电路配置用于存储所述运算电路输出的所述融合数据,并且输出的所述融合数据中的数据元素按第二顺序有序排列。
19.根据权利要求18所述的方法,其中所述第一顺序与第二顺序相同或不同,并且所述第一顺序和第二顺序选自以下任一:从小到大的顺序,或从大到小的顺序。
20.根据权利要求17-19任一所述的方法,其中所述运算电路包括比较电路和缓冲电路,并且所述方法进一步包括:
所述比较电路将所述多路待融合的数据中的数据元素与所述缓冲电路中未输出的数据元素进行比较,并输出比较结果给所述控制电路;以及
在所述控制电路的控制下,所述缓冲电路有序存储已比较的数据元素,以及有序输出已比较的数据元素作为所述融合数据。
21.根据权利要求20所述的方法,其中所述比较电路包括K-1路比较器,并且所述方法包括:
所述K-1路比较器将待融合的数据元素分别与所述缓冲电路中当前序列的K-1个数据元素进行比较,生成比较结果并输出给所述控制电路。
22.根据权利要求21所述的方法,进一步包括:
所述控制电路根据所述比较结果,确定所述待融合的数据元素在所述缓冲电路的当前序列中的插入位置。
23.根据权利要求22所述的方法,其中所述比较结果使用位图来表示,并且所述方法进一步包括:所述控制电路根据所述位图中比特位的变化位置,确定所述插入位置。
24.根据权利要求22-23任一所述的方法,进一步包括:
所述缓冲电路根据所述控制电路的指示,在所述插入位置中插入所述待融合的数据元素。
25.根据权利要求20-24任一所述的方法,进一步包括:
所述缓冲电路按指定顺序输出当前序列中的首个或末个数据元素。
26.根据权利要求25所述的方法,进一步包括:
所述控制电路根据所述缓冲电路中输出的数据元素,确定所述待融合的下一数据元素的访存信息。
27.根据权利要求20-26任一所述的方法,其中所述多路数据包括多路索引,所述多路索引与多路关联数据一一对应,每路索引中的索引元素指示对应的一路关联数据中对应的关联数据元素的索引信息,并且所述方法进一步包括:
所述运算电路将所述多路关联数据归并为一路有序的融合关联数据,其中所述融合关联数据中数据元素的顺序与所述融合数据中数据元素的顺序保持一致。
28.根据权利要求27所述的方法,进一步包括:
所述缓冲电路按所述索引元素的值顺序,有序存储已比较的索引元素以及与其对应的关联数据元素;以及
按所述索引元素的值顺序,有序输出已比较的索引元素作为所述融合数据,并同步输出与其对应的关联数据元素作为所述融合关联数据。
29.根据权利要求28所述的方法,其中当所述多路索引中存在大小相同的索引元素时,在所述融合数据中重复输出大小相同的所述索引元素,并且在所述融合关联数据中同步输出与这些索引元素分别对应的关联数据元素。
30.根据权利要求27-29任一所述的方法,其中所述多路关联数据中的数据元素是稀疏矩阵中的有效数据元素,并且所述索引信息指示所述有效数据元素在稀疏矩阵中的位置信息。
CN202011563247.6A 2020-12-25 2020-12-25 数据处理电路、数据处理方法及相关产品 Pending CN114691559A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011563247.6A CN114691559A (zh) 2020-12-25 2020-12-25 数据处理电路、数据处理方法及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011563247.6A CN114691559A (zh) 2020-12-25 2020-12-25 数据处理电路、数据处理方法及相关产品

Publications (1)

Publication Number Publication Date
CN114691559A true CN114691559A (zh) 2022-07-01

Family

ID=82129974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011563247.6A Pending CN114691559A (zh) 2020-12-25 2020-12-25 数据处理电路、数据处理方法及相关产品

Country Status (1)

Country Link
CN (1) CN114691559A (zh)

Similar Documents

Publication Publication Date Title
CN109104876B (zh) 一种运算装置及相关产品
CN109543832B (zh) 一种计算装置及板卡
CN111047022A (zh) 一种计算装置及相关产品
CN107305486B (zh) 一种神经网络maxout层计算装置
CN114691559A (zh) 数据处理电路、数据处理方法及相关产品
CN112766475B (zh) 处理部件及人工智能处理器
CN114691561A (zh) 数据处理电路、数据处理方法及相关产品
CN114691560A (zh) 数据处理电路、数据处理方法及相关产品
CN114692074A (zh) 矩阵乘法电路、方法及相关产品
CN114692844A (zh) 数据处理装置、数据处理方法及相关产品
CN114692847B (zh) 数据处理电路、数据处理方法及相关产品
CN114692840A (zh) 数据处理装置、数据处理方法及相关产品
CN113469365B (zh) 基于神经网络模型的推理和编译方法及其相关产品
CN114692839A (zh) 数据处理装置、数据处理方法及相关产品
CN115221104A (zh) 数据处理装置、数据处理方法及相关产品
CN114692838A (zh) 数据处理装置、数据处理方法及相关产品
CN114692846A (zh) 数据处理装置、数据处理方法及相关产品
CN113792867B (zh) 运算电路、芯片和板卡
CN114692845A (zh) 数据处理装置、数据处理方法及相关产品
CN114691083A (zh) 矩阵乘法电路、方法及相关产品
CN114692849A (zh) 逆变换Winograd卷积的对位乘数据的逆变换单元、装置与板卡
CN115237371A (zh) 计算装置、数据处理方法及相关产品
CN114692850A (zh) 对神经元数据执行Winograd卷积正变换的装置与板卡
CN114692810A (zh) 计算Winograd卷积的装置与板卡
CN115081601A (zh) 同步Winograd卷积的计算装置与方法

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