sorting - 推力库基数排序的 CUDA 编程

原文 标签 sorting cuda thrust radix

Thrust 新手 - 在我的 VS2010 C++ 程序中,我工作正常:

#include <thrust/sort.h>
thrust :: stable_sort_by_key (sortkey , sortkey + nmu, indexes );

但现在我想使用推力::stable_radix_sort_key。我添加了包括 -
#include <thrust/detail/device/cuda/detail/stable_radix_sort.h>

但是VS找不到"thrust :: stable_radix_sort_key ( ...)"
我认为在他们的目录中找不到相关的头文件?
怎么了。有没有人有一些示例代码来调用这个推力库例程?

谢谢。

最佳答案

thrust::stable_radix_sort_key()不是推力公共(public)接口(interface)的一部分。您应该使用 thrust::stable_sort_by_key() .

如果您排序的键是与 operator< 相当的普通数据类型(例如 int、float 等),那么我相信 Thrust 将在内部使用基数排序。

另外,我认为您不应该#include <thrust/detail/device/cuda/detail/stable_radix_sort.h>或任何其他实现细节文件——这些是要推进的内部文件。您应该只包含定义公共(public)接口(interface)的文件。

关于sorting - 推力库基数排序的 CUDA 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6529591/

相关文章:

python - 按长度排序字符串列表不起作用

java - 在 Java 8 中使用流畅的链接对集合进行排序

c++ - 是否可以通过纹理内存来加速矩阵乘法?

cuda - 减少CUDA

c++ - 如何在设备上运行推力::count_if? (库达)

c++ - 更改 vector 中的值后,make_heap无法按预期工作吗?

javascript - 如何使用下划线的_.uniq函数帮助记录偶数和奇数?

c - 无法理解__syncthreads()

c++ - CUDA内存分配性能

c++ - cuda9 +推力sort_by_key覆盖了H2D拷贝(使用流)