Slashdot Mirror


PCMark Memory Benchmark Favors GenuineIntel

javy_tahu writes "A review by Ars Technica disclosed that PCMark 2005 Memory benchmark favors GenuineIntel CPUID. A VIA Nano CPU has had its CPUID changed from the original VIA to fake GenuineAMD and GenuineIntel. An improvement of, respectively, 10% and 47% of the score was seen. The reasons of this behavior of FutureMark product are not yet known."

56 of 298 comments (clear)

  1. Money by TheRealMindChild · · Score: 5, Insightful

    The reasons of this behavior of FutureMark product are not yet known

    Easy. Intel paid them to make it that way.

    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    1. Re:Money by Shadow+Wrought · · Score: 5, Funny

      Yep. They increased the L2 Cash size.

      --
      If brevity is the soul of wit, then how does one explain Twitter?
    2. Re:Money by SimonGhent · · Score: 5, Interesting

      Easy. Intel paid them to make it that way.

      If anyone can come up with a better explanation I'd be interested to hear it.

      --
      simon
    3. Re:Money by Lord_Frederick · · Score: 4, Insightful

      Even if this is an unintentional error, they have certainly lost some credibility.

    4. Re:Money by ArcherB · · Score: 5, Informative

      Easy. Intel paid them to make it that way.

      If anyone can come up with a better explanation I'd be interested to hear it.

      TFA offers the following:

      At the very least, this suggests some incredibly sloppy coding on Futuremark's part, as the company may be enabling or disabling CPU optimizations based on a processor's vendor name in CPUID instead of actually checking CPUID for SIMD support. In this case, PCMark 2005's memory subsystem test doesn't appear to be aware that Nano supports SSE2 and SSE3, and is instead running a decidedly less-optimized code path. There are two factors, however, that make this explanation a bit difficult to swallow.

      First, there's the issue of timing. PCMark 2005 was released (obviously) in 2005, and was obviously coded with an eye towards supporting current and future processors. This is standard operating procedure for Futuremark, which always builds benchmarks designed to last for at least a year, and often two. VIA's C5N-T (Nehemiah) core may have only supported MMX and 3DNow!, but the C7 launched in 2005, and that processor supported SSE2 and SSE3 from day one. Even if proper extension support wasn't built into the first version of PCM2K5, we tested version 1.2.0, and that patch was released on or around 11-29-2006.

      Second, there's the issue of performance when Nano is identified as AuthenticAMD. If performance between the AMD and Intel CPUIDs was identical, there wouldn't really be a story here, but it isn't, and that's curious. Futuremark could plausibly argue that VIA's C3/C7 processors weren't exactly on the radar back in 2004-2005, but AMD and K8 certainly were, and K8 launched with full SSE and SSE2 support, with SSE3 added in 2005.

      There's more, but I don't want to quote the entire article.

      --
      There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
    5. Re:Money by Chrisq · · Score: 4, Funny

      It is just what you'd expect with "Intel" inside ..... even inside another manufacturer's processor!

    6. Re:Money by Chrisq · · Score: 4, Funny

      Easy. Intel paid them to make it that way.

      If anyone can come up with a better explanation I'd be interested to hear it.

      OK, far-fetched it maybe but what if VIA paid them to do it so that the expose would generate a lot of free advertising and ram home the information that the Nano is faster.

      Alternatively the US military could have engineered it to distract us from the possibility that they are working for aliens and have files full of UFO data on their systems. Gosh, i'd better hack in and take a look....

    7. Re:Money by ShieldW0lf · · Score: 5, Insightful

      Moral of the story is, when you're dealing with code like this, where it has the capacity to influence who receives billions of dollars and who doesn't, well, you can't trust it if it's closed source and not subject to public scrutiny.

      Closed source test suites cannot be trusted, shouldn't even be considered by potential purchasers, and have been misleading the public for years and years. This is mute evidence to the fact.

      --
      -1 Uncomfortable Truth
    8. Re:Money by Eponymous+Cowboy · · Score: 5, Informative

      I'll give 10:1 odds that Futuremark simply compiled their benchmark with Intel's C++ compiler.

      I wrote a detailed explanation back in 2005 about how the Intel C++ compiler generates separate code paths for memory operations to make AMD processors appear significantly slower, and how you can trick the compiled code into believing your AMD processor is an Intel one to see incredibly increased performance. See this article for additional details.

      --
      It's hard for thee to kick against the pricks.
    9. Re:Money by JamesP · · Score: 4, Interesting

      Yes, I remember that...

      But why would icc make AMD better than "no name" beats me.

      --
      how long until /. fixes commenting on Chrome?
    10. Re:Money by Kamokazi · · Score: 4, Insightful

      And this is partly why I generally ignore benchmark scores, and look at real-world performance. It's possible for the benchmark or the hardware being benchmarked to 'cheat' or at least behave very differently and produce bogus scores. If i'm looking for a new video card, I don't look at 3DMark scores, I look at framerates in games that I play (or that use the same engine). If I'm looking for a CPU, I'll look at RAR compression times or video encoding speeds. If I'm looking for a storage solution at work, I look at file copy speeds of similar file quantities and sizes, or I/O performance of a similar database.

      --
      As our way of thanking you for your positive contributions to Slashdot, you are eligible to disable Slashdot 2.0.
    11. Re:Money by Anonymous Coward · · Score: 5, Funny

      Mods, while you're at it, mod me +5 insightful for pointing out that the parent post was modded +4 insightful for pointing out that its parent was redunant...

    12. Re:Money by clickclickdrone · · Score: 5, Insightful

      This is just a classic example of amateur (poster) vs professional (Intel dev team).

      Writes an (anonymous) Intel representative.

      --
      I want a list of atrocities done in your name - Recoil
    13. Re:Money by Fumus · · Score: 5, Interesting

      What I don't get is why game developers don't release freeware benchmark versions of their engines.
      Saying that a config has 9000 points is pretty much useless. Saying that it gets an average of 40FPS in the UT3 benchmark at high details, and 1680x1050 is much more informative.

      Unfortunately, this also is a little bit more complicated, and as we know everything simpler is more popular with the dumb masses.

    14. Re:Money by SirShmoopie · · Score: 3, Insightful

      Ok then, point me to an open source benchmarking program that's as complete, and I'll use it.

      Might it just be that they got the software done as cheaply as possible, marked it as ready for release as soon as they could, and never bothered to fix what was obviously a glaring flaw?

      Anyway, as an open source developer myself I don't really buy this 'open source will always be better' deal. It can only be better if the project is fortunate enough to attract quality coders and designers. There are a lot more open source programs then there are highly skilled programmers willing and able to work on them.

    15. Re:Money by ShieldW0lf · · Score: 3, Insightful

      It doesn't have to be complicated. I can see a business case for a few large game developers to collaborate on creating a modular open source test suite that would allow a user to load, run and score game-based benchmarks. The modules themselves wouldn't have to be open source for it to be effective in gauging the performance of this game on this hardware. Then, if Intel pays the publisher a fortune to make this game run faster on their hardware than the others, that wouldn't corrupt the integrity of the test, just the game.

      --
      -1 Uncomfortable Truth
    16. Re:Money by Goaway · · Score: 4, Insightful

      What I don't get is why game developers don't release freeware benchmark versions of their engines.

      Because that would require a non-trivial amount of work for no substantive payoff?

    17. Re:Money by LarsG · · Score: 3, Insightful

      And why would Intel's compiler emit code that is not x86-compliant? Code should look at cpuid feature bits, not "GenuineIntel".

      --
      If J.K.R wrote Windows: Puteulanus fenestra mortalis!
    18. Re:Money by Anonymous Coward · · Score: 5, Insightful

      Here, sir, is the Internet, which you have won fair and square.

    19. Re:Money by SanityInAnarchy · · Score: 4, Insightful

      Ok then, point me to an open source benchmarking program that's as complete, and I'll use it.

      glxgears.

      Seriously, when they are changing the results based on the vendor name, it makes any result suspect -- which makes it pretty much useless as a benchmark. At least with glxgears, while it may not be a particularly accurate benchmark, it's at least guaranteed to be fair.

      Anyway, as an open source developer myself I don't really buy this 'open source will always be better' deal.

      That's not the point of this exercise.

      Open source will not always make a better game, or a better office suite, or even a better text editor.

      But there are some kinds of software which you need to trust, and which are difficult to verify without the source. Benchmarks are one example. SSH clients are another. For these, I would not even consider a proprietary version -- it's not about features or relative quality; open source is a necessity.

      --
      Don't thank God, thank a doctor!
    20. Re:Money by Bert64 · · Score: 4, Interesting

      If your benchmark tool is going to use multiple code paths, then they should be configurable, so that you can benchmark different systems both using the same code and more optimal code. That way you'd get an idea of how much speedup various features provide.

      As an example, john the ripper's SSE2 support for cracking DES - on a core2 the SSE2 version is considerably faster and compiling the C version never comes anywhere close regardless of compiler and flags, but on an AMD compiling the generic C code with appropriate flags and a modern version of gcc produces slightly faster code.

      Running the SSE2 ver on a 2.3ghz core2 quad achieves about 2mil c/s per core, while a 2.3ghz amd phenom yields about 1.6, but compiling the C source with various flags and gcc versions makes amd slightly faster, while the core2 is nowhere close.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    21. Re:Money by Goaway · · Score: 5, Insightful

      "Everything I don't know how to do is easy!"

  2. GenuineIntel by Plantain · · Score: 5, Funny

    I'm a GenuineIntel, mod me 47% higher!

    --
    No, but I did throw granola at a deaf person once
    1. Re:GenuineIntel by Metorical · · Score: 5, Funny

      People running Intel can get Score: 7.35, Funny?

    2. Re:GenuineIntel by despe666 · · Score: 4, Funny

      If it's an intel processor doing the math, then yes

  3. Money? by IWantMoreSpamPlease · · Score: 3, Insightful

    Seems obvious, but follow the money trail, does PCMark get backing from Intel?

    --
    So rise up, all ye lost ones, as one, we'll claw the clouds.
  4. Re:Compiler Optimization? by Plantain · · Score: 3, Insightful

    This could all be explained if they compiled with something silly like ICC

    http://www.theinquirer.net/en/inquirer/news/2005/07/13/intel-compiler-nobbles-amd-chips-claim

    --
    No, but I did throw granola at a deaf person once
  5. Possible semi-benign explaination? by davidwr · · Score: 5, Insightful

    This definitely requires clarification from the creator of the benchmark.

    It is possible that the benchmark uses the CPUID to change how the benchmark works, for example, to work around known flaws in a given chip. If this is the case, then the problem is not "omyghoshitplaysfavorites" but rather lack of full disclosure that the benchmarks are not directly comparable across different chips. In the most benign scenario, this could be someone at the benchmark creator's shop forgetting to tell the documentation team. This is still a very serious issue, but it's not fraud.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:Possible semi-benign explaination? by MadKeithV · · Score: 3, Insightful

      But nothing changes in the CPU operation if you only change the reported CPUID. In the best case that means the 3DMark developers have spent a lot more optimizing for Intel specifically, applying a number of techniques that would have been just as valid for an AMD or VIA processor. They spent that effort without bothering to check the effect on the AMD and VIA specific paths, thus they did not get the same treatment as intel.
      And that's simply Intel favoritism.

  6. Re:Do I understand this correctly? by chalkyj · · Score: 4, Informative

    Is this like changing the user agent in a browser?

    Pretty much, yes.

  7. Re:Compiler Optimization? by mikeabbott420 · · Score: 4, Insightful

    Code that only used SSE3 or some such on the basis of the CPU ID might explain it but conspiracy is more fun to believe. Lies, Damn Lies and Benchmarks.

    --
    This program was made possible by a grant from the Ultra-Humanite, and viewers like you.
  8. MMX/SMD Extensions by Cassini2 · · Score: 4, Insightful

    Could it be that FutureMark uses the GenuineIntel and AMD flags to enable processor specific extensions? and then does a whole bunch of math with those extensions and never bothers to check the result?

    This would indicate some really terrible code on FutureMarks part, and VIA should be flagging those op-codes as illegal op-codes, but it might be possible that something like this could happen. It is even possible that the CPUID checks are duplicated in some library somewhere that actually gets the correct code sequence right, and the main FutureMark code disables the advanced functions of the library whenever the GenuineIntel and AMD flags are missing. Thus FutureMark may feature both code sequences that work and those that don't, and the resulting incompatibilities are what causes the issues.

    1. Re:MMX/SMD Extensions by AcidPenguin9873 · · Score: 4, Informative

      The thing is, the x86 CPUID instruction gives you many different things in EAX/EBX/ECX/EDX depending on what you put into EAX before you execute it. The "GenuineIntel"/"AuthenticAMD" strings are what you get when you put 0 in EAX. When you put 1 in EAX, you get various feature bits in ECX and EDX, such as support for SSE/SSE2/SSE3. Any code worth its salt will base any decisions on those feature bits from CPUID function 1, not on the string you get from CPUID function 0.

  9. Why are they using a benchmark they can't read? by Ed+Avis · · Score: 4, Insightful

    Why would you even consider running a benchmark program you don't have source code for and cannot compile yourself? (If you are worried about random compiler differences messing up the results, you can check an MD5 sum of the final binary against the published one, but it is important that you can reproduce the binary from source and you can read the source to find out what it does.)

    If compilers like ICC cripple their code depending on CPUID, that will just lead all manufacturers to set CPUID to GenuineIntel, just as moronic websites (with help from Microsoft) ensured that all browsers call themselves 'Mozilla'.

    --
    -- Ed Avis ed@membled.com
  10. Benchmark by Rinisari · · Score: 3, Insightful

    Well, PC Mark 2005 is no longer good for testing processors against processors of another maker, i.e. only good for intra-AMD, etc.

  11. That should be AuthenticAMD... by LiquidFire_HK · · Score: 4, Informative

    That should be AuthenticAMD, not GenuineAMD.

    But that would be expecting editors to actually, you know, edit.

  12. Re:Compiler Optimization? by neokushan · · Score: 4, Insightful

    In all likelihood, this probably IS the case, but that still goes a long way to discredit Futuremark as it shows their benchmarks were certainly NOT fairly tested.

    --
    +1 IDisagreeSoHeMustBeATrollOrAnAstroturferOrAShill
  13. Re:Additional instructions by CTho9305 · · Score: 4, Informative

    The CPUID instruction provides feature bits that software should use to determine which instructions are available. Using the vendor string is not a reasonable way of detecting the presence/absence of instruction set extensions like SSE.

  14. Numerology. by cp.tar · · Score: 3, Funny

    V+I+A == 224
    G+e+n+u+i+n+e == 715;
    Genuine+A+M+D == 925
    Genuine+I+n+t+e+l == 1223

    The bigger the number, the faster the processor. And you get 20% extra when you pass 1000.

    --
    Ignore this signature. By order.
  15. Re:Compiler Optimization? by MBCook · · Score: 4, Insightful

    You can't. That's why it was discovered now. Intel and AMD don't let you change the CPUID results on their CPUs. Via DOES let you change it. (You could hack the benchmark to change the checks, but then your results are invalid because you changed the benchmark code)

    Either way, that's not an excuse. As Ars points out, if it is just checking for something like SSE2 the Nano has that. If you want to make an optimized code path it should be based on if a feature is reported as present or not, not who made the CPU.

    It's just really REALLY fishy.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
  16. Re:Compiler Optimization? by brunascle · · Score: 3, Insightful

    Exactly, what happens when you run an AMD chip under both IDs? or an Intel?

    As TFA mentions, we cant test it. AMD and Intel lock the CPUIDs on their chips. VIA doesnt. I do think AMD should do some testing in-house though, as I'm sure they could change the CPUID themselves. Though I wouldnt be surprised if they'd already tried this long ago. I know I would have. And if there were major discrepancies, we probably would have heard about it by now.

  17. CPUIDs by bestinshow · · Score: 4, Interesting

    VIA's is "CentaurHauls"
    AMD's is "AuthenticAMD"
    Intel's is "GenuineIntel"

    There's no "VIA" nor is there "GenuineAMD".

    Clearly PCMark2005 is buggy (at the best) and cannot be used to compare different CPU families in this test. At the worst it is intentionally flawed, and shouldn't be used at all.

    It's a shame that not one VIA Nano review benchmarked the built-in Padlock functionality. Not one OpenSSL benchmark.

  18. Am I missing something? by clickclickdrone · · Score: 3, Insightful

    It's a 3+ year old benchmark being let loose on 2008 vintage CPU's and making mistakes on it's optimisations. I wouldn't expect anything else. It's going to have a 3 year old view on the kind of things these CPUs can do and will act accordingly.

    --
    I want a list of atrocities done in your name - Recoil
  19. Re:Compiler Optimization? by afidel · · Score: 5, Informative

    CPUID can be intercepted so it shouldn't be a big deal to grab the call and return whatever you want.

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  20. Re:Compiler Optimization? by lastchance_000 · · Score: 3, Informative
  21. Re:Do I understand this correctly? by Tom9729 · · Score: 4, Insightful

    That's a pretty good analogy.

    If Futuremark is indeed enabling CPU features based upon the CPUID, then this situation is a lot like the webpages that render incorrectly in Firefox unless the user agent is set to Internet Explorer.

  22. Moronic or Corrupt? by OmniGeek · · Score: 5, Insightful

    Does it really matter whether the cause was "incredibly sloppy coding" or "Intel bribed them?" Either way, their benchmark cannot be trusted, and trustworthiness is ESSENTIAL for a benchmark. If anyone pays serious attention to this (which, having read TFA, it seems to merit), then FutureMark is toast.

    --

    "My strength is as the strength of ten men, for I am wired to the eyeballs on espresso."
  23. Re:Do I understand this correctly? by enoz · · Score: 5, Funny

    GenuineIntel/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1

    I can already feel the speed!

  24. Re:Closed Source Benchmarks? by Sir_Lewk · · Score: 5, Funny

    Obviously the only real benchmark is bogomips.

    --
    "linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
  25. Re:And here's the code: by Ihlosi · · Score: 4, Funny
    aren't those the startup lines of Vista?

    No way. Vista doesn't even _try_ to run fast on any hardware.

  26. Pick me, pick me! by pxc · · Score: 3, Informative

    The Phoronix Test Suite.

    It's Linux only, but a CPU that performs better on Linux will perform better on Windows.

  27. Re:troll? really? mod up again! by deanoaz · · Score: 5, Insightful

    >>> Contrary to the claims of OSS proponents, the code isn't really more trustworthy if it's open, because not all of us are programmers. If we were (hell, even if most of us were), that'd be true. As things are, though, closed source is only slightly less trustworthy than open source.

    I disagree. At this point there is controversy. It will be explained by the vendor and people will have to either accept the explanation or not.
    If it were open source, the facts of how the code behaves could be determined by third parties and publicized. We wouldn't have to take anyone's word for it.

    --
    If 'the people' in Amendment 2 are 'the state' then Amendments 1, 2, 4, 9, and 10 benefit the state, not you.
  28. Re:troll? really? mod up again! by Dr_Barnowl · · Score: 4, Insightful

    $randomInternetDude

    If the source is open, you have multiple samples of $randomInternetDude to choose from. And it's not really random either. More like $internetDudeWithUnhealthyInterestInGameEngineProgramming, who I would expect to know a thing or two.

    And you can always learn enough to verify it for yourself, if you have the source.

    Better than trusting $corporatePrMan, anyway.

  29. Re:troll? really? mod up again! by bigstrat2003 · · Score: 3, Insightful

    Random in the sense of not knowing the person and how much you can trust them. So, to rephrase myself, $unknownInternetDude. He probably knows a thing or two, but then, so do the people who wrote this software, so that isn't really a factor. And I absolutely am not willing to trust $unknownInternetDude without a good reason. For all I know, that person is also $trojanAuthorOfDoom. It's just as unwise to trust him as it is to trust $corporatePrMan.

    --
    "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
  30. Re:troll? really? mod up again! by asmussen · · Score: 4, Insightful

    The problem with this argument is that with open source software, you don't just have to trust a single random guy for your information. When the source is open, it is often the case that MANY people in the online community will examine the code, and through discussion there emerges a consensus which is far more reliable than the opinion of just one random guy. That isn't to say that the community as a whole is never wrong, but it's vastly more trustworthy and reliable than just some $randomInternetDude.

    --
    Shawn Asmussen
  31. Agree; but could we formalize auditing more? by KWTm · · Score: 3, Interesting

    The problem with this argument is that with open source software, you don't just have to trust a single random guy for your information. When the source is open, it is often the case that MANY people in the online community will examine the code, and through discussion there emerges a consensus which is far more reliable than the opinion of just one random guy. That isn't to say that the community as a whole is never wrong, but it's vastly more trustworthy and reliable than just some $randomInternetDude.

    I agree with you.

    I was wondering if there is some way we can get code audited by the community on a more formal basis, perhaps with a bounty system and a reputation system, so that one might donate to get the KDE4 code audited by me ($10), or some KDE contributor ($300), or Linus Torvalds ($10000). Then these people could develop a formal reputation system, like + or - votes on SourceforgeAuditVoting.org. They'd use their PGP signature to sign the audits.

    Or something. I would view this as the next phase of the open source economy. Eventually companies might hire people with good reputations, to audit their own intra-company code.

    --
    404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
    [GPG key in journal]