GPU optimized implementation of Radix Sort using OpenCL.
C++17-enabled compilers are supported, e.g.:
- GCC 9.3
- Clang 10
- Visual Studio 2019
- cmake 3.17+
Every OpenCL 1.2 compliant driver should be supported. For NVIDIA devices, CUDA drivers may be necessary.
Libraries and tests can be built as follows:
Linux:
git clone github.com/gyatskov/radix-sort
cd radix-sort
mkdir build
cmake -DCMAKE_INSTALL_PREFIX="bin/" -H. -B build
cmake --build build
cmake --build build --target install
Windows (PowerShell):
git clone github.com/gyatskov/radix-sort
cd radix-sort
mkdir build
cmake -DCMAKE_INSTALL_PREFIX="$(Get-Location)/bin" -H. -B build
cmake --build build
cmake --build build --target install
Tests will be installed to build/tests
.
Libraries (static libradixsortcl as well as dynamic libOpenCL) will be installed to bin
.
Run
ctest --test-dir build/tests --output-on-failure
The implementation is based on papers referenced in doc.pdf