数据处理方法及装置以及相关产品制造方法及图纸

技术编号:23025160 阅读:86 留言:0更新日期:2020-01-03 16:57
本公开涉及一种数据处理方法及装置以及相关产品。所述产品包括控制模块,所述控制模块包括:指令缓存单元、指令处理单元和存储队列单元;所述指令缓存单元,用于存储所述人工神经网络运算关联的计算指令;所述指令处理单元,用于对所述计算指令解析得到多个运算指令;所述存储队列单元,用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令。通过以上方法,本公开可以提高相关产品在进行神经网络模型的运算时的运算效率。

Data processing methods and devices and related products

【技术实现步骤摘要】
数据处理方法及装置以及相关产品
本公开涉及计算机
,尤其涉及一种数据处理方法及装置以及相关产品。
技术介绍
在数据处理过程中,通常需要在大量数据中选取满足条件的部分数据,例如,在神经网络运算中的TopK算子,需要选取K个(K为正整数)数值最大(或最小或满足其他不等式或其他数值上的约束)的数据或下标(index)进行输出。目前,主要以堆排序、快速排序、冒泡排序等排序算法为基础进行数据选取并输出,算法的时间复杂度为K*log2N,数据处理效率较低。
技术实现思路
有鉴于此,本公开提出了一种数据处理方法及装置以及相关产品。根据本公开的一方面,提供了一种数据处理方法,所述方法应用于处理器,所述方法包括:将待处理数据划分为预设数量的第一数据组;在每个第一数据组中,通过向量运算选取满足第一预设条件的K个第一数据,其中,K为正整数;根据每个第一数据组中的K个第一数据,确定第二数据组;在所述第二数据组中,通过所述向量运算选取满足所述第一预设条件的K个目标数据。根据本公开的另一方面,提供了一种数据处理装置,所述装置应用于处理器,所述装置包括:数据组划分模块,用于将待处理数据划分为预设数量的第一数据组;第一数据选取模块,用于在每个第一数据组中,通过向量运算选取满足第一预设条件的K个第一数据,其中,K为正整数;数据组确定模块,用于根据每个第一数据组中的K个第一数据,确定第二数据组;第二数据选取模块,用于在所述第二数据组中,通过所述向量运算选取满足所述第一预设条件的K个目标数据。根据本公开的另一方面,提供了一种人工智能芯片,所述芯片包括如上所述的数据处理装置。根据本公开的另一方面,提供了一种电子设备,所述电子设备包括如上所述的人工智能芯片。根据本公开的另一方面,提供了一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及如上所述的人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。根据本公开的实施例,能够将待处理数据划分为多个第一数据组,并分别通过向量运算选取满足第一预设条件的K个第一数据,然后根据每个第一数据组中的K个第一数据,确定第二数据组,并在第二数据组中,通过向量运算选取满足第一预设条件的K个目标数据,从而可以在数据选取过程中,通过向量运算提高数据选取速度,进而提高数据处理效率。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。图1示出根据本公开实施例的数据处理方法的处理器的示意图。图2示出根据本公开实施例的数据处理方法的流程图。图3示出根据本公开实施例的数据处理方法的步骤S12的流程图。图4示出根据本公开实施例的数据处理方法的步骤S12的流程图。图5示出根据本公开实施例的数据处理方法的步骤S12的流程图。图6示出根据本公开实施例的数据处理方法的应用场景的示意图。图7示出根据本公开实施例的数据处理装置的框图。图8示出根据本公开实施例的板卡的结构框图。具体实施方式下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。根据本公开实施例的数据处理方法可应用于处理器中,该处理器可以是通用处理器,例如CPU(CentralProcessingUnit,中央处理器),也可以是用于执行人工智能运算的人工智能处理器(IPU)。人工智能运算可包括机器学习运算,类脑运算等。其中,机器学习运算包括神经网络运算、k-means运算、支持向量机运算等。该人工智能处理器可例如包括GPU(GraphicsProcessingUnit,图形处理单元)、NPU(Neural-NetworkProcessingUnit,神经网络处理单元)、DSP(DigitalSignalProcess,数字信号处理单元)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)芯片中的一种或组合。本公开对处理器的具体类型不作限制。在一种可能的实现方式中,本公开中所提及的处理器可包括多个处理单元,每个处理单元可以独立运行所分配到的各种任务,如:卷积运算任务、池化任务或全连接任务等。本公开对处理单元及处理单元所运行的任务不作限制。图1示出根据本公开实施例的数据处理方法的处理器的示意图。如图1所示,处理器100包括多个处理单元101以及存储单元102,多个处理单元101用于执行指令序列,存储单元102用于存储数据,可包括随机存储器(RAM,RandomAccessMemory)和寄存器堆。处理器100中的多个处理单元101既可共用部分存储空间,例如共用部分RAM存储空间和寄存器堆,又可同时拥有各自的存储空间。图2示出根据本公开实施例的数据处理方法的流程图。所述数据处理方法可应用于处理器,其中,处理器可包括通用处理器(例如中央处理器CPU、图形处理器GPU)和专用处理器(例如人工智能处理器、科学计算处理器或数字信号处理器)。本公开对处理器的具体类型不作限制。如图2所示,该数据处理方法包括:步骤S11,将待处理数据划分为预设数量的第一数据组。其中,预设数量可用于指示第一数据组的数量,例如,预设数量为本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,所述方法应用于处理器,所述方法包括:/n将待处理数据划分为预设数量的第一数据组;/n在每个第一数据组中,通过向量运算选取满足第一预设条件的K个第一数据,其中,K为正整数;/n根据每个第一数据组中的K个第一数据,确定第二数据组;/n在所述第二数据组中,通过所述向量运算选取满足所述第一预设条件的K个目标数据。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法应用于处理器,所述方法包括:
将待处理数据划分为预设数量的第一数据组;
在每个第一数据组中,通过向量运算选取满足第一预设条件的K个第一数据,其中,K为正整数;
根据每个第一数据组中的K个第一数据,确定第二数据组;
在所述第二数据组中,通过所述向量运算选取满足所述第一预设条件的K个目标数据。


