A compiler and runtime for heterogeneous computing
Joshua S. Auerbach, David F. Bacon, Ioana Burcea, Perry C. Cheng, Stephen J. Fink, Rodric Rabbah, Sunil Kumar Shukla · 2012
Heterogeneous systems show a lot of promise for extracting high-performance by combining the benefits of conventional architectures with specialized accelerators in the form of graphics processors (GPUs) and reconfigurable hardware (FPGAs). Extracting this performance often entails programming in disparate languages and models, making it hard for a programmer to work equally well on all aspects of an application. Further, relatively little attention is paid to co-execution---the problem of orchestrating program execution using multiple distinct computational elements that work seamlessly together.