CUDPP is the CUDA Data Parallel Primitives Library. CUDPP is a library of data-parallel algorithm primitives such as parallel prefix-sum (“scan”), parallel sort and parallel reduction. Primitives such as these are important building blocks for a wide variety of data-parallel algorithms, including sorting, stream compaction, and building data structures such as trees and summed-area tables. CUDPP runs on processors that support CUDA.

CUDPP was initially developed to test the algorithms developed in C for CUDA for the articles “Parallel Prefix Sum (Scan) in CUDA”, by Mark Harris, Shubho Sengupta, and John Owens (published in GPU Gems 3), and “Scan Primitives for GPU Computing”, by Shubho Sengupta, Mark Harris, Yao Zhang, and John Owens (published in the proceedings of Graphics Hardware 2007).

CUDPP is now hosted on Google Code.  Please visit the CUDPP site at