嗨是我项目的一部分。关键是我必须对一组数字进行排序(例如100~200 16位数字,数字和位在手前固定)。我想使用GPU的共享内存在一个块内对此进行排序,作为要求的一部分,数据无法在中间离线。
我在GPU上读过一些基数排序,比特排序算法。但它看起来像是为大量数字而设计的。我想非常快地对这100~200个数字进行排序
我感谢任何想法/帮助
答案 0 :(得分:4)
CUB具有在单个块中执行排序操作的例程,包括examples。如果您愿意,CUB还可以在设备级别运行例程,以利用所有计算资源来处理更大的问题。
对于100多个要排序的数字,您不太可能编写自己运行得更快的代码。
如果您有一个非常小的组(比如<32)数字要在块级别进行排序,您可能只想编写自己的代码。在这种情况下,warp vote and shuffle说明可能会有用。