Offload - Automating code migration to heterogeneous multicore systems

33Citations
Citations of this article
32Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We present Offload, a programming model for offloading parts of a C++ application to run on accelerator cores in a heterogeneous multicore system. Code to be offloaded is enclosed in an offload scope; all functions called indirectly from an offload scope are compiled for the accelerator cores. Data defined inside/outside an offload scope resides in accelerator/host memory respectively, and code to move data between memory spaces is generated automatically by the compiler. This is achieved by distinguishing between host and accelerator pointers at the type level, and compiling multiple versions of functions based on pointer parameter configurations using automatic call-graph duplication. We discuss solutions to several challenging issues related to call-graph duplication, and present an implementation of Offload for the Cell BE processor, evaluated using a number of benchmarks. © 2010 Springer-Verlag.

Cite

CITATION STYLE

APA

Cooper, P., Dolinsky, U., Donaldson, A. F., Richards, A., Riley, C., & Russell, G. (2010). Offload - Automating code migration to heterogeneous multicore systems. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5952 LNCS, pp. 337–352). https://doi.org/10.1007/978-3-642-11515-8_25

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free