albicilla / simple_paradis

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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

License:MIT License


Languages

Language:C++ 96.7%Language:CMake 3.3%