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

Reply via email to