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.