CUDAでソート

CUDAに合うソートって何だろう。
最近10種類以上のソートを試したけど、いまだに満足できるものに出会えていない。
(bubbleから並列bitonicまで試した)
もちろん、ソート対象の要素数に依存するんだろうけど。

CUDAでは再帰が使えないので、Quick Sortとかは実装は可能だけどスタック型のアルゴリズムにしないといけない。
そしてあまり速く無かった。
32のthreadが1つのwarp内にあることを考えると分岐の多くなるソートは苦手だろうな。
ソート対象も量が多いとshared memoryに置けなくなるし。(無理矢理置くと今度はOccupancyが下がる)