我正在尝试实现双调排序作为 cuda 中最近对 d&c 算法的一部分,并且我遇到了 Thrust 库。我注意到它实现了基数排序,根据我的阅读,它对于整数来说是最快的,但是对于 float 来说也是如此吗?只对 float 实现双调排序还是只使用推力版本会更好吗? 提前致谢。
最佳答案
如果您对速度感兴趣,则不应编写自己的排序算法。排序是一项受到相当多关注的操作,无论您使用的是 int
还是 ,您都不可能像已经编写的那样快地想出一些东西。 > float
。
您应该考虑使用 thrust 中的算法, back40computing , moderngpu ,或CUB用于在 GPU 上排序。
关于c++ - cuda 中 float 的基数排序与双调排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17922574/