DocumentCode
2077384
Title
Automatic Offloading of C++ for the Cell BE Processor: A Case Study Using Offload
Author
Donaldson, Alastair F. ; Dolinsky, Uwe ; Richards, Andrew ; Russell, George
Author_Institution
Comput. Lab., Oxford Univ., Oxford, UK
fYear
2010
fDate
15-18 Feb. 2010
Firstpage
901
Lastpage
906
Abstract
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.
Keywords
C++ language; image processing; microprocessor chips; automatic call graph duplication; automatic offloading; cell broadband engine processor; data movement code; image processing application; language extensions; offload C++; power processor element; synergistic processor elements; Competitive intelligence; Engines; Filters; Image processing; Kernel; Pixel; Program processors; Random access memory; Software systems; Yarn; Cell BE; Multicore programming; call graph analysis; compilers;
fLanguage
English
Publisher
ieee
Conference_Titel
Complex, Intelligent and Software Intensive Systems (CISIS), 2010 International Conference on
Conference_Location
Krakow
Print_ISBN
978-1-4244-5917-9
Type
conf
DOI
10.1109/CISIS.2010.147
Filename
5447485
Link To Document