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/