Sorting libraries for pyculib
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Pyculib_sorting provides simplified interfaces to CUDA sorting libraries. At present it contains a wrapper around:

  • A radix sort implementation from CUB.
  • A segmented sort implementation from ModernGPU

Pyculib_sorting is predominantly used by Pyculib to provide sorting routines.


Pyculib_sorting requires the following programs to build and test:

  • Python
  • NVIDIA's nvcc compiler

and the following Python packages

  • pytest
  • Numba

Obtaining the source code

Pyculib_sorting relies on git submodules to access the CUB and ModernGPU source code, to obtain a code base suitable for building the libraries run:

#> git clone

#> cd pyculib_sorting

#> git submodule update --init

the URL above may be adjusted to use ssh based as desired.

Building the libraries

To build the libraries run:

#> python


Testing uses pytest and is simply invoked with:

#> pytest

Conda build

To create a conda package of Pyculib_sorting, assuming conda-build is installed, run:

#> conda build condarecipe

from the root directory of Pyculib_sorting.