[论文解读] Provably Efficient GPU Algorithms.
本文提出了一种新颖的GPU算法模型,通过将共享内存与银行冲突建模相结合,扩展了并行外部内存(PEM)模型,从而实现了可证明高效的GPU算法。该文提出了一套用于设计无银行冲突算法的框架,以首个无银行冲突的共享内存排序算法为例,显著提升了THRUST库中GPU归并排序的性能。
In this paper we present an abstract model for algorithm design on GPUs by extending the parallel external memory (PEM) model with computations in internal memory (commonly known as shared memory in GPU literature) defined in the presence of memory banks and bank conflicts. We also present a framework for designing bank conflict free algorithms on GPUs. Using our framework we develop the first shared memory sorting algorithm that incurs no bank conflicts. Our sorting algorithm can be used as a subroutine for comparison-based GPU sorting algorithms to replace current use of sorting networks in shared memory. We show experimentally that such substitution improves the runtime of the mergesort implementation of the THRUST library.
研究动机与目标
- 开发一种包含共享内存与银行冲突的GPU算法设计抽象模型。
- 解决GPU共享内存中因银行冲突导致的性能瓶颈问题。
- 设计一种系统化的框架,用于构建无银行冲突的GPU算法。
- 构建首个无银行冲突的共享内存排序算法。
- 展示在GPU库中用新算法替换排序网络后带来的实际性能提升。
提出的方法
- 扩展并行外部内存(PEM)模型,以包含内部内存计算,特别地对共享内存的存储体与银行冲突进行建模。
- 引入共享内存访问模式的正式抽象,以在算法设计阶段检测并避免银行冲突。
- 开发一种系统化的算法框架,通过构造确保所有共享内存访问均为无银行冲突。
- 设计一种新颖的基于比较的排序算法,完全在共享内存中运行且无任何银行冲突。
- 将新排序算法作为子程序集成到GPU归并排序实现中,以替代现有的排序网络。
- 通过在THRUST库的归并排序上进行实验评估,验证性能提升效果。
实验结果
研究问题
- RQ1如何对GPU上的共享内存访问模式进行形式化建模,以考虑银行冲突?
- RQ2何种算法框架能够支持无银行冲突GPU算法的设计?
- RQ3是否可以实现一种基于比较的排序算法,使其在共享内存中运行且无银行冲突?
- RQ4在GPU库中用无冲突的共享内存排序替代排序网络,可实现多大的性能提升?
- RQ5新算法在实际中如何提升基于GPU的归并排序的效率?
主要发现
- 所提出的模型成功将PEM扩展至包含带银行冲突建模的共享内存,从而支持GPU算法的正式分析。
- 该框架通过设计即保证无银行冲突,消除了性能下降的主要来源。
- 首个无银行冲突的共享内存排序算法已成功实现并证明正确。
- 实验结果表明,用新共享内存排序算法替代排序网络可显著减少THRUST库中归并排序的运行时间。
- 性能提升可测量且显著,证明了消除共享内存操作中银行冲突的实际影响。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。