2

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 ( ...)"

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

谢谢。

4

1 回答 1

3

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

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

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

于 2011-06-30T03:22:42.820 回答