Results 1 to 25 of 48

Thread: Strange trend with GPU and CPU combo

Threaded View

  1. #27
    Xtreme Cruncher
    Join Date
    Jun 2006
    Posts
    6,215
    http://aceshardware.freeforums.org/post5566.html#p5566
    Quote Originally Posted by Opteron@Aces
    As mentioned before, I thought that Intel stopped the "intel only" coding with that version, as AMD is using it against intel in the ongoing lawsuit:
    125. Intel has designed its compiler purposely to degrade performance when a program is run on an AMD platform. To achieve this, Intel designed the compiler to compile code along several alternate code paths. Some paths are executed when the program runs on an Intel
    platform and others are executed when the program is operated on a computer with an AMD microprocessor. (The choice of code path is determined when the program is started, using a feature known as “CPUID” which identifies the computer’s microprocessor.) 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.
    http://redirectingat.com/?id=593X100..._Complaint.pdf

    Now this
    http://aceshardware.freeforums.org/post5584.html#p5584
    Quote Originally Posted by Agner Fog@Aces
    I just tried Intel C++ compiler version 10.1 with option /QxO as you suggested. It generates the following versions of code for common mathematical functions: SSE2, SSE3, SSE4.1 and non-Intel SSE2. It doesn't work on any CPU prior to SSE2. This is the only compiler option that makes it run reasonably on an AMD, but why are there two different SSE2 versions, one for Intel and one for AMD? When I hack the CPU-dispatcher and makes it believe that it is an Intel, it runs 50 - 100 % faster. This means that the Intel-SSE2 version is faster than the AMD-SSE2 version when running on an AMD processor!

    There are also options that work on any processor. For example /QaxB. This options runs non-vectorized SSE2 code on Intel processors and old 8087 code on AMD processors. I measured this to be 5-10 times slower than the /QxO option on an AMD Opteron.
    Last edited by informal; 09-16-2009 at 06:11 AM.

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
  •