If any one implemented parallel quicksort in opencl C or C++ then plz post here or any other parallel sorting code having complexity not more than O(N).I badly need this .Thnx in advance..:):)
Hi,
There are a few sorting algorithms in AMD APP SDK SAMPLES: BitonicSort, RadixSort which might be helpful. As of quicksort, I dn't feel it is very parallelizable personally.
The radixsort in the SDK isn't really going to help much.
Take a look at the bottom of the page here:
http://www.heterogeneouscompute.org/?page_id=7
There's an implementation you can download as well as a doc describing it in rough terms. It's not the fastest radix sort out there and it's very AMD specific (vector-width dependent, it won't work on nvidia architectures, but the same applies to nvidia's sorts).
Quicksort doesn't really make a lot of sense. Off the top of my head I think radix sort is the only sort that's O(N) in terms of the data set size, but it's also very specific to bit-wise sorting and hence is not a comparison sort.
Would be fantastic if you release some CUDPP OpenCL's optimized for ATI.
User-defined sort with key-pair support, parallel scan, parallel reductions, etc... Maybe in some form of extension or directly in a future spec or lib.
That is certainly a popular request.
thnx a lot....:):)