sorting - 使用 Thrust 库基数排序进行 CUDA 编程

标签 sorting cuda thrust radix

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/

相关文章:

c++ - 异常后重置 Cuda 上下文

c++ - 我怎样才能克服cuda中的内存分配

cuda - cudaEventElapsedTime() 的精度是多少?

c++ - 使用构造函数中本地声明的 device_vector 中的 device_vector::data() 方法初始化结构内部的指针是否安全?

c++ - 将 cuBLAS 与来自 Thrust 的复数结合使用

c# - 按另一个数组中指定的顺序对数组进行排序

algorithm - 为什么计数排序不用于大输入?

algorithm - 桶排序的最坏情况复杂度是多少?

jquery - 如何在jquery中动态排序列表项?

sorting - cuda/thrust : Trying to sort_by_key 2. 6GB GPU RAM 中的 8GB 数据抛出 bad_alloc