Page 1 of 8 1234 ... LastLast
Results 1 to 25 of 190

Thread: Intel's "cripple AMD" function:Will Intel be forced to remove the "cripple AMD" funct

  1. #1
    Xtreme Cruncher
    Join Date
    Jun 2006
    Posts
    6,215

    Intel's "cripple AMD" function:Will Intel be forced to remove the "cripple AMD" funct

    Latest blog by Agner Fog.Summarizes everything he has collected thus far,in one big blog post with the resources listed at the end of the article.

    Excerpt :
    Author: Agner Fog Date: 2009-12-30 10:22
    Will Intel be forced to remove the "cripple AMD" function from their compiler?

    Many software programmers consider Intel's compiler the best optimizing compiler on the market, and it is often the preferred compiler for the most critical applications. Likewise, Intel is supplying a lot of highly optimized function libraries for many different technical and scientific applications. In many cases, there are no good alternatives to Intel's function libraries.

    Unfortunately, software compiled with the Intel compiler or the Intel function libraries has inferior performance on AMD and VIA processors. The reason is that the compiler or library can make multiple versions of a piece of code, each optimized for a certain processor and instruction set, for example SSE2, SSE3, etc. The system includes a function that detects which type of CPU it is running on and chooses the optimal code path for that CPU. This is called a CPU dispatcher. However, the Intel CPU dispatcher does not only check which instruction set is supported by the CPU, it also checks the vendor ID string. If the vendor string says "GenuineIntel" then it uses the optimal code path. If the CPU is not from Intel then, in most cases, it will run the slowest possible version of the code, even if the CPU is fully compatible with a better version.

    I have complained about this behavior for years, and so have many others, but Intel have refused to change their CPU dispatcher. If Intel had advertised their compiler as compatible with Intel processors only, then there would probably be no complaints. The problem is that they are trying to hide what they are doing. 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. 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?

    Because of their size, Intel can afford to put more money into their compiler than other CPU vendors can. The Intel compiler is relatively cheap, it has superior performance, and the support is excellent. Selling such a compiler is certainly not a profitable business in itself, but it is obviously intended as a way of supporting Intel's microprocessors. There would be no point in adding new advanced instructions to the microprocessors if there were no tools to use these instructions. AMD is also making a compiler, but the current version supports only Linux, not Windows.

    Various people have raised suspicion that the biased CPU dispatching has made its way into common benchmark programs (link link). This is a serious issue indeed. We know that many customers base their buying decision on published benchmark results, and a biased benchmark means an unfair market advantage worth billions of dollars.


    The legal battle

    AMD have sued Intel for unfair competition at least since 2005, and the case has been settled in November 2009. This settlement deals with many issues of unfair competition, apparently including the Intel compiler. The settlement says:

    2.3 TECHNICAL PRACTICES

    Intel shall not include any Artificial Performance Impairment in any Intel product or require any Third Party to include an Artificial Performance Impairment in the Third Party’s product. As used in this Section 2.3, “Artificial Performance Impairment” means an affirmative engineering or design action by Intel (but not a failure to act) that (i) degrades the performance or operation of a Specified AMD product, (ii) is not a consequence of an Intel Product Benefit and (iii) is made intentionally to degrade the performance or operation of a Specified AMD Product. For purposes of this Section 2.3, “Product Benefit” shall mean any benefit, advantage, or improvement in terms of performance, operation, price, cost, manufacturability, reliability, compatibility, or ability to operate or enhance the operation of another product.

    In no circumstances shall this Section 2.3 impose or be construed to impose any obligation on Intel to (i) take any act that would provide a Product Benefit to any AMD or other non-Intel product, either when such AMD or non-Intel product is used alone or in combination with any other product, (ii) optimize any products for Specified AMD Products, or (iii) provide any technical information, documents, or know how to AMD.

    This looks like a victory for AMD. If we read "any Intel product" as Intel's compilers and function libraries, "any Third Party" as programmers using these compilers and libraries, and "Artificial Performance Impairment" as the CPU dispatcher checking the vendor ID string; then the settlement puts an obligation on Intel to change their CPU dispatcher. I will certainly check the next version of Intel's compiler and libraries to see if they have done so or they have found a loophole in the settlement.

    Interestingly, this is not the end of the story. Only about one month after the AMD/Intel settlement, the US Federal Trade Commission (FTC) filed an antitrust complaint against Intel. The accusations in the FTC complaint are unusually strong:

    Intel sought to undercut the performance advantage of non-Intel x86 CPUs relative to Intel x86 CPUs when it redesigned and distributed software products, such as compilers and libraries.
    [...]
    To the public, OEMs, ISVs, and benchmarking organizations, the slower performance of non-Intel CPUs on Intel-compiled software applications appeared to be caused by the non-Intel CPUs rather than the Intel software. Intel failed to disclose the effects of the changes it made to its software in or about 2003 and later to its customers or the public. Intel also disseminated false or misleading documentation about its compiler and libraries. Intel represented to ISVs, OEMs, benchmarking organizations, and the public that programs inherently performed better on Intel CPUs than on competing CPUs. In truth and in fact, many differences were due largely or entirely to the Intel software. Intel’s misleading or false statements and omissions about the performance of its software were material to ISVs, OEMs, benchmarking organizations, and the public in their purchase or use of CPUs. Therefore, Intel’s representations that programs inherently performed better on Intel CPUs than on competing CPUs were, and are, false or misleading. Intel’s failure to disclose that the differences were due largely to the Intel software, in light of the representations made, was, and is, a deceptive practice. Moreover, those misrepresentations and omissions were likely to harm the reputation of other x86 CPUs companies, and harmed competition.
    [...]
    Some ISVs requested information from Intel concerning the apparent variation in performance of identical software run on Intel and non-Intel CPUs. In response to such requests, on numerous occasions, Intel misrepresented, expressly or by implication, the source of the problem and whether it could be solved.
    [...]
    Intel’s software design changes slowed the performance of non-Intel x86 CPUs and had no sufficiently justifiable technological benefit. Intel’s deceptive conduct deprived consumers of an informed choice between Intel chips and rival chips, and between Intel software and rival software, and raised rivals’ costs of competing in the relevant CPU markets. The loss of performance caused by the Intel compiler and libraries also directly harmed consumers that used non-Intel x86 CPUs.

    The remedy that the FTC asks for is also quite farreaching:

    Requiring that, with respect to those Intel customers that purchased from Intel a software compiler that had or has the design or effect of impairing the actual or apparent performance of microprocessors not manufactured by Intel ("Defective Compiler"), as described in the Complaint:

    1. Intel provide them, at no additional charge, a substitute compiler that is not a Defective Compiler;
    2. Intel compensate them for the cost of recompiling the software they had compiled on the Defective Compiler and of substituting, and distributing to their own customers, the recompiled software for software compiled on a Defective Compiler; and
    3. Intel give public notice and warning, in a manner likely to be communicated to persons that have purchased software compiled on Defective Compilers purchased from Intel, of the possible need to replace that software.

    Maybe the FTC has decided that the AMD/Intel settlement was not a fair and sufficient remedy against Intel's monopoly behavior? The settlement compensates AMD, but not VIA and other microprocessor vendors, and not the customers who have been harmed by insufficient competition and by the "defective" software produced with the Intel compiler.


    My own findings ...
    Continued at the link.

  2. #2
    Xtreme Member
    Join Date
    Apr 2008
    Posts
    239
    Let's hope that the Intel-AMD settlement put an end to this crap.

  3. #3
    Xtreme Enthusiast
    Join Date
    Nov 2009
    Posts
    526
    AKM ftc made their demands after AMD-Intel deal.

    And where I stand, it seems its right way.

  4. #4
    I am Xtreme
    Join Date
    Dec 2008
    Location
    France
    Posts
    9,060
    Is this even true? Really hard to believe.
    Donate to XS forums
    Quote Originally Posted by jayhall0315 View Post
    If you are really extreme, you never let informed facts or the scientific method hold you back from your journey to the wrong answer.

  5. #5
    Xtreme Cruncher
    Join Date
    Jun 2006
    Posts
    6,215
    Quote Originally Posted by zalbard View Post
    Is this even true? Really hard to believe.
    Unfortunately it's true.

  6. #6
    Xtreme Enthusiast
    Join Date
    Dec 2008
    Posts
    560


    So in other words, Intel's Performance edge, could be all unfair optimizations

    So this is why my socket 939 still "feels" faster then my quad core 775

    On second thought, doesn't Nvidia do this all the time anyway?

    Intel should just rename its optimizations to, Intel, the way its meant to be played
    Last edited by Greg83; 01-01-2010 at 07:49 AM.

  7. #7
    Banned
    Join Date
    Jun 2009
    Posts
    348
    thats why i never trust closed-source benchmarketing software.
    and rarely do they even represent real-world workloads.

    =)

  8. #8
    Xtreme Addict
    Join Date
    Jun 2007
    Location
    Thessaloniki, Greece
    Posts
    1,307
    Quote Originally Posted by zalbard View Post
    Is this even true? Really hard to believe.
    It is. There has been extensive evidence provided by Agner Fog, who is a Professor at the University of Copenhagen iirc, and others.
    Seems we made our greatest error when we named it at the start
    for though we called it "Human Nature" - it was cancer of the heart
    CPU: AMD X3 720BE@ 3,4Ghz
    Cooler: Xigmatek S1283(Terrible mounting system for AM2/3)
    Motherboard: Gigabyte 790FXT-UD5P(F4) RAM: 2x 2GB OCZ DDR3 1600Mhz Gold 8-8-8-24
    GPU:HD5850 1GB
    PSU: Seasonic M12D 750W Case: Coolermaster HAF932(aka Dusty )

  9. #9
    Xtreme Enthusiast
    Join Date
    Dec 2008
    Posts
    560
    Doesn't this also effect "real world" workloads too?
    Cause what this is saying, is the Intel compiler, which is very wide spread, across the board.
    Cripples, not intel cpu's performance.

    So its like, Nvidia, the way its meant to be played, disabling things when an ati card is detected, like Physx.

    So basically, from what I am gathering, its the same deal, but was done in stealth by Intel and now encompases much of the software and games, that are used as "real world" examples of performance, which they are not, due to being compiled using the Intel compiler?

  10. #10
    Xtreme Addict
    Join Date
    Jun 2007
    Location
    Thessaloniki, Greece
    Posts
    1,307
    Quote Originally Posted by Greg83 View Post
    Doesn't this also effect "real world" workloads too?
    Cause what this is saying, is the Intel compiler, which is very wide spread, across the board.
    Cripples, not intel cpu's performance.

    So its like, Nvidia, the way its meant to be played, disabling things when an ati card is detected, like Physx.

    So basically, from what I am gathering, its the same deal, but was done in stealth by Intel and now encompases much of the software and games, that are used as "real world" examples of performance, which they are not, due to being compiled using the Intel compiler?
    You can override the default settings by using switches, but the behaviour described in the article is the default.
    Seems we made our greatest error when we named it at the start
    for though we called it "Human Nature" - it was cancer of the heart
    CPU: AMD X3 720BE@ 3,4Ghz
    Cooler: Xigmatek S1283(Terrible mounting system for AM2/3)
    Motherboard: Gigabyte 790FXT-UD5P(F4) RAM: 2x 2GB OCZ DDR3 1600Mhz Gold 8-8-8-24
    GPU:HD5850 1GB
    PSU: Seasonic M12D 750W Case: Coolermaster HAF932(aka Dusty )

  11. #11
    Xtreme Enthusiast
    Join Date
    Jun 2005
    Posts
    960
    There were suspicions and evidence since long ago.

    In 2005:
    http://techreport.com/discussions/8547
    His solution? Patch the compiler to sidestep the CPU check, and run a few quick benchmarks.
    He finds that "patching out the 'GenuineIntel' check makes no difference to the P4, but increases the performance of the Opteron by up to 10%."

  12. #12
    Xtreme Addict
    Join Date
    Jan 2005
    Posts
    1,366
    It is known for ages that Intels compiler optimizations works only on Intel's cpus. I don't know if it is legal or not (personaly I think it is legal since Intel is not required to test its compiler optimization on cpus from a different vendors), but it seems that all this stuff about "Intel monopoly position" is out of all proportions. Intel's compiler market share is close to absolute zero and it mostly used in some HPC apps.

  13. #13
    Xtreme Enthusiast
    Join Date
    Feb 2005
    Posts
    970
    Yeah it's pathetic. And people have the gall to criticize AMD for 'not competing'.

    Intel's compiler market share is close to absolute zero and it mostly used in some HPC apps.
    You have to be joking, right? I must have missed the sarcasm here.
    Last edited by flippin_waffles; 01-01-2010 at 08:19 AM.

  14. #14
    Xtreme Enthusiast
    Join Date
    Oct 2007
    Location
    Singapore
    Posts
    970
    Quote Originally Posted by Greg83 View Post


    So in other words, Intel's Performance edge, could be all unfair optimizations

    So this is why my socket 939 still "feels" faster then my quad core 775

    On second thought, doesn't Nvidia do this all the time anyway?

    Intel should just rename its optimizations to, Intel, the way its meant to be played

    benchmarking software were not a really fair performance comparison between processors as the developer will favor one micro-processor manufacturer over the other
    Main Rig:
    Processor & Motherboard:AMD Ryzen5 1400 ' Gigabyte B450M-DS3H
    Random Access Memory Module:Adata XPG DDR4 3000 MHz 2x8GB
    Graphic Card:XFX RX 580 4GB
    Power Supply Unit:FSP AURUM 92+ Series PT-650M
    Storage Unit:Crucial MX 500 240GB SATA III SSD
    Processor Heatsink Fan:AMD Wraith Spire RGB
    Chasis:Thermaltake Level 10GTS Black

  15. #15
    Xtreme Addict
    Join Date
    Jan 2005
    Posts
    1,366
    Quote Originally Posted by flippin_waffles View Post
    You have to be joking, right? I must have missed the sarcasm here.
    Do you know at least one general purpose software compiled with Intel compiler and optimization switchers? Any way Intel compiler not even close in popularity to microsoft compilers or gcc. Also no programmers will use architecture optimization switchers until they exactly know who and where will use theirs software.

  16. #16
    Xtreme Enthusiast
    Join Date
    Feb 2005
    Posts
    970
    No I can't but i'll take a guess at PCMark, SiSandra, and Bapco products to name a few.

  17. #17
    Xtreme Addict
    Join Date
    Jun 2006
    Posts
    1,820
    Is there any compiler which provides better performance on AMD than Intel's? Why not use it if there is? If there isn't, stop complaining and make your own.

    There's a diff between cripple and not-use-best.
    P5E64_Evo/QX9650, 4x X25-E SSD - gimme speed..
    Quote Originally Posted by MR_SmartAss View Post
    Lately there has been a lot of BS(Dave_Graham where are you?)

  18. #18
    Xtreme Addict
    Join Date
    Jan 2005
    Posts
    1,366
    Quote Originally Posted by flippin_waffles View Post
    No I can't but i'll take a guess at PCMark, SiSandra, and Bapco products to name a few.
    Oooo... we finally found who is responsible for lower performance of AMD processors. Great satan Intel compiled all programs with its evil compiler.

  19. #19
    Xtreme Enthusiast
    Join Date
    Feb 2005
    Posts
    970
    You can dismiss my opinion all you want, but i'd be interested in seeing you debate Agner Fog's findings with him. You can write a comment at his blog site, i'd sure like to read that exchange.

    BTW, I dont' believe I ever said that is what is responsible for lower performance of AMD processors on all benchmarks. But as Alfaunits aluded to above, why did they cripple performance for non intel processors if they didn't need to?

  20. #20
    Xtreme Addict
    Join Date
    May 2005
    Posts
    1,656
    Quote Originally Posted by alfaunits View Post
    Is there any compiler which provides better performance on AMD than Intel's? Why not use it if there is? If there isn't, stop complaining and make your own.

    There's a diff between cripple and not-use-best.
    Totally agree with you, I'm going to take my toyota to a honda garage to get it tweaked for optimal performance.

    As if this would even change the landscape in regards to cpu performance, is nobody optimized for AMD then...
    Work Rig: Asus x58 P6T Deluxe, i7 950 24x166 1.275v, BIX2/GTZ/D5
    3x2048 GSkill pi Black DDR3 1600, Quadro 600
    PCPower & Cooling Silencer 750, CM Stacker 810

    Game Rig: Asus x58 P6T, i7 970 24x160 1.2v HT on, TRUE120
    3x4096 GSkill DDR3 1600, PNY 660ti
    PCPower & Cooling Silencer 750, CM Stacker 830

    AMD Rig: Biostar TA790GX A2+, x4 940 16x200, stock hsf
    2x2gb Patriot DDR2 800, PowerColor 4850
    Corsair VX450

  21. #21
    Xtreme Addict
    Join Date
    Mar 2007
    Location
    United Kingdom
    Posts
    1,597
    I do not see why Intel should have to buy in a shed load of competitor products just to test their own "Intel compiler's" on them. If AMD were to make their own compiler which was of equal quality then I for one would not be moaning if performance was less on my superior Intel CPU as the reality is the software is not optimised for it.
    If on the other hand AMD offered to pay intel X $'s to test the compiler on their CPU's and Intel rejected this offer THEN I would see what all the fuss is about.
    But for now it is just a load of hot air.
    The same argument goes for those who were miffed about no FSAA in Batman AA. The reason for this was that nVidia contributed cards and code for the developers to test on. IF ATi had did the same I am sure the game would also support FSAA for them.
    John
    Stop looking at the walls, look out the window

  22. #22
    Xtreme Addict
    Join Date
    Apr 2007
    Posts
    2,128
    Quote Originally Posted by alfaunits View Post
    Is there any compiler which provides better performance on AMD than Intel's? Why not use it if there is? If there isn't, stop complaining and make your own.

    There's a diff between cripple and not-use-best.
    Sorry sir, but not-use-best IS intentionally crippling performance.

    Of course it is for Intel's best interests to make sure that their hardware performs better, so it is LOGICAL for them to do this. I completely understand why. However, I also think that something like this should not happen at all.

    Do you get it now?

    OTOH, what does Intel's commercial, closed-source C/C++ compilers offer that free, open-source GCC doesn't? According to this(GCC C vs. Intel C compiler) GCC C compiler is about just as fast and a bit more memory efficient. Though, the same can't be said for GCC C++ compiler vs. Intel C++ compiler, which can be verified here. GCC C++ compiler does not seem to be very optimal in it's memory usage when compared to Intel's offering. I don't know if it's Intels C++ compiler being extremely good or GCC's C++ compiler being poor, but I guess it's both. Most Unix software is written in C, so C++ doesn't play a big role there. On Windows it's the contrary, especially in games.

    Though, note that the benchmark results are more or less out-of-date, so to say. There aren't up to date results for Intel compilers, so that is the most recent valid information.

  23. #23
    Xtreme Enthusiast
    Join Date
    Nov 2009
    Posts
    526
    Quote Originally Posted by JohnZS View Post
    I do not see why Intel should have to buy in a shed load of competitor products just to test their own "Intel compiler's" on them. If AMD were to make their own compiler which was of equal quality then I for one would not be moaning if performance was less on my superior Intel CPU as the reality is the software is not optimised for it.
    If on the other hand AMD offered to pay intel X $'s to test the compiler on their CPU's and Intel rejected this offer THEN I would see what all the fuss is about.
    But for now it is just a load of hot air.
    The same argument goes for those who were miffed about no FSAA in Batman AA. The reason for this was that nVidia contributed cards and code for the developers to test on. IF ATi had did the same I am sure the game would also support FSAA for them.
    John
    Point was that even if specific amd cpu has extensions available, the compiled path does not use that extension. Then when specific intel cpu has same extension compiled path will use that extension.

    There is no need to test something that is working, it will be broken only if either claims that cpu is working according to specs, but aint.

    Very unethical.

  24. #24
    Xtreme Member
    Join Date
    Jan 2008
    Location
    Shin Osaka, Japan
    Posts
    152
    I skimmed over some of the points in the OP, but can I ask whether or not the topic of AMD's processor performance improving under the Intel compiler verses other compilers like the GCC was mentioned?

    IIRC, both Intel and AMD receive performance boosts using the Intel compiler verses public compilers, it's just that since Intel developed their own compiler naturally they would make sure that more performance would be extracted from Intel processors.

    Mountain out of a molehill IMO.
    Quote Originally Posted by flippin_waffles on Intel's 32nm process and new process nodes
    1 or 2 percent of total volume like intel likes to do. And with the trouble intel seems to be having with they're attempt, it [32nm] doesn't look like a very mature process.
    AMD has always been quicker to a mature process and crossover point, so by the time intel gets their issues and volume sorted out, AMD won't be very far behind at all.

  25. #25
    Xtreme Guru
    Join Date
    Apr 2005
    Location
    Finland
    Posts
    4,308
    Most fair it would be if there existed a standardized compiler. Unfortunately I don't see that happen, maybe only if EUs brave enough to again sue Intel with a huge fine.

    BUT before doing any quick assumptions here, has any1 actually seen any comparisions with different compilers how it affects AMD and Intel performance? Well I haven't... That would be a good start to actually provide some accurate as possible testing results into this matter... THEN we can talk.
    Last edited by RPGWiZaRD; 01-01-2010 at 10:51 AM.
    Intel? Core i5-4670K @ 4.3 GHz | ASRock Extreme6 Z87 | G.Skill Sniper 2x8GB @ DDR4-1866 CL9 | Gigabyte GTX 970 OC Windforce 3x | Super Flower Titanium 1000W | ViewSonic VX2268wm 120Hz LCD | Phanteks PH-TC14PE | Logitech MX-518 | Win 7 x64 Professional | Samsung 850 EVO & 840 Pro SSDs

    If all people would share opinions in an objective manner, the world would be a friendlier place

Page 1 of 8 1234 ... LastLast

Bookmarks

Bookmarks

Posting Permissions

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