I\'m wondering what if any GPU integration libraries exist for Clojure?
I\'ve seen examples of this that involve hand-rolling OpenCL code, but I\'m specifically I\'m loo
There is a Google Summer of Code project proposal to add a GPU matrix implementation to core.matrix
:
Once completed, this project would allow large vector/matrix expressions to be optimised and executed on GPUs.
Disclaimer: I'm a possible mentor for this project.
here is a project that recently started on github https://github.com/JulesGosnell/clumatra. Its seems more like an experiment and its quite impressive!
An old topic but now we have clojurecuda, which is a wrapper on JCuda!
It won't give you automagic speedup on things but at least Neanderthal is a higher level library for linear algebra.
clojureCL was released a few months after this question was posted. It looks like it offers a more idiomatic interpretation of the standard interface, but it is not a tool that would transform Clojure math / vector operations into OpenCL operations (I think that that is what the OP is looking for?)
[ClojureCL] brings a lot of power, but do not expect it to be an easy ride if you’ve never programmed anything on the GPU or embedded devices. With ClojureCL, it is not [as] difficult as in C (OpenCL Hello World in C is a hundred lines of source code, in ClojureCL it’s only a few), ...
The good news is that you can use any OpenCL book to learn ClojureCL, and we even provide ClojureCL code for the examples used in the OpenCL in Action book.