[LLVMdev] LLVM and Cell processor

Scott Michel scottm at rushg.aero.org
Mon Nov 27 11:30:17 PST 2006


Sébastien Pierre wrote:
> Hi all,
> 
> I've been following LLVM for a couple of years, and though I've not  
> found an occasion to use it (yet), I'm always curious about its  
> potential uses.
> 
> I was discussing with friends about the Cell processor, and some of  
> the arguments were that it is difficult to program and difficult to  
> optimize. One of the concerns was that the PPE (central processor) is  
> "in order", which implies that the compiler has to be able to  
> optimize the code in a much more advanced way.
> 
> I don't know if LLVM will support the Cell, but I was wondering if  
> there are features that allow to produce code that will be optimized  
> for "in order" processors.

For a real mind bender, you should have heard Marc Tremblay at
Supercomputing talk about the new Scout feature on Niagara -- O-O
execution with O-O retirement. I'm still working on getting all of the
slides from the General-Purpose GPU Computing: Practice and Experience
workshop (Burton Smith's slides were also pretty interesting.)

I'm not sure whether in-order really matters, per se. What does matter
is how to partition tasks and work between the PPE and the SPE(s), which
is no trivial task. For that matter, the same kind of problem crops up
if you want to generate ATI CTM assembly (also NVIDIA CUDA) and
partition work between your CPU and GPU.

I've been hacking away at a Cell SPE module and making some progress. I
got diverted recently into gcc4 frontend issues as I was attempting to
compile vim and ncurses into bytecode...


-scooter



More information about the llvm-dev mailing list