OpenCL bindings for Java & Scala


Hope this is an appropriate place for such announcements…
I’ve created the OpenCL4Java project, which provides Java bindings for OpenCL using JNA + JNAerator.
It was tested on MacOS X 10.6 and was reported to work on Windows with NVidia beta drivers.

I’ve also created an experimental Scala DSL dubbed ScalaCL that makes it trivial to evaluate simple expressions in parallel from Scala :

class VectAdd(i: Dim) extends Program(i) {
    val a = FloatsVar // buffer of floats
    val b = FloatsVar
    var output = FloatsVar
    content = output := a + b
var n = 1000;
var prog = new MyProg(n)
prog.a.write(1 to n)
prog ! // executes the program

For some introduction to using them, I’ve blogged about the OpenCL4Java bindings and ScalaCL.

Any feedback is welcome :slight_smile:

Cheers and happy parallel computing !