Skip to main content
QUICK REVIEW

[论文解读] Sorting with GPUs: A Survey

Dmitri I. Arkhipov, Di Wu|arXiv (Cornell University)|Sep 8, 2017
Algorithms and Data Compression参考文献 39被引用 4
一句话总结

本综述对基于GPU的排序算法进行了全面分析,重点研究并行基数排序、样本排序及混合方法。研究指出,片上内存的有效利用以及高效GPU原语(尤其是扫描和1位散列)是实现高性能的关键,其中混合基数-位域排序方法在大规模数据处理中表现最为高效。

ABSTRACT

Sorting is a fundamental operation in computer science and is a bottleneck in many important fields. Sorting is critical to database applications, online search and indexing,biomedical computing, and many other applications. The explosive growth in computational power and availability of GPU coprocessors has allowed sort operations on GPUs to be done much faster than any equivalently priced CPU. Current trends in GPU computing shows that this explosive growth in GPU capabilities is likely to continue for some time. As such, there is a need to develop algorithms to effectively harness the power of GPUs for crucial applications such as sorting.

研究动机与目标

  • 总结截至2017年基于GPU的排序算法研究现状。
  • 识别GPU排序中的关键性能瓶颈,特别是内存访问延迟与带宽限制。
  • 突出优化片上内存使用与减少内存竞争的有效算法策略。
  • 评估GPU原语(如扫描和1位散列)在决定排序性能方面的作用。
  • 为寻求高性能解决方案的研究人员提供基数排序、样本排序与混合方法的对比概述。

提出的方法

  • 将现有基于GPU的排序算法划分为三大类:并行基数排序、样本排序与混合方法。
  • 分析排序网络(如位域排序与奇偶归并)作为GPU排序流水线子程序的作用。
  • 评估内存层次结构优化的影响,特别是最大化使用共享内存与寄存器内存而非全局内存。
  • 评估GPU原语(尤其是扫描与1位散列)对算法效率与并行粒度的影响。
  • 通过测量通信开销、内存访问模式与线程级负载均衡,比较不同实现的性能表现。
  • 综合30余篇关键论文的研究成果,提炼出通用设计原则与关键性能优化策略。

实验结果

研究问题

  • RQ1基于GPU的排序中占主导地位的算法家族有哪些?它们在性能与可扩展性方面有何差异?
  • RQ2内存访问模式与内存竞争如何影响GPU排序性能?有哪些策略可缓解此类问题?
  • RQ3GPU专用原语(如扫描、1位散列)在多大程度上影响排序算法的效率?
  • RQ4为何混合基数-位域排序在实践中优于其他方法?
  • RQ5片上内存与寄存器使用量与现代GPU上整体排序吞吐量之间存在何种关联?

主要发现

  • 有效利用片上内存与寄存器是实现高性能GPU排序的最关键因素。
  • 将基数排序与每个标量处理器的排序网络结合的混合方法性能最佳,优于纯比较排序或纯基数排序方法。
  • 采用分桶化与每 warp 排序网络的基数排序可减少内存竞争,并改善线程间的负载均衡。
  • GPU原语的效率(尤其是1位散列与扫描)对性能有显著影响,部分实现可提供更精细的并行粒度。
  • 基于比较的排序方法(如 warp 排序与样本排序)在32位键场景下与基数排序方法具有竞争力,但在大规模数据集上仍逊色于混合基数排序方法。
  • 通过寄存器重用与线程合并减少通信与同步开销的算法改进,相较于朴素核映射可带来显著的性能提升。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。