使用Thrust Library Radix排序的CUDA编程

时间:2011-06-30 03:10:02

标签: sorting cuda thrust radix

Newbie on Thrust - 在我的VS2010 C ++程序中,我工作得很好:

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

但是现在我想使用thrust :: stable_radix_sort_key。我添加了include -

#include <thrust/detail/device/cuda/detail/stable_radix_sort.h>

但是VS找不到"thrust :: stable_radix_sort_key ( ...)"

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

感谢。

1 个答案:

答案 0 :(得分:3)

thrust::stable_radix_sort_key()不属于推力公共界面。您应该使用thrust::stable_sort_by_key()

如果您要排序的密钥是与运营商相比的普通数据类型&lt; (比如int,float等),那么我相信Thrust会在内部使用基数排序。

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