System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据处理方法、装置和存储介质制造方法及图纸_技高网

一种数据处理方法、装置和存储介质制造方法及图纸

技术编号:41316443 阅读:7 留言:0更新日期:2024-05-13 14:57
一种数据处理方法、装置和存储介质。该数据处理方法包括:对算子执行过程中使用的数据进行分块处理以得到多个数据块;根据多个数据块的处理顺序,确定多个数据块的存储单元;计算单元根据多个数据块的存储位置调用多个数据块执行所述算子。该数据处理方法可以用较小的数据传递开销,提升GPGPU算子算法计算过程中临时可用TLR的容量,减少因TLR不足导致数据溢出到HBM的情况,从而提升算子总体性能;同时该数据处理方法还提升了高速存储空间的利用率,避免算子算法失效,提升数据处理的灵活性,从而大大提高了数据处理的效率。

【技术实现步骤摘要】

本公开的实施例涉及一种数据处理方法、数据处理装置和存储介质,尤其涉及人工智能领域通用图形处理器的大规模数据处理。


技术介绍

1、通用图形处理器(general-purpose computing on graphics processingunits,简称gpgpu),是一种利用处理图形任务的图形处理器来计算原本由中央处理器处理的通用计算任务。由于现代图形处理器强大的并行处理能力和可编程流水线,令处理器可以处理非图形数据。特别在人工智能领域,面对单指令流多数据流(simd),且数据处理的运算量远大于数据调度和传输的需要时,通用图形处理器在性能上大大超越了传统的中央处理器应用程序。


技术实现思路

1、本公开至少一个实施例提供一种数据处理方法,包括:对算子执行过程中使用的数据进行分块处理以得到多个数据块;根据所述多个数据块的处理顺序,确定所述多个数据块的存储单元;计算单元根据所述多个数据块的存储位置调用所述多个数据块执行所述算子。

2、例如,在本公开至少一实施例提供的数据处理方法中,对算子执行过程中使用的数据进行分块处理以得到多个数据块,包括:根据所述各个存储单元的大小和所述算子执行过程中使用的数据的处理顺序对所述数据进行分块处理。

3、例如,在本公开至少一实施例提供的数据处理方法中,所述存储单元包括寄存器单元、第一缓存单元和第二缓存单元,根据所述各个存储单元的大小和所述算子执行过程中使用的数据的处理顺序对所述数据进行分块处理,包括:当所述数据的数据量大于所述寄存器单元和所述第一缓存单元的存储容量时,将所述数据分为第一数据块、第二数据块和第三数据块;当所述数据的数据量大于所述寄存器单元小于所述第一缓存单元的存储容量时,将所述数据分为第一数据块和第二数据块。

4、例如,在本公开至少一实施例提供的数据处理方法中,所述第一数据块存储于所述寄存器单元,所述第二数据块存储于所述第一缓存单元,所述第三数据块存储于所述第二缓存单元。

5、例如,在本公开至少一实施例提供的数据处理方法中,所述第一数据块的处理顺序早于所述第二数据块的处理顺序,所述第二数据块的处理顺序早于所述第三数据块的处理顺序,所述寄存器单元距离计算单元的距离小于所述第一缓存单元距离所述计算单元的距离,所述第一缓存单元距离所述计算单元的距离小于所述第二缓存单元距离所述计算单元的距离。

6、例如,在本公开至少一实施例提供的数据处理方法中,当所述算子为单算子时,所述数据处理方法还包括:将所述单算子分为多个子部分,并对各个子部分使用的数据进行分块处理以得到多个数据块;根据所述算子的各个子部分的数据的处理顺序和存储单元的容量,确定所述多个数据块的存储单元;计算单元根据所述多个数据块的存储位置调用所述多个数据块执行所述单算子的各个子部分。

