Hello all, I finally bit the bullet and got radix working in PyOpenCL :) It's also improved over the SDK example because it does keys and values, mostly thanks to my advisor. Additionally this sort will handle any size array as long as it is a power of 2. The shipped example does not allow for arrays smaller than 32768, but I've hooked up their naive scan to allow all smaller arrays.
https://github.com/enjalot/adventures_in_opencl/tree/master/experiments/radix/nv all you really need are radix.py, RadixSort.cl and Scan_b.cl some simple tests are at the bottom of radix.py I hammered this out because I need it for a project, it's not all that clean and I didn't add support for sorting on keys only (altho it wouldn't take much to add that, and I intend to at a later time when I need the functionality). Hopefully this helps someone else out there. I'll also be porting it using my own OpenCL C++ wrappers to include in my fluid simulation library at some point. I also began looking at AMD's radix from their SPH tutorial, but they use local atomics which are not supported on my 9600M -- Ian Johnson http://enja.org
_______________________________________________ PyOpenCL mailing list [email protected] http://lists.tiker.net/listinfo/pyopencl
