CUDPP  2.3
CUDA Data-Parallel Primitives Library
Building CUDPP

CUDPP has currently been tested on Windows, Mac OS X and Linux. See the Release Notes for release-specific platform support.

Initial checkout

$ git clone https://github.com/cudpp/cudpp.git

With CUDPP 2.2, we've added suffix_array which has dependencies on cub and moderngpu libraries. They are added as submodules and you will need to pull them in using the following two commands in the cudpp/ root directory:

$ git submodule init

$ git submodule update

Thrust Dependency

Starting with release 2.0, CUDPP uses the Thrust library for the implementation of cudppRadixSort(). Thrust is included with the CUDA Toolkit, so if you are using CUDA 4.0 or later, you need to do nothing else. If you are using an earlier version of CUDA however, you will need to download the Thrust source distribution and install it in your CUDA/include path before building CUDPP

Building CUDPP using CMake

CUDPP 2.0 uses CMake for cross-platform builds. Follow the instructions on the CUDPP Wiki to build CUDPP.

Warnings

You may see warnings during compilation of the form "warning: Double is not supported. Demoting to float". You can safely disregard these warnings. They are generated by the CUDA compiler when kernels that are specialized for multiple data types are compiled for CUDA targets that do not support double precision floating point.