Results 1 to 9 of 9
  1. #1
    Joined
    Feb 2001
    Location
    near the sea-port of Antwerp, Belgium
    Posts
    12,856

    Exclamation Intel's compiler cripples code on AMD and VIA chips

    .

    To some this isn't news, to others it is.

    The News is that changes should be on their way because of the statement in the last paragraph in this article ...

    http://www.theinquirer.net/inquirer/...-amd-via-chips


    .


    Fold with what you have, Every Work Unit will make a difference.

  2. #2
    Joined
    Nov 2001
    Location
    Montana
    Posts
    7,727

    Re: Intel's compiler cripples code on AMD and VIA chips

    It didn't use to be this way. The Intel compiler would simply look for processor capabilities like SSE2 and SSE3 (if you used the right compiler optimization switch).

    It seems version 11.x of the Intel compiler has fallen back to using the vendor ID string to enable the SSE optimizations it used to use on all processors. In fact I've fallen back to using an older version of the Intel compiler and let Intel know I wasn't happy, though I'm sure they could care less. We're about at renewal time for our subscription with Intel and I'd cancel it if it didn't produce such fast code for Intel cpus.
    Tyan S5397 2x X5450 16GB - SuperMicro H8DCI 2x 275 8GB - Iwill DK8X 2x Opteron 250 2GB


    Take a Kid FISHING!

  3. #3
    Joined
    Aug 2004
    Posts
    10,611

    Re: Intel's compiler cripples code on AMD and VIA chips

    It didn't use to be this way. The Intel compiler would simply look for processor capabilities like SSE2 and SSE3 (if you used the right compiler optimization switch).
    maybe with regular libraries, with the scientific libraries if intel wasn't detected it would disable all advanced features, ie SSE etc to cripple the code for non-intel cpus. It was simple to patch the detection loop but of course that would break the usage agreement. This was definitely true when sse3 was the higherst sse. Intel said they would fix it with the next version, but it was reported that it had not been when it was released.

    It doesn't surprise me at all that they are back at it.


    "The significant problems we face cannot be solved at the same level of thinking we were at when we created them."
    - Albert Einstein (1879-1955)

  4. #4
    Joined
    Nov 2001
    Location
    Montana
    Posts
    7,727

    Re: Intel's compiler cripples code on AMD and VIA chips

    I've been reading the documentation on 11.1, and will be playing with the switches to see what's what. According to the doc's I can get SSE2 and SSE3 for all architectures (even AMD's) but I know that's not happening with the switches I used to use. SSE2 is the one I really want. And no, I'm not using their MKL or any other libraries, I just want automatic generation of SSE2 code. Which is why I bought the compiler in the first place...

    But it appears if I use any of the /Qax options it defaults to regular floating point for AMD processors. This was not the case for previous versions of the compiler. Their documetation now states that if you use /arch:SSE2 you get SSE2 code that will run on any SSE2 enabled processor.
    Tyan S5397 2x X5450 16GB - SuperMicro H8DCI 2x 275 8GB - Iwill DK8X 2x Opteron 250 2GB


    Take a Kid FISHING!

  5. #5
    Joined
    Mar 2010
    Posts
    103

    Re: Intel's compiler cripples code on AMD and VIA chips

    the agreement they made with AMD to renew licence agreement (amd got money) covered this, Intels next compiler version should remove this function at least for amd cpus, I have an artical about this posted on another forum, i will quote how baddly this effects amd and other non-intel chips.

    ......."Many software developers think that the compiler is compatible with AMD processors, and in fact it is, but unbeknownst to the programmer it puts in a biased CPU dispatcher that chooses an inferior code path whenever it is running on a non-Intel processor," Fog writes, "If programmers knew this fact they would probably use another compiler. Who wants to sell a piece of software that doesn't work well on AMD processors?"

    In fact, Fog points out that even benchmarking programs are affected by this, up to a point where benchmark results can differ greatly depending on how a processor identifies itself. Ars found out that by changing the CPUID of a VIA Nano processor to AuthenticAMD you could increase performance in PCMark 2005's memory subsystem test by 10% - changing it to GenuineIntel yields a 47.4% performance improvement! There's more on that here [print version - the regular one won't load for me].......
    47.4% perf is lost due to intel compiler using vendor id checks rather then reading cpu function list......

    Intel did this to make their p4-core2 and newer look like they where raping amd based on supperior tech, when apparently they werent.......

  6. #6
    Joined
    Sep 2009
    Location
    Indiana
    Posts
    14

    Re: Intel's compiler cripples code on AMD and VIA chips

    I'm sorry, but I don't feel bad for AMD or Via. It's Intel's compiler, they'd be stupid not to give their CPUs an advantage. I wouldn't be bothered if AMD made a compiler and rigged it so their CPUs worked better than intel's, I doubt anyone else would care either.

    You've also got to be aware that anything written by Nick Farrell is usually crap. I do think he's on the right track with this article, however.

  7. #7
    Joined
    Feb 2001
    Location
    near the sea-port of Antwerp, Belgium
    Posts
    12,856

    Re: Intel's compiler cripples code on AMD and VIA chips

    .

    It 's nothing new, this knowledge; I heard of this way before now.

    I wouldn't have minded if INTEL had been honest enough to tell everyone what they did (generally); but they didn't and then they claimed, more than once, that their hardware (processors) were so much better than that of their competitors !

    They tricked everything (f.e. benchmarks) and everyone in believing this till someone checked out the compiler code and found them out ...

    If it had been known from the start, I bet some group would have created another compiler and INTEL wouldn't have had the good ride they had until a few years ago !
    Competition would have been straight and on an equal footing.


    .


    Fold with what you have, Every Work Unit will make a difference.

  8. #8
    Joined
    Nov 2001
    Location
    Montana
    Posts
    7,727

    Re: Intel's compiler cripples code on AMD and VIA chips

    Well I've been testing, and first batch of results is in.

    If I just use defaults with no /Qax Optimizations, the Intel 11.1 compiler indeed generates SSE2 code that is executed on AMD processors. About a 25-30% improvement over the MS compiler.

    If I use /QaxSSE2 or /QaxSSE3 I see the same performance as the default settings on AMD hardware. Since our code really only benefits from SSE2 I see pretty much the same performance on Intel hardware as well.

    So I'm not worried, and will continue to use Intel 11.1 for both AMD and Intel hardware.
    Tyan S5397 2x X5450 16GB - SuperMicro H8DCI 2x 275 8GB - Iwill DK8X 2x Opteron 250 2GB


    Take a Kid FISHING!

  9. #9
    Joined
    Mar 2010
    Posts
    103

    Re: Intel's compiler cripples code on AMD and VIA chips

    Quote Originally Posted by NaterM View Post
    I'm sorry, but I don't feel bad for AMD or Via. It's Intel's compiler, they'd be stupid not to give their CPUs an advantage. I wouldn't be bothered if AMD made a compiler and rigged it so their CPUs worked better than intel's, I doubt anyone else would care either.

    You've also got to be aware that anything written by Nick Farrell is usually crap. I do think he's on the right track with this article, however.
    the problem is that intel markets is compiler as the best and also part of their cross licence agreements with AMD and VIA and others include intel not pulling this kinda crap with their compiler.

    Intel lied for years saying their compiler was unbias, turns out it was to the tune of 47+% in testing done by a few sites, thats INSAIN and makes intel look FAR better then they are in reality.

    they just need to get their "fixed" compiler out.

    x64 code dosnt suffer as much as x86 for some reason but there is a perf delta, even if its far smaller then on x86 code.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •