处理方法、处理装置及相关产品制造方法及图纸

技术编号:33510770 阅读:16 留言:0更新日期:2022-05-19 01:19
本披露公开了一种处理方法、处理装置及相关产品。该处理装置可以实现为计算装置包括在组合处理装置中,该组合处理装置还可以包括接口装置和其他处理装置。该计算装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与计算装置和其他处理装置连接,用于存储该计算装置和其他处理装置的数据。本披露的方案提供了指令并行的解决方案,其可以提高指令并行度,从而提高机器的处理效率。从而提高机器的处理效率。从而提高机器的处理效率。

【技术实现步骤摘要】
处理方法、处理装置及相关产品


[0001]本披露涉及处理器领域,特别是涉及一种处理方法、处理装置、芯片和板卡。

技术介绍

[0002]指令系统是计算机软件和硬件交互的接口,是计算机系统结构中一个非常重要的部分。随着人工智能技术的不断发展,需要处理的数据量和数据维度都在不断增大。因此,如何合理、科学地控制指令的执行,尤其是提高指令并行的程度,提高机器的性能,这是处理器领域中的一个重要问题。

技术实现思路

[0003]为了解决如上所提到的一个或多个技术问题,本披露在多个方面中提出了增强指令并行的解决方案。通过本披露的指令系统,可以提高指令并行程度,由此提高机器的处理效率。
[0004]在第一方面中,本披露提供一种处理方法,所述方法包括:获取指令的第一操作,所述第一操作为针对张量数据的操作,所述张量数据的形状坐标空间包括至少一个细粒度区域,所述细粒度区域包括所述形状坐标空间的一个或多个相邻坐标点;确定是否存在正在进行的针对所述张量数据的第二操作;在存在所述第二操作时,确定所述第一操作当前所针对的第一细粒度区域与所述第二操作当前所针对的第二细粒度区域是否存在重叠;以及在所述第一细粒度区域与所述第二细粒度区域不重叠时,执行所述第一操作。
[0005]在第二方面中,本披露提供一种处理装置,包括:操作获取单元,配置用于获取指令的第一操作,所述第一操作为针对张量数据的操作,所述张量数据的形状坐标空间包括至少一个细粒度区域,所述细粒度区域包括所述形状坐标空间的一个或多个相邻坐标点;第一确定单元,配置用于确定是否存在正在进行的针对所述张量数据的第二操作;第二确定单元,配置用于在存在所述第二操作时,确定所述第一操作当前所针对的第一细粒度区域与所述第二操作当前所针对的第二细粒度区域是否存在重叠;以及执行单元,配置用于在所述第一细粒度区域与所述第二细粒度区域不重叠时,执行所述第一操作。
[0006]在第三方面中,本披露提供一种芯片,包括前述第二方面任一实施例的处理装置。
[0007]在第四方面中,本披露提供一种板卡,包括前述第三方面任一实施例的芯片。
[0008]通过如上所提供的处理装置、处理方法、芯片和板卡,本披露实施例在指令的操作执行过程中,基于操作所针对的张量数据的形状坐标空间的细粒度区域来对操作的并行进行限制,从而可以挖掘操作的并行执行潜力。因此,按照本披露的实施例,在硬件的并行执行时,既能保证执行顺序的一致性,又能提高操作的并行程度,由此确保了处理的准确和效率。
附图说明
[0009]通过参考附图阅读下文的详细描述,本披露示例性实施方式的上述以及其他目
的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本披露的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
[0010]图1A示出根据本披露实施例的数据存储空间的示意图;
[0011]图1B示出根据本披露实施例的数据分块在数据存储空间中的示意图;
[0012]图2示出根据本披露实施例的处理装置的示意性框图;
[0013]图3A-3C示出根据本披露实施例的处理方法的示意性流程图;
[0014]图3D示出根据本披露实施例的处理装置的示意性框图;
[0015]图4示出根据本披露实施例的坐标空间范围的示意图;
[0016]图5示出根据本披露实施例的一种组合处理装置的结构图;以及
[0017]图6示出根据本披露实施例的一种板卡的结构示意图。
具体实施方式
[0018]下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
[0019]应当理解,本披露的权利要求、说明书及附图中可能使用的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0020]还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0021]如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0022]计算机通过执行指令来处理各种数据。为了指出数据的来源、操作结果的去向及所执行的操作,一条指令通常包含下列信息:
[0023](1)操作码(Operation Code,OP),用来表示该指令所要完成的操作(例如,加、减、乘、除、数据传送等),它具体说明了操作的性质及功能。一台计算机可能有几十条至几百条指令,每一条指令都有一个相应的操作码,计算机通过识别该操作码来完成不同的操作。
[0024](2)操作数,用来描述该指令的操作对象。操作数可以涉及被操作对象的数据类型、访存地址、寻址方式等。操作数可以直接给出被操作对象,或者指出被操作对象的存储器地址或寄存器地址(即寄存器名)。
[0025]传统的处理器的指令被设计为能够执行基本的单数据标量操作。这里,单数据标
量操作指的是指令的每一个操作数都是一个标量数据。然而,随着人工智能技术的发展,在诸如图像处理和模式识别等的任务中,面向的操作数往往是多维向量(即,张量数据)的数据类型,仅仅使用标量操作无法使硬件高效地完成运算任务。因此,如何高效地执行多维的张量数据处理也是当前计算领域亟需解决的问题。
[0026]在本披露的实施例中,提供了一种指令系统,其中在指令的操作数中包括描述符,通过该描述符可以获取与张量数据相关的信息。具体地,描述符可以指示以下至少一项信息:张量数据的形状信息、张量数据的空间信息。张量数据的形状信息可以用于确定与该操作数对应的张量数据在数据存储空间中的数据地址。张量数据的空间信息可以用于确定指令之间的依赖关系,进而可以确定例如指令的执行顺序。张量数据的空间信息可以通过空间标识(ID)来指示。空间ID也可以称为空间别名,其指代用于存储对应的张量数据的一个空间区域,该空间区域可以是一段连续的空间,也可以是多段空间,本披露对于空间区域的具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理方法,所述方法包括:获取指令的第一操作,所述第一操作为针对张量数据的操作,所述张量数据的形状坐标空间包括至少一个细粒度区域,所述细粒度区域包括所述形状坐标空间的一个或多个相邻坐标点;确定是否存在正在进行的针对所述张量数据的第二操作;在存在所述第二操作时,确定所述第一操作当前所针对的第一细粒度区域与所述第二操作当前所针对的第二细粒度区域是否存在重叠;以及在所述第一细粒度区域与所述第二细粒度区域不重叠时,执行所述第一操作。2.根据权利要求1所述的方法,其中所述方法还包括:在所述第一细粒度区域与所述第二细粒度区域存在重叠时,阻塞所述第一操作。3.根据权利要求1-2任一所述的方法,其中所述方法还包括:确定所述第一操作的数据操作范围与所述第二操作的数据操作范围是否重叠;当所述数据操作范围重叠时,执行所述确定所述第一操作当前所针对的第一细粒度区域与所述第二操作当前所针对的第二细粒度区域是否存在重叠;以及当所述数据操作范围不重叠时,执行所述第一操作。4.根据权利要求3所述的方法,其中基于以下至少一项来确定所述第一操作的数据操作范围与所述第二操作的数据操作范围是否重叠:待操作的张量数据的空间信息;和/或待操作的张量数据的形状信息。5.根据权利要求1-4任一所述的方法,其中所述方法还包括:确定允许所述第一操作使用的所述张量数据的第一坐标空间范围;确定执行所述第一操作时将使用的所述张量数据的第二坐标空间范围;以及在所述第一坐标空间范围与所述第二坐标空间范围的交集所确定的第三坐标空间范围内,执行所述第一操作;其中所述第一坐标空间范围、第二坐标空间范围和第三坐标空间范围使用所述细粒度区域来表征。6.根据权利要求5所述的方法,其中基于以下至少一项来确定所述第一坐标空间范围:操作的先后顺序;操作所涉及的操作数;在先操作的第二坐标空间范围;以及对所述张量数据的形状坐标空间的预定划分。7.根据权利要求5-6任一所述的方法,其中基于以下至少一项来确定所述第二坐标空间范围:操作的执行范围;操作的访问模式;操作的当前执行状态;以及对所述张量数据的形状坐标空间的预定划分。8.根据权利要求5-7任一所述的方法,其中:确定所述第一坐标空间范围包括:确定允许所述第一操作使用的所述张量数据的一个
或多个维度的坐标空间上界;和/或确定所述第二坐标空间范围包括:确定预计所述第一操作将使用的所述张量数据的一个或多个维度的坐标空间下界。9.根据权利要求1-8任一所述的方法,其中,所述细粒度区域的尺寸和/或数量至少部分基于以下至少一项来确定:硬件的计算能力;硬件的带宽;以及所述张量数据的形状坐标空间的大小。10.根据权利要求1-9任一所述的方法,其中所述第一操作和所述第二操作中的至少一个操作为写操作。11.根据权利要求1-10任一所述的方法,其中:所述第一操作与所述第二操作分别为并行执行的不同指令中的操作;或者所述第一操作与所述第二操作分别为同一指令中的并行执行的不同操作。12.一种处理装置,包括:操作获取单元,配置用于获取指令的第一操作,所述第一操作为针对张量数据的操作,所述张量数据的形状坐标空间包括至少一个细粒度区域,所述细粒度区域包括所述形状坐标空间的一个或多个相邻坐标点;第一确定单元,配置用于确定是否存在正在进行的针对所述张量数据的第二操作...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:中科寒武纪科技股份有限公司
类型:发明
国别省市:

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

1