一种用于处理多维张量数据的方法及其相关产品技术

技术编号:36974243 阅读:12 留言:0更新日期:2023-03-25 17:54
本公开涉及一种用于处理多维张量数据的方法及其相关产品,其中本公开的计算设备以包括在组合处理装置中的计算处理装置来体现,该组合处理装置还可以包括通用互联接口和其他处理装置。所述计算处理装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与计算处理装置和其他处理装置连接,用于存储该计算处理装置和其他处理装置的数据。本披露的方案可以提升数据拷贝时的效率。方案可以提升数据拷贝时的效率。方案可以提升数据拷贝时的效率。

【技术实现步骤摘要】
一种用于处理多维张量数据的方法及其相关产品


[0001]本公开一般地涉及数据处理领域。更具体地,本公开涉及一种用于处理多维张量数据的方法、设备、计算机可读存储介质、集成电路装置和板卡。

技术介绍

[0002]当前,“张量数据”被广泛应用于各类应用场景中,特别是包括深度机器学习的人工智能领域的计算场景中。具体来说,张量可以用于表达一个变化量或常量,其可以具有零个或多个维度。例如,零维张量是纯量(如数值),即常量;一维张量是数值和方向组合的向量;二维张量是向量的组合(即矩阵);三维张量是数据立方体(即矩阵的组合);而四维张量可以是数据立方体的组合,以此类推。对于多维(例如大于或等于二维)张量数据来说,其维度值可以是变量,即该张量数据可以是变化量,其维度设置和基于维度设置的数据“摆放”将对数据的存储方式和读取方式产生重要的影响,并且由此显著影响计算效率和计算平台的整体性能。鉴于此,如何对多维张量数据进行维度处理以实现数据的高效读取成为亟需解决的技术问题。

技术实现思路

