A while back, I created some CUDA extensions for ECJ while I was working on my M.Sc. thesis. The extensions basically allow GP tree evaluations to be performed on CUDA-compatible GPU's with minimal CUDA knowledge. The code itself is almost completely documented via JavaDoc style comments. I've even reimplemented one of ECJ's built-in tutorials for the sake of demonstration. At the moment, I have other priorities so further work on the code may not be possible on my part. Nevertheless, any contributions/forks/improvements are greatly appreciated :-)
The repository is publicly available on GitHub: https://github.com/Maghoumi/CudaGP.
Please note that JCuda (https://www.jcuda.org) is required for CUDA interop in Java.