1

你好是我项目的一部分。关键是我必须对一个数字数组进行排序(比如 100~200 个 16 位数字,数字和位是事先固定的)。我想使用 GPU 的共享内存在一个块内对其进行排序,作为数据不能在中间离开芯片的要求的一部分。

我在 GPU 上阅读了一些基数排序、双音排序算法。但看起来它们是为大量数字而设计的。我想非常非常快地对这 100~200 个数字进行排序

我感谢任何想法/帮助

4

1 回答 1

4

CUB具有在单个块中执行排序操作的例程,包括示例。如果您愿意,CUB 还具有可以在设备级别运行的例程,以利用所有计算资源来解决更大的问题。

对于要排序的 100 多个数字,您不太可能编写自己的运行速度更快的代码。

如果您有一个非常小的组(例如 < 32)数字要在块级别进行排序,您可能只是想编写自己的代码。在这种情况下,warp vote 和 shuffle指令可能很有用。

于 2014-02-03T20:59:06.273 回答