Search code examples
cudathrustcudpp

Thrust vs CUDPP


For using data parallel algorithms on the GPU with CUDA there are two standard libraries, CUDPP and Thrust, which implement sorting, reduction , prefix sum etc.

So what are the main differences between the libraries, in terms of performance and features ?


Solution

  • I have used both for sorting and prefix sums about a year ago (with CUDA 4.1, but I can't remember the versions of Thrust and CUDPP) and I experienced that CUDPP is a little bit faster but Thrust is easier to use (using float-array with about 20M entries).

    As for the features, as far as I can recall, you can use Thrust also with host memory not only with device memory (as opposed to CUDPP), but this might be outdated.