I have to design an implement a project that requires a GUI and takes advantage of parallel processing. I thought Aparapi will be the best option as it is easy to implement GUI's in Java. The problem is that I am new to field of parallel computing and have no experience in OpenCl or any other frameworks similar to OpenCl. My question is that should I learn how to program in OpenCl before jumping to Aparapi. There is more documentation and resources to learn Open-Cl than for Aparapi, so I thought it would be better to first get a working knowledge of Open-Cl.
IMHO, OpenCL knowledge is not required to program in Aparapi. But then aparapi has very limited functionality, and it may not be possible to write any algorithm in APARAPI. Also you will find a lot of things very strange if you jump into it without any prior experience in GPGPU.
So I would suggest you to go through some introductory material on OpenCL, so you can then understand how aparapi acts as a wrapper. And then you can understand for, what algorithms aparapi would be good enough.