AMD Alleges Intel Compilers Create Slower AMD Code
edxwelch writes "In AMD's recient anti-trust
lawsuit
AMD have examined the Intel compiler and found that it deliberatly runs code slower when it detects that the processor is an AMD.
"To achieve this, Intel designed the compiler to compile code
along several alternate code paths. ... By design, the
code paths were not created equally. If the program detects a "Genuine Intel" microprocessor,
it executes a fully optimized code path and operates with the maximum efficiency. However,
if the program detects an "Authentic AMD" microprocessor, it executes a different code path
that will degrade the program's performance or cause it to crash.""
If they don't like the way Intel's compiler works on their CPU's, maybe they should write their own compiler that does things better.
Absolutely right. Let AMD write their own compiler. Intel has no responsibility to help - or even not hinder - AMD.
"War is God's way of teaching Americans geography." -- Ambrose Bierce
I'm not sure I understand what the big deal is about. Intel wrote their OWN compiler optimized for their OWN product. Almost every compiler made performs slightly better on one platform or another. My company uses Lahey, PGI, Pathscale, IBM, and Intel compilers and it takes a lot of testing with each compiler to find the one that works best for a given architecture.
I guess everyone's real complaint isn't that they aren't optimizing it for AMD, but that they are purposefully sabotaging it on the AMD. My opinion is that there is nothing they can fault Intel for. According to Intel's webpage for the C++ Compiler for Windows, "Achieve outstanding application performance on Intel® processors using Intel® C++ Compiler for Windows*. The Compiler plugs into industry-leading development environments for out-of-the-box productivity." And in a footnote on that same page, "Performance depends upon the specific computer systems, components and/or measurement methods used; your results will vary."
Face it, when you buy a biased technology (read IPOD), you get the compatibility and the functionality that the large company (read Apple) wants you to have. Intel is hardly the marketplace dominator in the compiler industry.
And as a flame: stop whining that AMD's are faster than Intel's when all you have to back it up is a framerate from a Carmack game. I've used both, and I can show you a handful of instances on either platform where they blow the other away. As always, use the right tool for the job. Enough said.
Well the problem is that CGG doesn't seem to do a good job of producing optimized code. I'm not sure if this is because it needs further work, or because of the extremely portable and general nature of GCC (it can compile code to an insane number of architectures) make it impossible to optimize to the level of a specific compiler.
Whatever the case, GCC doesn't generate code as good as the ICC, nothing does. A few months ago one of the tech rags we get here had a compiler roundup featuring GCC 3 and 4, MSVC++ 6 and 7, a number of others and the ICC. GCC 4 and MSVC++ 7 were clearly better over all than most others, they fell behind sometimes, but usually they were both good, though which was better changed. Well, that is they were better than all but the ICC. It won every test, most by a large margin, some by a staggering margin.
Now I'm not a compiler writer, I have no idea why this is the case, or what difficulties are involved, but this is the case. In another more receant comparison (which I can't find the link for, sorry) a tech site did some compiler comparisons on Intel vs PPC after the announcement that Apple as going Intel. They took 10 FP tests and compiled them. GCC for the PPC managed to vectorize 1 of the 10 tests. The ICC vectorized all 10.
So maybe AMD needs to work harder on improving GCC, maybe GCC is too general to produce the real optimized code that the ICC does. Whatever, AMD really should be trying to produce their own compiler that competes with the ICC. If they made a compiler that did as good a job on Intel as the ICC and much better on AMD, you'd find most developers would use it.
The other thing it needs that GCC doesn't do is the ability to plug in to MS Visual Studio. Most Windows apps are developed in that and, for better or worse, Windows is the majority of the market for AMD and Intel. If AMD offered a drop-in replacement liek Intel does, but one that works better and perhaps was cheaper (the ICC is fairly expensive) you'd find people going to it in droves, espically game developers.
Forgive me. You're correct. The file extension on those free music files is not mp3... a distinction that I'm sure is highly significant to you and perhaps five other people.
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.