<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div class="im">Hello all,<br><br>This is the abstract of tomorrow&#39;s talk:<br>
<br>
Title: &quot;Compiling Effectively for Cell with GCC&quot;<br>
Ira Rosen, David Edelsohn, Ben Elliston, Revital Eres, Alan Modra, Dorit<br></div>
Nuzman, Ulrich Weigand, and Ayal Zaks. CPC 2009 <a href="http://research.ihost.com/cpc09/" target="_blank">http://research.ihost.com/cpc09/</a><div><div></div><div class="h5"><br>
<br>
Abstract:<br>
In this talk I describe several techniques that we developed to support the<br>
generation of high quality code for the Cell Broadband Engine, addressing<br>
some<br>
of its key challenges and advantages.<br>
The architecture of the Cell Broadband Engine developed jointly by Sony,<br>
Toshiba, and IBM, represents a new direction in processor design.<br>
In addition to a PowerPC-compatible Power Processor Element (PPE) the Cell<br>
architecture features an array of eight Synergistic Processor<br>
Elements (SPEs) supporting a new SIMD instruction set.<br>
Each SPE consists of a Synergistic Processor Unit (SPU) and a memory-flow<br>
controller (MFC).<br>
<br>
Load and store instructions of an SPE access a local store of 256KB private<br>
to the SPE.<br>
The SPE instruction text itself must reside within its local store as well.<br>
DMA operations provided by the MFC enable the SPE to copy data between its<br>
local store and main storage.<br>
Applications making optimal use of the Cell architecture will comprise of<br>
both PPE and SPE components, requiring tool-chain support for working with<br>
two different instruction set architectures and ABIs in an integrated<br>
fashion.<br>
<br>
The techniques we developed and present include<br>
compiler-assisted accesses to PPE memory from SPE programs,<br>
automatic vectorization enhancements for the SPE, and<br>
support for large SPE programs using compiler and linker<br>
partitioning coupled with an overlay mechanism.<br>
These techniques alleviate the task of programming for Cell by automating<br>
the<br>
use of SIMD instructions and abstracting the use of DMA transfers between<br>
local<br>
stores and main memory for both code and data.<br>
I will describe how we incorporated these techniques into the GNU Compiler<br>
Collection (GCC), GNU ld linker, and runtime libraries.<br>
<br></div></div>----------------------<br></div><br></div>
</div><br>See you there,<br>Orna.<br></div>