7、例如,在本公开至少一实施例提供的数据处理方法中,多个子部分包括n个子部分,第n子部分的处理顺序早于第n+1子部分的处理顺序,所述计算单元根据所述多个数据块的存储位置调用所述多个数据块执行所述单算子的各个子部分,包括:所述计算单元使用所述寄存器单元中的第一数据块执行所述第n子部分的计算并得到所述计算结果;根据所述第n子部分的计算结果的使用时机,将所述计算结果存储至所述第一缓存单元作为所述第二数据块或存储至所述第二缓存单元作为所述第三数据块;根据所述单算子的执行顺序,从所述第一缓存单元读取所述第二数据块或从所述第二缓存单元读取所述第三数据块至所述寄存器单元以供所述计算单元执行所述第n+1子部分的计算;其中,n为大于1的整数,n为大于0小于等于n的整数。

8、例如,在本公开至少一实施例提供的数据处理方法中,当所述算子为融合算子时,所述数据处理方法还包括:将所述融合算子拆分为多个单算子,并对各个单算子使用的数据进行分块处理以得到多个数据块;基于所述各个单算子的执行顺序、各个单算子的数据的处理顺序和存储单元的容量,确定所述多个数据块的存储单元;所述计算单元根据所述多个数据块的存储位置调用所述多个数据块执行所述融合算子。

9、例如,在本公开至少一实施例提供的数据处理方法中,计算单元根据所述多个数据块的存储位置调用所述多个数据块执行所述算子,包括:基于寄存器单元中存储的第一数据块执行算子的部分计算以得到临时数据;基于所述临时数据的处理顺序、存储单元的容量将所述临时数据存储至所述寄存器单元、所述第一缓存单元或所述第二缓存单元;读取所述第一缓存单元中存储的第二数据块或所述第二缓存单元中存储的第三数据块至所述寄存器单元供所述计算单元使用以执行所述算子。

10、本公开至少一实施例还提供一种数据处理装置,包括:分块单元,配置为对算子执行过程中使用的数据进行分块处理以得到多个数据块;确定单元,配置为根据所述多个数据块的处理顺序,确定所述多个数据块的存储单元;计算单元,配置为根据所述多个数据块的存储位置调用所述多个数据块执行所述算子。

11、例如,在本公开至少一实施例提供的数据处理装置中,所述分块单元还配置为:根据所述各个存储单元的大小和所述算子执行过程中使用的数据的处理顺序对所述数据进行分块处理。

12、例如,在本公开至少一实施例提供的数据处理装置中,所述存储单元包括寄存器单元、第一缓存单元和第二缓存单元,所述分块单元还配置为:当所述数据的数据量大于所述寄存器单元和所述第一缓存单元的存储容量时,将所述数据分为第一数据块、第二数据块和第三数据块;当所述数据的数据量大于所述寄存器单元小于所述第一缓存单元的存储容量时,将所述数据分为第一数据块和第二数据块。

13、例如,在本公开至少一实施例提供的数据处理装置中,所述第一数据块存储于所述寄存器单元,所述第二数据块存储于所述第一缓存单元,所述第三数据块存储于所述第二缓存单元。

14、例如,在本公开至少一实施例提供的数据处理装置中,所述第一数据块的处理顺序早于所述第二数据块的处理顺序,所述第二数据块的处理顺序早于所述第三数据块的处理顺序,所述寄存器单元距离计算单元的距离小于所述第一缓存单元距离所述计算单元的距离,所述第一缓存单元距离所述计算单元的距离小于所述第二缓存单元距离所述计算单元的距离。

15、本公开至少一实施例还提供一种数据处理装置,包括:处理器;存储器;一个或多个计算机程序模块,其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于执行实现本公开任一实施例提供的数据处理方法的指令。

16、本公开至少一实施例还提供一种存储介质,非暂时性地存储计算机可读指令,当所述计算机可读指令由计算机执行时执行本公开任一实施例提供的数据处理方法。

本文档来自技高网...

【技术保护点】

1.一种数据处理方法,包括:

2.根据权利要求1所述的数据处理方法,其中,对算子执行过程中使用的数据进行分块处理以得到多个数据块,包括:

3.根据权利要求2所述的数据处理方法,其中,所述存储单元包括寄存器单元、第一缓存单元和第二缓存单元,

4.根据权利要求3所述的数据处理方法,其中,所述第一数据块存储于所述寄存器单元,所述第二数据块存储于所述第一缓存单元,所述第三数据块存储于所述第二缓存单元。

5.根据权利要求3所述的数据处理方法,其中,所述第一数据块的处理顺序早于所述第二数据块的处理顺序,所述第二数据块的处理顺序早于所述第三数据块的处理顺序,所述寄存器单元距离计算单元的距离小于所述第一缓存单元距离所述计算单元的距离,所述第一缓存单元距离所述计算单元的距离小于所述第二缓存单元距离所述计算单元的距离。

6.根据权利要求3所述的数据处理方法,其中,当所述算子为单算子时,所述数据处理方法还包括:

7.根据权利要求6所述的数据处理方法,其中,所述多个子部分包括N个子部分,第n子部分的处理顺序早于第n+1子部分的处理顺序,

8.根据权利要求1所述的数据处理方法,其中,当所述算子为融合算子时,所述数据处理方法还包括:

9.根据权利要求3所述的数据处理方法,其中,计算单元根据所述多个数据块的存储位置调用所述多个数据块执行所述算子,包括:

10.一种数据处理装置,包括:

11.根据权利要求10所述的数据处理装置,其中,所述分块单元还配置为:

12.根据权利要求11所述的数据处理装置,其中,所述存储单元包括寄存器单元、第一缓存单元和第二缓存单元,

13.根据权利要求12所述的数据处理装置,其中,所述第一数据块存储于所述寄存器单元,所述第二数据块存储于所述第一缓存单元,所述第三数据块存储于所述第二缓存单元。

14.根据权利要求12所述的数据处理装置,其中,所述第一数据块的处理顺序早于所述第二数据块的处理顺序,所述第二数据块的处理顺序早于所述第三数据块的处理顺序,所述寄存器单元距离计算单元的距离小于所述第一缓存单元距离所述计算单元的距离,所述第一缓存单元距离所述计算单元的距离小于所述第二缓存单元距离所述计算单元的距离。

15.一种数据处理装置,包括:

16.一种存储介质,非暂时性地存储计算机可读指令,当所述计算机可读指令由计算机执行时执行根据权利要求1-9任一所述的数据处理方法。

...

【技术特征摘要】

1.一种数据处理方法,包括:

2.根据权利要求1所述的数据处理方法,其中,对算子执行过程中使用的数据进行分块处理以得到多个数据块,包括:

3.根据权利要求2所述的数据处理方法,其中,所述存储单元包括寄存器单元、第一缓存单元和第二缓存单元,

4.根据权利要求3所述的数据处理方法,其中,所述第一数据块存储于所述寄存器单元,所述第二数据块存储于所述第一缓存单元,所述第三数据块存储于所述第二缓存单元。

5.根据权利要求3所述的数据处理方法,其中,所述第一数据块的处理顺序早于所述第二数据块的处理顺序,所述第二数据块的处理顺序早于所述第三数据块的处理顺序,所述寄存器单元距离计算单元的距离小于所述第一缓存单元距离所述计算单元的距离,所述第一缓存单元距离所述计算单元的距离小于所述第二缓存单元距离所述计算单元的距离。

6.根据权利要求3所述的数据处理方法,其中,当所述算子为单算子时,所述数据处理方法还包括:

7.根据权利要求6所述的数据处理方法,其中,所述多个子部分包括n个子部分,第n子部分的处理顺序早于第n+1子部分的处理顺序,

8.根据权利要求1所述的数据处理方法,其中,当所述算子为融合算子时,所述数...

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

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

1