Benchmarking OpenCL, OpenACC, OpenMP, and CUDA: programming productivity, performance, and energy consumption
OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems