Twin peaks
Jayanth Gummaraju, Laurent Morichetti, Michael J. Houston, Ben Sander, Benedict R. Gaster, Bixia Zheng · 2010
Modern processors are evolving into hybrid, heterogeneous processors with both CPU and GPU cores used for general purpose computation. Several languages such as Brook, CUDA, and more recently OpenCL are being developed to fully harness the potential of these processors. These languages typically involve the control code running on the CPU and the performance-critical, data-parallel kernel code running on the GPUs.