![]() |
1
4
GPU排序技术的现状并不是特别令人鼓舞。 对于32位整数的排序,下面这篇来自2009年的论文(两位作者是Nvidia的研究人员)只声称GTX280上的最佳CUDA排序比4核Yorkfield上的最佳CPU排序提高了23%。 http://www.mgarland.org/files/papers/gpusort-ipdps09.pdf 这在GPU上使用基数排序,在CPU上使用合并排序。为了构造后缀数组,您需要一个基于比较的排序,因此本文中最好的排序方法不是GPU基数排序,而是GPU合并排序,它实现了GPU基数排序(具有100万个密钥)速度的一半,即比CPU合并排序慢40%。
总的来说,如果您的目的是构建一个高效的系统,我建议您使用CPU实现来解决这个问题,因为这样会更快更容易编写。 但是,如果您的目的是为了试验或只是为了了解GPU,那么您可以从CUDA SDK中的论文中找到合并排序的CUDA实现: http://developer.download.nvidia.com/compute/cuda/sdk/website/Data-Parallel_Algorithms.html |
![]() |
Zach Dwiel · 如何计算Theano中的GPU内存使用量? 9 年前 |
![]() |
Controller · 用推力排序Cuda中的2D阵列 9 年前 |
![]() |
chafner · C++函数调用后SSBO的内容无效 10 年前 |
![]() |
Kukunin · 如何扩展GPGPU的顶点着色器功能 10 年前 |
|
mrei · 参数超过256字节的CUDA内核调用的想法 10 年前 |