That code is the latest, I haven't touched it in a long time since my work
has taken me away from opencl for the time being. As for the licensing, I
put in an MIT license so its free as far as I'm concerned. Some of the
radix code comes straight from the nvidia sdk example, we had to modify it
a good bit to sort keys and values but I'm not sure what their licenses are.
This is also definitely not the best implementation of radix, as there is a
much faster (and open) CUDA implementation. I would have hoped it would be
ported to OpenCL by now, and there is this project:
which is GPL.
good luck! I'd like to hear about any improvements that come along!
On Sun, Jan 15, 2012 at 9:35 AM, Andreas Kloeckner
On Sun, 17 Apr 2011 22:29:41 -0400, Ian Johnson <enjalot(a)gmail.com> wrote:
> 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
> of 2. The shipped example does not allow for arrays smaller than 32768,
> I've hooked up their naive scan to allow all smaller arrays.
> 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
> 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
Out of personal need, I'm thinking of bringing some kind of sort
functionality into PyOpenCL. I saw that you made a number of
enhancements to your sort code since you sent the announcement. Is your
most recent sort code still in the repo above? What is the license for
that code? More generally, what course of action would you recommend?
Thanks in advance for your help,