Thrust 新手 - 在我的 VS2010 C++ 程序中,我工作得很好:
#include <thrust/sort.h>
thrust :: stable_sort_by_key (sortkey , sortkey + nmu, indexes );
但现在我想使用thrust::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()
。
如果您排序所依据的键是与运算符<相当的普通旧数据类型(例如 int、float 等),那么我相信 Thrust 将在内部使用基数排序。
另外,我认为你不应该 #include <thrust/detail/device/cuda/detail/stable_radix_sort.h>
或任何其他实现细节文件——这些是要插入的内部文件。您应该只包含定义公共(public)接口(interface)的文件。
关于sorting - 使用 Thrust 库基数排序进行 CUDA 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6529591/