c++ - cuda 中 float 的基数排序与双调排序

标签 c++ c cuda thrust

我正在尝试实现双调排序作为 cuda 中最近对 d&c 算法的一部分,并且我遇到了 Thrust 库。我注意到它实现了基数排序,根据我的阅读,它对于整数来说是最快的,但是对于 float 来说也是如此吗?只对 float 实现双调排序还是只使用推力版本会更好吗? 提前致谢。

最佳答案

如果您对速度感兴趣,则不应编写自己的排序算法。排序是一项受到相当多关注的操作,无论您使用的是 int 还是 ,您都不可能像已经编写的那样快地想出一些东西。 > float

您应该考虑使用 thrust 中的算法, back40computing , moderngpu ,或CUB用于在 GPU 上排序。

关于c++ - cuda 中 float 的基数排序与双调排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17922574/

相关文章:

c - 指向结构体的指针

c++ - 在 OpenCV C++ 中使用 gpu::GpuMat

c++ - "assert (this)"是可行的模式吗?

c++ - 如何传递 ostream 对象?

c++ - wchar_t 和 char16_t 在 Windows 上是一样的吗?

c++ - opengl:基于着色器的渲染到帧缓冲区,然后是固定管道渲染

C++11嵌套宏调用?

c - 以 float 形式打印数组,其中大小取决于用户输入

c++ - 如何在 CUDA 中执行多个矩阵乘法?

cuda - 如何使用WMMA功能?