I\'m interested in developing software for Sony PlayStation 3 consoles which contains a multi-core Cell processor, targeting any PS3-compatible Linux distributi
Be mindful when running code on the SPEs of their special design -- the default stack size varies widely from compiler to compiler, and can cause all sorts of issues when you overflow. It's usually a good practice to declare most data globally in SPE code, and avoid the stack except for very small variable allocations.
Since there's no cache (or... its all L2 cache, in a sense), there's no real performance penalty to doing this, and you'll never run into problems like trying to DMA data to or from a memory address that is no longer valid, etc.
The IBM SPE compiler is generally considered the best, afaik, although I have never used it, personally.