/simple_paradis

implementation of PARADIS - fast parallel radix sort algorithm. http://www.vldb.org/pvldb/vol8/p1518-cho.pdf

Primary LanguageC++MIT LicenseMIT

Build Status License: MIT

PARADIS

Implementation of PARADIS - fast parallel radix sort algorithm. Paper URL http://www.vldb.org/pvldb/vol8/p1518-cho.pdf

PARADIS:An Efficient Parallel Algorithm for In-place Radix sort (cho et al. VLDB 2015)

number of data <= 2^32, type int number of threads thread::hardware_concurrency()

Requirements

  • CMake >= 3.50
  • C++ Compiler >= C++17
  • OpenMP

How to build

mkdir build
cd build
cmake ..
make

How to run

You can give the number of threads and number of data by command line arguments.

./paradis <number of threads> <number of data>

Example

./paradis 64 100000000

Example result

creating dataset... finish!

std::sort() is running... finish!
std::sort time 8426.495000[ms]

PARADIS is running... finish!
paradis time 198.198000[ms]

Ref

Cho, M., Brand, D., Bordawekar, R., Finkler, U., Kulandaisamy, V., & Puri, R. (2015). PARADIS: an efficient parallel algorithm for in-place radix sort. Proceedings of the VLDB Endowment, 8(12), 1518–1529. https://doi.org/10.14778/2824032.2824050