Friday 5 August 2011

Nvidia opencl 1.1

Yay, so NVidia finally released an opencl 1.1 spec driver. I guess now I should read up more on opencl 1.1 and see if there's anything I can take advantage of - so far It wasn't even on the radar because of their complete lack of support; and i'm happy enough with 1.0 anyway. I'm not sure this is really enough to restore confidence that OpenCL is a first-class citizen on NVidia hardware - their weekly emails haven't mentioned OpenCL for months. We're headed for AMD hardware anyway, if only to try alternatives.

Speaking of AMD, I thought I might try to create a Java binding for the AMD FFT library - I wouldn't mind evaluating it to see if it could replace my current FFT implementation (the apple one, as ported in the jocl demos tree). Unfortunately it uses some types and interfaces which are tricky to wrap in Java, at least in a way which works independent of the architecture's native size. So for now I might put it on the back-burner. (I looked at gluegen briefly but it had trouble parsing something - and the error messages it gives aren't much help).

2 comments:

mbien said...

the most important feature of 1.1 is that thread safety is defined. 1.0 spec was broken in this regard.

rectangular copy/read/write operations may be interesting too. diff between both: https://github.com/mbien/jocl/commit/6379f5ff97582160f8e4074e083129b6322b89fe#diff-3

NotZed said...

Ahh nice, it's easy to miss a single paragraph in an appendix. Still no real must-have's for me.

I'm already using plenty of threads anyway - by synchronising on the queue, and i probably need to keep that because of the way the code is written anyway.

The rect copies probably not so much use for video processing, i'm using images mostly now anyway.

I also see the user event stuff - at present I have no use for those - although they could potentially be useful.