GPU Acceleration

Hey everyone, so I was doing some quick research on GPU Acceleration (which isn’t really Java supported until Java 8 with Project Sumatra), and so I found this: http://code.google.com/p/aparapi/

Examples I found on YouTube of implementations (into jMonkey, NOT MINE):
[video]http://www.youtube.com/watch?v=vX-tsp1f3Qs[/video]
[video]http://youtu.be/cP0OeN5ekgk[/video]

What it pretty much does is converts Java bytecode at runtime into OpenCl code (if it can; if not, it runs it in the java thread pool).
For everyone who wants to do some more optimization of their program, this would probably be the way to go.

Also I’ve seen something about JOCL (http://www.jocl.org/) haven’t gone into too much depth with that though…

If anyone wants to share any GPU Acceleration tools or whatev, feel free :slight_smile: (why I created thread)

We played around with it but the thing is its only useful for certain things. Just using it for any calculation isn’t feasible as the general overhead for sending the data to the GPU is too big.

Yeah, not the best… You work with what you have, right? I’m looking forward to the Java 8 release when they should (hopefully) have GPU acceleration covered.

It will have the same issue.

Those vids are mind blowing though!!

Couldn’t the OpenCL code generated by Aparapi be invoked directly from OpenGL? (It would need some minor tweaks to Aparapi codebase, with which I am very familiar).

This would eliminate the overhead of sending the data to the GPU. I can envisage this being made to work so that for example shaders, particle simulation etc. could be implemented in Java code - surely this would be a laudable goal for JME?

I’m much more familiar with OpenCL/Aparapi than I am with OpenGL - in order to get something like this working I would need help on the OpenGL side.

Barney