System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据处理的方法、计算设备和计算机可读存储介质技术_技高网

数据处理的方法、计算设备和计算机可读存储介质技术

技术编号:40417446 阅读:5 留言:0更新日期:2024-02-20 22:35
本公开涉及数据处理的方法、计算设备和计算机可读存储介质。方法包括:响应于第一格式的输入数据和第二格式的输出数据中的一者是连续张量,并且第一格式的输入数据和第二格式的输出数据中的另一者是非连续张量,其中第一格式和第二格式均为人工智能芯片的专用数据格式,遍历连续张量的形状;基于连续张量的当前所遍历的逻辑坐标、连续张量的步长和非连续张量的步长,计算得到与连续张量的当前所遍历的逻辑坐标相对应的非连续张量的物理地址;以及基于连续张量的当前所遍历的逻辑坐标、所计算的相对应的非连续张量的物理地址,进行非连续拷贝。由此,本公开至少能够提高人工智能芯片进行数据处理的整体性能。

【技术实现步骤摘要】

本公开总体上涉及信息处理领域,并且具体地,涉及数据处理的方法、计算设备和计算机可读存储介质


技术介绍

1、人工智能芯片通常具有专用数据格式(也称为专用数据布局),该专用数据格式与主机(host)端的数据格式不同。例如,主机端的数据格式为内存地址按维度连续的朴素(plain)格式。

2、在人工智能芯片中,形变(view)类型算子可以对张量在内存中进行数据搬移,形变类型算子也可以仅从逻辑上将连续张量转换成非连续张量而不发生数据搬移。例如,view类型算子可以包括reshape算子、permute算子和slice算子等。在用于人工智能模型训练的一些模式(例如eager模式)下,可能存在大量的view类型算子,为了避免频繁数据搬移带来的性能开销,这些view类型算子通常从逻辑上将连续张量转换为非连续张量。当人工智能模型需要使用非连续张量时,需要重新开辟一块内存空间进行非连续拷贝(uncontiguous copy,也称为strided copy)操作,以保证数据在内存中是连续的。

3、在传统的数据处理的技术方案中,当view类型算子需要将一种专用数据格式的数据转换成另一种专用格式的数据时,通常通过调用重排序(reorder)算子来进行专用数据格式和plain格式的转换,并在plain格式的数据下进行所涉及的非连续拷贝。然而,人工智能芯片在plain格式的数据下进行数据处理时性能较差;并且,人工智能芯片调用reorder算子会产生额外的开销,从而进一步降低人工智能芯片的整体性能。

4、综上,传统的数据处理的技术方案的不足之处在于:非连续拷贝在plain格式的数据下进行,并且进行非连续拷贝前后均需要调用reorder算子,导致数据处理性能较差。


技术实现思路

1、针对上述问题,本公开提供了数据处理的方法、计算设备和计算机可读存储介质,至少能够提高人工智能芯片进行数据处理的整体性能。

2、根据本公开的第一方面,提供了一种数据处理的方法,方法包括:响应于第一格式的输入数据和第二格式的输出数据中的一者是连续张量,并且第一格式的输入数据和第二格式的输出数据中的另一者是非连续张量,其中第一格式和第二格式均为人工智能芯片的专用数据格式,遍历连续张量的形状(shape);基于连续张量的当前所遍历的逻辑坐标、连续张量的步长(stride)和非连续张量的步长,计算得到与连续张量的当前所遍历的逻辑坐标相对应的非连续张量的物理地址;以及基于连续张量的当前所遍历的逻辑坐标、所计算的相对应的非连续张量的物理地址,进行非连续拷贝。

3、在一些实施例中,人工智能芯片的专用数据格式是内存地址按块连续的格式。

4、在一些实施例中,方法还包括:判断输入数据和输出数据是否连续;如果输入数据连续且输出数据不连续,则将输入数据确定为连续张量,并将输出数据确定为非连续张量;以及如果输入数据不连续且输出数据连续,则将输入数据确定为非连续张量,并将输出数据确定为连续张量。

5、在一些实施例中,计算得到与连续张量的当前所遍历的逻辑坐标相对应的非连续张量的物理地址包括:响应于输出数据为连续张量,输入数据为非连续张量,进行以下各项操作:基于输出数据的当前所遍历的逻辑坐标,计算得到对应的输入数据的逻辑地址;基于对应的输入数据的逻辑地址,计算得到对应的输入数据的逻辑坐标;以及基于对应的输入数据的逻辑坐标,计算得到对应的输入数据的物理地址。

