Automatic Offloading of C++ for the Cell BE Processor: A Case Study Using Offload

Automatic Offloading of C++ for the Cell BE Processor: A Case Study Using Offload
复制标题

Cell BE 处理器的 C 自动卸载:使用 Offload 的案例研究

DOI:
--
复制
发表时间:
2010
期刊:
Computational Intelligence in Security for Information Systems
影响因子:
--
通讯作者:
G. Russell
G. Russell
中科院分区:
--
文献类型:
--
作者:
Alastair F. Donaldson;Uwe Dolinsky;A. Richards;G. Russell

文献摘要

被引文献

相似文献

Offload C++ 是 C++ 语言的扩展版本,与编译器和运行时系统一起,用于自动卸载通用 C++ 代码以在 Cell 宽带引擎 (BE) 处理器的协同处理器元件 (SPE) 上运行。我们通过使用卸载图像处理应用程序的部分方法的案例研究来介绍 Offload C++。案例研究介绍了语言扩展;说明了该技术所基于的核心技术:自动调用图复制和自动生成数据移动代码;展示了如何通过同时将工作卸载到多个 SPE 来实现并行性,同时功率处理器元件 (PPE) 内核同时执行额外的工作;并演示了我们处理复杂语言功能(例如函数指针和多个编译单元)的解决方案。
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.