I have been looking to a way to develop openCL in Java. I found aparapi interesting as it focusses on parallelization but creates openCL code as well. As I understand it the code will run with or without a GPU but still run parallized. My trouble is: where can I find documentation on how to install what? The AMD site was often pointed at, but it contains no information about aparapi, I wondered as well whether their code will work on Nvidia cards. The links to Google code is obsolete and the Github site is neither very helpful. A pointer to some more documentation is very much appreciated.
As an aside: I noticed in Github that the aparapi pulse is not overwhelming. Is it wise to start with aparapi? I thought I had better stay from openCL itself because it seemed too low level to me. But maybe somebody can argument how I could make a better founded decision (LWJGL?).
Aparapi is great
as you can write code on Java and run it on the GPU. It also has great features for buffer transfer between memory - GPU memory. We developed a cluster-computing bruteforce-engine with GPU acceleration: http://hgs-studios.com/#/projects/bruteforce
To install it, make sure you update your graphics card drivers. You can download the OpenCL drivers from here: https://software.intel.com/en-us/articles/opencl-drivers
If you have a recent version of Nvidia drivers and DirectX installed, you do not need to do anything. Just make sure you have the native libraries of your OS linked via
java "-Djava.library.path=lib\aparapi_native" -jar myjar.jarwhen running.Check out these guides to get started with coding:
https://github.com/aparapi/aparapi/blob/master/doc/UsersGuide.md
https://github.com/aparapi/aparapi/blob/master/doc/JavaKernelGuidelines.md
https://github.com/aparapi/aparapi/blob/master/doc/AparapiPatterns.md