概要 OpenMP を用いて並列化した Radix Sort です. また,参考文献の論文で提案されている高速化手法である Buffer based scheme を採用しています. キーのみのソートと,キー・値のペアのソートができます. キーとして,以下の型がとれます. 符号付き整数 (char, short, int, long, long long) 符号なし整数 (上のに unsigned がついたもの) 浮動小数点数 (float, double) 使い方 sample.cc や measure.cc を見ると大体分かると思います. コンパイル時に -fopenmp を付けないと並列化されないので注意してください. 性能 measure.cc で 2 億要素の int 配列のソートの時間を測ります. 実行例: % g++ -O3 measure.cc -fopenmp % ./a