[发明专利]数据并行计算设备的排序有效
申请号: | 201780070349.4 | 申请日: | 2017-11-14 |
公开(公告)号: | CN109964203B | 公开(公告)日: | 2023-10-24 |
发明(设计)人: | A.S.麦金农 | 申请(专利权)人: | 谷歌有限责任公司 |
主分类号: | G06F7/24 | 分类号: | G06F7/24;G06F7/36 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 金玉洁 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 并行 计算 设备 排序 | ||
本公开的各方面涉及响应于对信息的请求来确定相关内容。一个或多个计算设备(170)可以将数据元素加载到寄存器(385A‑385B)中,其中每个寄存器与一组并行处理器(380A‑380B)中的至少一个并行处理器相关联。对于并行处理器中的每一个,加载到其相关联的寄存器中的数据元素可以以降序并行排序。对于并行处理器中的每一个,排序的数据元素可以与该组中其它处理器的排序的数据元素合并。合并和排序的数据元素可以被转置和存储。
相关申请的交叉引用
本申请要求2016年11月14日提交的美国临时专利申请第62/421,544号的申请日的权益,其公开内容通过引用结合于此。
背景技术
能够快速有效地对数据进行排序对于计算设备的许多操作来说至关重要。例如,许多应用(诸如搜索、数据查询处理、图形、稀疏线性代数、机器学习等)要求基本上实时的数据排序。许多排序方法依赖于单线程CPU执行顺序排序算法。这种排序方法非常耗时,并且要求大量的处理资源。
排序方法的最新改进包括由数据并行设备(data-parallel device)(诸如图形处理单元(graphics processing unit,GPU))执行的半并行和并行算法。然而,这些半并行和并行算法存在许多不足,因为它们通常无法完全利用数据并行设备的计算能力并达到峰值吞吐量,直到要排序的值的数量变得非常大,从而填满数据并行设备的带宽。此外,这些半并行算法通常表现出显著的分支差异,其中相邻的处理元件不执行相同的指令,阻止数据并行设备变得完全达到计算约束。处理较小的数据元素集合同样是低效的,因为数据并行设备可能在等待数据被加载或存储时停顿。
发明内容
本公开内容内的实施例通常涉及在数据并行计算设备上并行排序数据。一个方面包括一种方法,该方法包括:由并行处理器的组将数据元素加载到寄存器中,其中每个寄存器与并行处理器的所述组中的至少一个并行处理器相关联;对于并行处理器中的每一个,以降序对加载到其相关联的寄存器中的数据元素进行并行排序;对于并行处理器中的每一个,将排序的数据元素与组中其它处理器的排序的数据元素合并;以及由并行处理器转置和存储合并和排序的数据元素。
在一些实施例中,将数据元素加载到寄存器中包括将数据元素同时加载到两个或多个并行处理器的相关联的寄存器中。在一些示例中,将数据元素加载到每个处理器的相应寄存器中包括以转置的顺序加载数据元素。在一些实施例中,对数据元素进行排序包括对与相应并行处理器相关联的寄存器中的所有数据元素执行比较和交换操作。
在一些情况下,将排序的数据元素与该组中其它处理器的排序的数据元素合并包括将每个并行处理器与处理器的所述组中的另一并行处理器配对,以及将每个并行处理器的排序的数据元素与其相应配对处理器的排序的数据元素合并。
在一些示例中,合并排序的数据元素还包括将每对处理器的合并的数据元素与其它处理器对合并。在一些情况下,该组并行处理器包括两组并行处理器。在一些示例中,将排序的数据元素与其它处理器的排序的数据元素合并包括将每个并行处理器与两组处理器中的另一并行处理器配对;以及将每个并行处理器的排序的数据元素与两组处理器中的每一组处理器内其相应配对处理器的排序的数据元素合并。在一些实施例中,合并两组处理器的排序的数据元素。
本公开的另一方面包括一种用于并行排序数据的系统。该系统可以包括一个或多个计算设备和存储指令的存储器,该指令可由一个或多个计算设备执行。该指令可以包括将数据元素加载到寄存器中,其中每个寄存器与并行处理器的组中的至少一个并行处理器相关联;对于并行处理器中的每一个,以降序对加载到其相关联的寄存器中的数据元素进行并行排序;对于并行处理器中的每一个,将排序的数据元素与该组中其它处理器的排序的数据元素合并;以及由并行处理器转置和存储合并和排序的数据元素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌有限责任公司,未经谷歌有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780070349.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置