数据处理装置、芯片、板卡及数据处理方法与流程

摘要: 本申请一般涉及数据处理。更具体地,本申请涉及一种数据处理装置、芯片、板卡及数据处理方法。背景技术:1、随着人工智能技术的快速发展,深度学习模型的训练和推理过程涉...
数据处理装置、芯片、板卡及数据处理方法与流程

本申请一般涉及数据处理。更具体地,本申请涉及一种数据处理装置、芯片、板卡及数据处理方法。

背景技术:

1、随着人工智能技术的快速发展,深度学习模型的训练和推理过程涉及海量数据的处理。在并行计算设备(如ai加速芯片、gpu等)中,经常需要对大批量(batch)的小规模数据进行排序操作。例如,在推荐系统、自然语言处理等应用场景中,待处理数据通常呈现为批次数目巨大(如数万至数十万批次)、每批数据规模较小(如数百个元素)的分布特征。排序作为数据处理的基础任务之一,其执行效率直接影响整体计算任务的性能表现。

2、目前,针对上述大批量、小规模数据场景,现有并行计算设备通常采用逐批处理的排序方式:将多个批次的待排序数据分配至各个处理核,每个处理核对分配到的一个或多个批次逐一执行独立排序。然而,由于单次排序的数据量过小,处理器在执行排序操作时,需要频繁调用底层指令。每次调用该指令时,指令的发射延迟、流水线起停等固定开销占据了执行时间的绝大部分,而实际有效的数据计算时间占比极低。这使得处理器的指令执行效率严重降低,整体io(输入输出)带宽利用率仅为2.5%左右,造成计算资源的大量浪费,难以满足高性能计算场景对处理速度和能效的要求。

3、有鉴于此,亟需提供一种数据处理方案,以便有效提升多批次小规模数据场景下的排序处理速度,提高处理器的运算效率和io带宽利用率。

技术实现思路

1、为了至少解决如上所提到的一个或多个技术问题,本申请在多个方面中提出了一种数据处理装置、芯片、板卡及数据处理方法方案。

2、在第一方面中,本申请提供一种数据处理装置,包括存储单元和运算单元;其中,所述存储单元配置为存储多个批次的待排序数据;所述运算单元配置为:将多个批次的待排序数据拼接为合并数据块,并生成与所述合并数据块中每个数据元素对应的批次标识;根据所述合并数据块中数据元素的值,对关联有所述批次标识的所述合并数据块执行第一排序,获得第一排序结果;根据所述批次标识,对所述第一排序结果执行第二排序,且所述第二排序为稳定排序,获得第二排序结果,其中所述第二排序结果中属于同一批次的数据元素连续排列且内部有序。

3、在第二方面中,本申请提供一种芯片,包括根据本申请在第一方面所述的数据处理装置。

4、在第三方面中,本申请提供一种板卡,包括本申请在第二方面中所述的芯片。

5、在第四方面中,本申请提供一种数据处理方法,包括:将多个批次的待排序数据拼接为合并数据块,并生成与所述合并数据块中每个数据元素对应的批次标识;根据所述合并数据块中数据元素的值,对关联有所述批次标识的所述合并数据块执行第一排序,获得第一排序结果;根据所述批次标识,对所述第一排序结果执行第二排序,且所述第二排序为稳定排序,获得第二排序结果,其中所述第二排序结果中属于同一批次的数据元素连续排列且内部有序。

6、通过如上所提供的数据处理装置,本申请实施例通过将多个批次的待排序数据拼接为合并数据块进行集中处理,并为每个数据元素关联其所属批次的批次标识,先根据数据元素的值执行第一排序以实现全局有序,再根据批次标识执行稳定的第二排序,使相同批次的数据元素在排序后连续聚类且内部保持有序,能够在无需逐批独立处理的前提下,一次性完成多个批次的排序任务,显著减少排序过程中对排序指令(如向量过滤指令)的调用频次,有效摊薄单批次小数据量场景下的指令发射延迟,从而大幅提升处理器的整体数据处理效率和io带宽利用率,显著改善硬件资源利用率。

1.一种数据处理装置,包括存储单元和运算单元;其中,

2.根据权利要求1所述的数据处理装置,其中所述第一排序和所述第二排序均为采用最低位优先的基数排序。

3.根据权利要求1或2所述的数据处理装置,还包括:

4.根据权利要求3所述的数据处理装置,其中所述控制单元还配置为:

5.根据权利要求1所述的数据处理装置,其中所述运算单元还配置为:

6.根据权利要求5所述的数据处理装置,其中所述批次标识所需的二进制位数为ceil(log2n),其中n为被拼接至所述合并数据块中的批次数目。

7.根据权利要求5或6所述的数据处理装置,其中所述批次标识在所述存储单元中以与所述数据元素相同的二进制位宽存储。

8.根据权利要求3所述的数据处理装置,其中所述控制单元下发所述向量过滤指令的总次数等于所述第一排序中数据元素的二进制位宽与所述第二排序中批次标识所需的二进制位数之和。

9.根据权利要求1所述的数据处理装置,其中所述运算单元还配置为:

10.一种芯片,包括根据权利要求1-9任一所述的数据处理装置。

11.一种板卡,包括如权利要求10所述的芯片。

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

13.根据权利要求12所述的数据处理方法,其中所述第一排序和所述第二排序均为采用最低位优先的基数排序。

14.根据权利要求12所述的数据处理方法,进一步包括:

15.根据权利要求14所述的数据处理方法,其中所述批次标识所需的二进制位数为ceil(log2n),其中n为被拼接至所述合并数据块中的批次数目。

16.根据权利要求14或15所述的数据处理方法,其中所述批次标识采用与所述数据元素相同的二进制位宽表示。

17.根据权利要求14所述的数据处理方法,其中调用所述向量过滤指令的总次数等于所述第一排序中数据元素的二进制位宽与所述第二排序中批次标识所需的二进制位数之和。

18.根据权利要求12所述的数据处理方法,还包括: