Answers are grounded in this paper and cite their sources.
Heterogeneous computing combines general purpose CPUs with accelerators to efficiently execute both sequential control-intensive and data-parallel phases of applications. Existing programming models for heterogeneous computing rely on programmers to explicitly manage data transfers between the CPU system memory and accelerator memory.
No takes yet. Share an insight, caveat, or question.
Gelado et al. (2010) studied this question.