[0003]鉴于上述
技术介绍
部分所提及的技术问题,本公开提供了一种利用处理器来处理多维张量数据的方案。通过本公开的方案,可以判断大于或等于二维的多维张量数据是否能够在某些维度上进行维度折叠。基于此,当对某些维度进行折叠后,本公开的方案可以实现对多维张量数据的降维操作,从而简化数据的读取操作并且显著提升计算平台(例如片上系统)的计算性能。基于此,本公开在如下的多个方面中提供用于处理多维张量数据的方案。
[0004]在第一方面中,本公开提供了一种用于处理多维张量数据的方法,该方法由处理器执行,并且包括获取与所述多维张量数据中的第一维度关联的第一表达式;获取与所述多维张量数据中的第二维度关联的第二表达式,其中所述第一维度和第二维度是多维张量数据的相邻维度;以及判断第一表达式与第二表达式是否相等,以便确定所述第一维度和所述第二维度是否能够进行维度折叠。
[0005]在第二方面中,本公开提供了一种用于处理多维张量数据的电子设备,包括:处理器;以及存储器,其存储有用于处理多维张量数据的程序指令,当所述程序指令由所述处理器执行时,实现上述以及下文多个实施例中所讨论的方法。
[0006]在第三方面中,本公开提供了一种计算机可读存储介质,其存储有用于处理多维张量数据的程序指令,当所述程序指令由处理器执行时,实现上述以及下文多个实施例中所讨论的方法。
[0007]在第四方面中,本公开提供了一种集成电路装置,包括:处理器,其用于执行与神经网络模型关联的计算任务;以及存储器,其存储有对与神经网络模型关联的程序指令进行编译后所获得的二进制程序指令,其中所述神经网络模型经由根据上述以及下文多个实
施例中所讨论的方法进行优化,其中当所述二进制程序指令由所述处理器运行时,执行与所述神经网络模型关联的所述计算任务。
[0008]通过利用本公开上述多个方面中所公开的技术方案,可以对多维张量数据在维度方面进行处理,从而可以实现多维张量数据的维度折叠。通过这样的维度折叠,本公开的方案可以实现对多维张量数据的“降维”操作,从而可以方便在例如硬件平台的片上与片外之间的数据搬运或迁移,最大程度地发挥数据传输的带宽。由此,可以显著提升数据传输带宽的利用率,并且因而提升硬件平台运算时的整体性能。
附图说明
[0009]通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
[0010]图1是示出根据本公开实施例的板卡的结构图;
[0011]图2是示出根据本公开实施例的集成电路装置的结构图;
[0012]图3是示出根据本公开实施例的单核计算装置的内部结构示意图;
[0013]图4是示出根据本公开实施例的多核计算装置的内部结构示意图;
[0014]图5是示出根据本公开实施例的处理器核的内部结构示意图;
[0015]图6是示出根据本公开实施例的软硬件架构的结构图;
[0016]图7是示出根据本公开实施例的用于处理多维张量数据的方法的流程图;
[0017]图8是示出根据本公开实施例的对多维张量数据执行维度折叠操作的示意图;
[0018]图9是示出根据本公开方案转换抽象语法树的一个实施例的示意图;
[0019]图10是示出根据本公开方案转换抽象语法树的又一个实施例的示意图;
[0020]图11是示出根据本公开方案转换抽象语法树的又一个实施例的示意图;
[0021]图12是示出根据本公开方案转换抽象语法树的又一个实施例的示意图;
[0022]图13是示出根据本公开方案转换抽象语法树的又一个实施例的示意图;
[0023]图14是示出根据本公开方案转换抽象语法树的又一个实施例的示意图;
[0024]图15是示出根据本公开方案转换抽象语法树的又一个实施例的示意图;
[0025]图16是示出根据本公开方案转换抽象语法树的又一个实施例的示意图;以及
[0026]图17是示出根据本公开方案的相同抽象语法树的实施例的示意图。
具体实施方式
[0027]下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例,并且所描述的多个实施例可以根据场景进行适当的组合以实现不同的应用。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0028]应当理解,本披露的权利要求、说明书及附图中使用的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并
不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0029]还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0030]如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0031]下面结合附图来详细描述本公开的具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理多维张量数据的方法,该方法由处理器执行,并且包括:获取与所述多维张量数据中的第一维度关联的第一表达式;获取与所述多维张量数据中的第二维度关联的第二表达式,其中所述第一维度和第二维度是多维张量数据的相邻维度;以及判断所述第一表达式与所述第二表达式是否相等,以便确定所述第一维度和所述第二维度是否能够进行维度折叠。2.根据权利要求1所述的方法,还包括:获取根据所述第一表达式构建的包含节点的第一抽象语法树;获取根据所述第二表达式构建的包含节点的第二抽象语法树;以及通过判断所述第一抽象语法树和第二抽象语法树是否相同来判断所述第一表达式与所述第二表达式是否相等。3.根据权利要求2所述的方法,其中所述第一表达式基于神经网络模型中的多维张量数据的第一维度的跨度,而所述第二表达式基于所述神经网络模型中的多维张量数据的第二维度的跨度和尺寸。4.根据权利要求3所述的方法,其中获取所述第一抽象语法树包括:沿所述神经网络模型的中间表达向前追溯获取所述第一维度的跨度的计算过程;以及在所述向前追溯期间,基于所述计算过程构建:所述第一抽象语法树的根节点;以及所述根节点下的叶子节点或者所述根节点下的子节点和叶子节点。5.根据权利要求3所述的方法,其中获取所述第二抽象语法树包括:沿所述神经网络模型的中间表达向前追溯获取所述第二维度的跨度和尺寸的计算过程;以及在所述向前追溯期间,基于所述计算过程来构建:所述第二抽象语法树的根节点;以及所述根节点下的叶子节点或者所述根节点下的子节点和叶子节点。6.根据权利要求4或5所述的方法,还包括响应于追溯至发生如下情形之一时,停止所述向前追溯:沿所述中间表达追溯至内核函数的入口参数时;或者沿所述中间表达追溯至特定的运算时。7.根据权利要求4或5所述的方法,其中在判断所述第一抽象语法树和第二抽象语法树是否相同前,所述方法还包括:对所述第一抽象语法树或第二抽象语法树进行转换,以便转换后的第一抽象语法树和第二抽象语法树适于所述判断。8.根据权利要求7所述的方法,其中对所述第一抽象语法树或第二抽象语法树进行转换包括:将乘法运算对应的根节点或子节点向所述第一抽象语法树或第二抽象语法树的下层方向移动;以及将加法运算对应的子节点和/或叶子节点向所述第一抽象语法树或第二抽象语法树的上层方向移动。
9.根据权利要求7所述的方法,其中对所述第一抽象语法树或第二抽象语法树进行转换包括:确定所述第一抽象语法树或第二抽象语法树中是否存在运算类型相同的根节点和子节点;以及响应于存在运算类型相同的根节点和子节点,将所述根节点和子节点进行合并。10.根据权利要求7所述的方法,其中对所述第一抽象语法树或第二抽象语法树进行转换还包括对所述第一抽象语法树或第二抽象语法树执行化简操作。11.根据权利要求10所述的方法,其中所述化简操作包括对第一抽象语法树或第二抽象语法树执行以下之一的化简操作:对表示立即数的多个节点执行合并;对表示立即数乘以变量和所述变量的多...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:中科寒武纪科技股份有限公司
类型:发明
国别省市:

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

1