6、在一些实施例中,基于输出数据的当前所遍历的逻辑坐标,计算得到对应的输入数据的逻辑地址包括:将输出数据的当前所遍历的逻辑坐标乘以输入数据的步长,以得到对应的输入数据的逻辑地址。

7、在一些实施例中,基于对应的输入数据的逻辑地址,计算得到对应的输入数据的逻辑坐标包括:基于对应的输入数据的逻辑地址和输入数据的步长,计算得到对应的输入数据的逻辑坐标。

8、在一些实施例中,基于对应的输入数据的逻辑坐标,计算得到对应的输入数据的物理地址包括:基于对应的输入数据的逻辑坐标和输入数据的形状,计算得到对应的输入数据的物理地址偏移值;以及基于对应的输入数据的物理地址偏移值和内存起始地址,计算得到对应的输入数据的物理地址。

9、在一些实施例中,基于连续张量的当前所遍历的逻辑坐标、所计算的相对应的非连续张量的物理地址,进行非连续拷贝包括:基于对应的输入数据的物理地址,读取目标数据;以及将所读取的目标数据按输出数据的当前所遍历的逻辑坐标写入到输出数据。

10、在一些实施例中,计算得到与连续张量的当前所遍历的逻辑坐标相对应的非连续张量的物理地址包括:响应于输入数据为连续张量,输出数据为非连续张量,进行以下各项操作:基于输入数据的当前所遍历的逻辑坐标,计算得到对应的输出数据的逻辑地址;基于对应的输出数据的逻辑地址,计算得到对应的输出数据的逻辑坐标;以及基于对应的输出数据的逻辑坐标,计算得到对应的输出数据的物理地址。

11、在一些实施例中,基于连续张量的当前所遍历的逻辑坐标、所计算的相对应的非连续张量的物理地址,进行非连续拷贝包括:基于输入数据的当前所遍历的逻辑坐标,读取目标数据;以及将所读取的目标数据按输出数据的物理地址写入到输出数据。

12、根据本公开的第二方面,提供了一种计算设备,包括:至少一个处理器;以及至少一个存储器,至少一个存储器被耦合到至少一个处理器并且存储用于由至少一个处理器执行的指令,指令当由至少一个处理器执行时,使得计算设备执行本公开的第一方面的方法。

13、根据本公开的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序代码,计算机程序代码在被运行时执行本公开的第一方面的方法。

14、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

本文档来自技高网...

【技术保护点】

1.一种数据处理的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,人工智能芯片的专用数据格式是内存地址按块连续的格式。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,计算得到与连续张量的当前所遍历的逻辑坐标相对应的非连续张量的物理地址包括:

5.根据权利要求4所述的方法,其特征在于,基于输出数据的当前所遍历的逻辑坐标,计算得到对应的输入数据的逻辑地址包括:

6.根据权利要求4所述的方法,其特征在于,基于对应的输入数据的逻辑地址,计算得到对应的输入数据的逻辑坐标包括:

7.根据权利要求4所述的方法,其特征在于,基于对应的输入数据的逻辑坐标,计算得到对应的输入数据的物理地址包括:

8.根据权利要求7所述的方法,其特征在于,基于连续张量的当前所遍历的逻辑坐标、所计算的相对应的非连续张量的物理地址,进行非连续拷贝包括:

9.根据权利要求1所述的方法,其特征在于,计算得到与连续张量的当前所遍历的逻辑坐标相对应的非连续张量的物理地址包括:

10.根据权利要求9所述的方法,其特征在于,基于连续张量的当前所遍历的逻辑坐标、所计算的相对应的非连续张量的物理地址,进行非连续拷贝包括:

11.一种计算设备,包括:

12.一种计算机可读存储介质,其上存储有计算机程序代码,所述计算机程序代码在被运行时执行根据权利要求1至10中任一项所述的方法。

...

【技术特征摘要】

1.一种数据处理的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,人工智能芯片的专用数据格式是内存地址按块连续的格式。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,计算得到与连续张量的当前所遍历的逻辑坐标相对应的非连续张量的物理地址包括:

5.根据权利要求4所述的方法,其特征在于,基于输出数据的当前所遍历的逻辑坐标,计算得到对应的输入数据的逻辑地址包括:

6.根据权利要求4所述的方法,其特征在于,基于对应的输入数据的逻辑地址,计算得到对应的输入数据的逻辑坐标包括:

7.根据权利要求4所述的方法,其特征在于,基于对...

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

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

1