Intel specific optimizations doesn't exsist?

MJOMJO Denmark New
edited February 2004 in Science & Tech
Don't know if it is the best title for this topic, but here it goes.

I have this info from a newsgroup posting, it is very interesting none the less.

Link:
Google groups

Here are some quotes.
As part of my study of Operating Systems and embedded systems, one of
the things I've been looking at is compilers. I'm interested in
analyzing how different compilers optimize code for different
platforms. As part of this comparison, I was looking at the Intel
Compiler and how it optimizes code.
First I wanted to pick a primarily CPU-bound test to run, so I chose
SPEC CPU2000. The test system was a P4 3.2G Extreme Edition with 1 gig
of ram running WIndows XP Pro. First I compiled and ran spec with the
"generic x86 flag" (-QxW), which compiles code to run on any x86
processor. After running the generic version, I recompiled and ran
spec with the "Intel-specific flag" (-QxN) to see what kind of
difference that would make. For most benchmarks, there was not very
much change, but for 181.mcf, there was a win of almost 22% !
Once I ran the binary that was compiled with the Intel-specific flag
(-QxN) through iccOut, it was able to run on the FX51. Much to my
surprise, it ran fine and did not miscompare. On top of that, it got
the same 22% performance boost that I saw on the Pentium4 with an
actual Intel processor. This is very interesting to me, since it
appears that in fact no Intel-specific optimization has been done if
the AMD processor is also capable to taking advantage of these same
optimizations.

Comments

  • Geeky1Geeky1 University of the Pacific (Stockton, CA, USA)
    edited February 2004
    The intel-specific optimizations are probably SSE or SSE2 capability. The Athlon FX does SSE at least, maybe SSE2 (can't remember for sure)
  • MJOMJO Denmark New
    edited February 2004
    Yes that is being discussed further down the thread.
    But the interesting part is, that both processors gained the same increase in speed.
    Apparently regardless of SSE2 support.
    I am not sure the FX-51 supports SSE2?
  • ThraxThrax 🐌 Austin, TX Icrontian
    edited February 2004
    All the A64s use SSE2.
  • MJOMJO Denmark New
    edited February 2004
    Thought so, thanks for clearing that up Thrax.
  • Straight_ManStraight_Man Geeky, in my own way Naples, FL Icrontian
    edited February 2004
    Thrax wrote:
    All the A64s use SSE2.

    And because they have an almost perfect way of handling SSE2 they can run Intel specific code if the CPU query is taken out. Yes. If they ECHOED the exact Intel processing piping strategy and tactics AMD would get a major Intel lawsuit, but the Intel compiler was released in an Open Source form also (for Linux and other *nix use), so they could look at the machine code and make the A64 processors handle it. Also, Open Source wanted something SSE2 compatible to work with, so guess who got engineering samples and fed lots of info back to AMD engineers in Germany(there is also a quietly run little AMD research lab in Germany, one of the things it did was work out and proof the mfring process to be used in FAB 36 and much of what is used in FAB 35 now)??? It is no coincidence that Linux distros had 2 A64 compatible working releases many months before the release of the A64 to open market here. Mandrake had one quite a while back, Gentoo and 2.6 kernel handle a lot of A64 features and have for quite a while, as some of the dev work in kernel 2.5 that was done was stuck back into the 2.4 tree as modules where it could be.

    By co-operating with Open Source AMD got some free debugging reports as to what worked and what did not(in considerable detail, at compiler and machine code levels). Linux historically has liked Intel stuff best, AMD wanted to break into that BIAS and break it.... :D Open source folks reworked the gcc compiler that is core to Linux flexibility and in process of doing that and working with AMD studied SSE2 thoroughly.

    John D.
  • mmonninmmonnin Centreville, VA
    edited February 2004
    WTG Caption Obvious!!! It was SSE2 the WHOLE freakin time!:rolleyes:
  • ThraxThrax 🐌 Austin, TX Icrontian
    edited February 2004
    Ageek wrote:
    ....
    John D.


    To summarize:

    SSE2 is an Intel CPU register. AMD would be stupid to modify it in any manner, possibly breaking its functionality.

    The end.
  • mmonninmmonnin Centreville, VA
    edited February 2004
    Kinda like the way they fubared SSE in some Tbreds and Bartons. Dont say I am wrong either. AMD is working with the Stanford group to fix it.
Sign In or Register to comment.