Benchmarking OpenCL, OpenACC, OpenMP, and CUDA: programming productivity, performance, and energy consumption
A Survey of CPU-GPU Heterogeneous Computing Techniques