CUDPP 1.0 Alpha Release Adds Segmented Scan, Sparse Matrices

CUDPP 1.0 alpha

CUDPP 1.0 is here! We’ve revamped the CUDPP public interface to improve usability, and we’ve added a bunch

of new features, with even more to come. Because this interface is quite new, we want to give people a chance

to try it out and send us feedback on any issues they discover. For this reason we’ve called this an alpha

release – we may yet tweak the interface. In addition, there are a couple of features that didn’t make this

release that we hope to add before 1.0 final is released. If you have feedback on the new interface, please

tell us on the CUDPP Google Group

CUDPP 1.0 New Features and Improvements

    New Plan Interface for configuring CUDPP algorithms. This is modeled after the FFTW and CUFFT libraries.

    Segmented Scan: an algorithm for performing multiple variable-length scans in parallel. Useful for algorithms such as parallel quicksort, parallel sparse matrix-vector multiplication, and more.

    Sparse Matrix-Vector Multiplication (based on segmented scan)

    An improved scan algorithm, called “warp scan”, for higher performance and simpler code.

    Scans and segmented scans now support add, multiply, maximum, and minimum operators.

    Inclusive scans and segmented scans are now supported.

    Improved, more useful, cudppCompact() interface.

    Backward compact (reverse-and-compact) is now supported.

    CUDA 2.0 support

    Support for Mac OS X and Windows Vista

Downloading CUDPP

See the CUDPP Home Page

CUDPP Documentation

For installation and usage instructions, please refer to the


The documentation is comprehensive and searchable. For an example of using CUDPP, see

the simpleCUDPP example.

CUDPP Google Group

We will be using the CUDPP Google Group for

CUDPP announcements and discussion. Sign up if you’d like to participate.