9
- https://doi.org/10.1109/cisis.2010.147
Automatic Offloading of C++ for the Cell BE Processor: A Case Study Using Offload
- Feb 1, 2010
- Alastair F Donaldson +3 more
Offload C++ is an extended version of the C++ language, together with a compiler and runtime system, for automatically offloading general-purpose C++ code to run on the Synergistic Processor Elements (SPEs) of the Cell Broadband Engine (BE) processor. We introduce Offload C++ by presenting a case study using the approach to offload parts of an image processing application. The case study introduces the language extensions; illustrates the core technology on which the technique is based: automatic call-graph duplication, and automatic generation of data-movement code; shows how parallelism can be achieved by offloading work to multiple SPEs simultaneously, while the Power Processor Element (PPE) core simultaneously performs additional work; and demonstrates our solutions to dealing with complex language features such as function pointers and multiple compilation units.
- # Synergistic Processor Elements
- # Power Processor Element
- # Function Pointers
- # Broadband Engine
- # Cell Broadband Engine Processor
- # Runtime System
- # Processor Element
- # Automatic Generation Of Code
- # Engine Processor
- # Generation Of Code