2.根据权利要求1所述的方法,其特征在于,在每个第一数据组中,通过向量运算选取满足第一预设条件的K个第一数据,包括:
根据第一数据组,确定第一向量,其中,所述第一向量的维数与所述第一数据组中数据的数量相同;
根据预设的第一参考向量以及所述第一向量,确定所述第一数据组中满足第二预设条件的M个第二数据,M为正整数;
在M等于K的情况下,将所述第二数据作为满足所述第一预设条件的K个第一数据。


3.根据权利要求2所述的方法,其特征在于,在每个第一数据组中,通过向量运算选取满足第一预设条件的K个第一数据,还包括:
在M大于K的情况下,在所述M个第二数据中,通过向量运算选取满足第三预设条件的第三数据;
在所述第三数据的数量等于K的情况下,将所述第三数据作为满足所述第一预设条件的K个第一数据。


4.根据权利要求2所述的方法,其特征在于,在每个第一数据组中,通过向量运算选取满足第一预设条件的K个第一数据,还包括:
在M小于K的情况下,在第一数据组中所述第二数据之外的数据中,选取K-M个第四数据,并将所述第二数据以及K-M个所述第四数据,作为满足第一预设条件的K个第一数据。


5.根据权利要求4所述的方法,其特征在于,在第一数据组中所述第二数据之外的数据中,选取K-M个第四数据,包括:
在第一数据组中所述第二数据之外的数据中,通过向量运算选取满足第四预设条件的T个第五数据;
在T等于K-M的情况下,将所述T个第五数据作为第四数据。


6.根据权利要求5所述的方法,其特征在于,在第一数据组中所述第二数据之外的数据中,选取K-M个第四数据,包括:
在T大于K-M的情况下,从T个第五数据中选取K-M个第五数据作为所述第四数据。


7.根据权利要求5所述的方法,其特征在于,在第一数据组中所述第二数据之外的数据中,选取K-M个第四数据,包括:
在T小于K-M的情况下,从第一数据组中所述第二数据以及所述第五数据之外的数据中,通过向量运算选取满足第五预设条件的K-M-T个第六数据;
将所述第二数据、所述第五数据以及所述第六数据,作为满足第一预设条件的K个第一数据。


8.根据权利要求1-7所述的方法,其特征在于,所述处理器包括多个处理单元,其中,所述预设数量是根据处理单元的数量、处理单元的计算能力中的至少一种确定的。


9.一种数据处理装置,其特征在于,所述装置应用于处理器,所述装置包括:
数据组划分模块,用于将待处理数据划分为预设数量的第一数据组;
第一数据选取模块,用于在每个第一数据组中,通过向量运算选取满足第一预设条件的K个第一数据,其中,K为正整数;
数据组确定模块,用于根据每个第一数据组中的K个第一数据,确定第二数据组;
第二数据选取模块,用于在...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:北京中科寒武纪科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1