I found that the xlc compiler produces code that runs about 15%-20% faster than gcc. This is on a program with a moderate amount of single precision arithmetic. The interesting thing is that the same (scalar) code runs about 30% faster on the spu as it does on the ppu (with the same 15% advantage to xlc). Provided the code and data fit in the local store of the spu, it seems better to use the spu for scalar code! Compared to a G4, the ppu is more or less equivalent to a 1.2 GHz processor and the spu is equivalent to a 1.7-2 GHz G4.
On my code, I couldn't detect any difference between O3 and O4 or O5 using xlc (it couldn't auto-SIMD my program, despite the fact that I have an altivec version which runs 4x as fast). -wn On Mar 8, 2007, at 7:49 AM, Jonathan Bartlett wrote: > >> Will the C code demand a specific IBM-supplied compiler (and if so, >> how do I get it?), or will the gcc that comes with YDL 5 suffice? I >> suspect this is a basic "Cell 101" question, but I thought i'd >> ask ... >> >> > 1) IBM added all of their Cell-specific stuff into GCC, and yes, it > ships with YDL. > 2) IBM also makes their own compiler, called XLC, which is freely > available for the Cell SPU, and it comes when you download the SDK > straight from IBM (it is free as in beer not speech). > > Determining which compiler is better depends greatly on what is > being compiled. In the few times when I checked it out, I found > GCC did a _lot_ better with combining instruction scheduling and > loop unrolling, while XLC did branch hinting much better. Both of > them were about 30% slower than hand-coded assembly language in the > general case, and then only with -O3. > > Jon > -- > <jon_logo.jpg> > <jon_logo.jpg> > _______________________________________________ > yellowdog-general mailing list > [email protected] > http://lists.terrasoftsolutions.com/mailman/listinfo/yellowdog-general > HINT: to Google archives, try '<keywords> > site:terrasoftsolutions.com' _______________________________________________ yellowdog-general mailing list [email protected] http://lists.terrasoftsolutions.com/mailman/listinfo/yellowdog-general HINT: to Google archives, try '<keywords> site:terrasoftsolutions.com'
