Usenet.com

www.Usenet.com

Group Index

Comp Thread Archive from Usenet.com

<-- __Chronological__ --> <-- __Thread__ -->

Re: Intel compilers performance over itanium 2 (madison)



xpuente wrote:

Hi all,

First all, maybe this is not the correct group to post this but I think
here's people who can help with my probs.
Well, I have a SGI Altix system with 8 madison 1.3 GHz procs. FP
applications runs fine with 7.1 intel compilers but integer applications
runs badly. We have a big C++ application and with this system the
performance is even lower than a Origin 3200 based on R12000 400MHz
processors. Some one can think that intel compiler sucks and exploring the
assembed code really sucks. Not only because the poor IPC achieved (bellow
0.7) but loking in code you can see that sequences like:

        int Class::method(Boolean a)
       { return (a ? 1:0);}

The intel VTune says thats this code has a very low IPC but not only this.
The asembled code is huge for this method. In fact if you use if(){}else{}
sentence legth is roughly one half. Obviously my code has a lot of these
sentences.... and much of the slowdown is caused by this.  I cant understand
how is the compiler so bad. Some one has similar experience with these
compilers or i'm stupid (or my code is a crap)?.

Ouch!


This is a classic example of code where predicates should work beautifully, in fact is is more or less the canonical example.

There's about two or three reasonable code generation results here, I'd prefer to see something like this:

Cycle 1:  Set (pa/pb) to the result of the (a == 0) test.
          Set return register to first return value
          Set another register to the alternate result

Cycle 2: Do a predicated move of the alternate value to the return register.

It is hard to see how you can end up with much more than this?

Terje

--
- <[EMAIL PROTECTED]>
"almost all programming can be viewed as an exercise in caching"




<-- __Chronological__ --> <-- __Thread__ -->


Usenet.com



Please check out one of the premium Usenet Newsgroup Service Providers below for access to Usenet.