[发明专利]一种基于GPU的多列数据排序方法有效
申请号: | 201910593411.9 | 申请日: | 2019-07-03 |
公开(公告)号: | CN110515939B | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 孟令博 | 申请(专利权)人: | 中兴飞流信息科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06T1/20 |
代理公司: | 北京唯智勤实知识产权代理事务所(普通合伙) 11557 | 代理人: | 邵胜男 |
地址: | 210012 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明技术方案公开了一种基于GPU的多列数据排序方法,通过GPU分别对第一列、第二列、第n列数据进行排序,通过使用CPU结合GPU处理多列数据排序方法,在需要大数据量进行排序时,利用GPU强大的并发处理能力,可以有效提升单台机器的性能,有效弥补了单台服务器性能上的短板;在不增加集群规模前提下,通过增加GPU大幅提高集群计算能力。 | ||
搜索关键词: | 一种 基于 gpu 数据 排序 方法 | ||
【主权项】:
1.一种基于GPU的多列数据排序方法,其特征在于,包括以下步骤:/n步骤1:对第一列数据进行排序,处理方法如下;/nGPU对第一列数据进行排序,以数据作为排序的关键字,数据索引同步跟随数据进行排序,排序后记录以下信息;/na、记录数据排序后对应的索引数组,最后一列排序结束后输出该索引数组;/nb、对相同的数据进行分组,记录每组起始元素位于索引数组中的偏移量;/nc、记录每个分组中的重复数据个数;/nd、记录所有重复数据的索引,回传给业务层,由业务层根据重复数据索引,将下一列需要排序的数据放置到连续内存,在下一列排序时,将数据传递给GPU进行排序;/n步骤2:对下一列/或第二列数据进行排序,处理方法如下;/nGPU对下一列数据进行排序时,如果前一列重复数据索引为空,则排序结束,将排序后的数据索引传递给业务层,根据数据索引输出最终结果;如果有重复数据,业务层根据重复数据的索引,将数据重新组织,拷贝到连续内存空间,传递给GPU进行排序,排序结束后,GPU将排序结果回传给CPU进行以下操作;/na、更新全局索引,对前一列重复、该列不重复的组内数据,更新其全局索引;/nb、记录新的分组,每个分组内数据相同,记录每个分组位于全局索引中起始位置;/nc、记录每个新的分组中重复数据的个数;/nd、记录重复数据的索引,用于后一列数据排序时,将索引对应的数据传递给GPU进行后一列数据的排序;/n步骤3:对多列/或第三列数据进行排序,处理方法如下;/n对于分组较多,而每个分组内部元素较少时,GPU进行排序时,每个线程处理一个分组,每个分组内部使用冒泡排序以达到多组并发排序的目的;/n步骤4:所有需要排序的数据排序完成时,流程结束。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴飞流信息科技有限公司,未经中兴飞流信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910593411.9/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置