Results 1 to 10 of 10

Thread: Do Intel compilers still cripple AMD processors?

  1. #1
    Join Date
    May 2008
    Beans
    70

    Do Intel compilers still cripple AMD processors?

    Just curious cause I'd rather use GCC if this is still going on. [which is open source and dang near just as fast from what i read]
    I dont need my code crashing because it's an AMD processor and underhanded business practices.
    So does anybody know if the Intel 10.1 compilers still do this?
    http://yro.slashdot.org/article.pl?s...id=118&tid=123

  2. #2
    Join Date
    Mar 2007
    Location
    Florida
    Beans
    Hidden!

    Re: Do Intel compilers still cripple AMD processors?

    AMD processors can run ICC-compiled binaries. ICC will optimize better for Intel processors (many think that they have specifically disabled faster routes on non-Intel processors). AMD processors will likely still get a better performance boost from using ICC over GCC either way.

  3. #3
    Join Date
    May 2008
    Beans
    70

    Re: Do Intel compilers still cripple AMD processors?

    Now that I've looked further into it.. it seems that it MAY still do that..
    I ran across this page and somebody was examining the compiler closely and they found binary it in that does do that.
    http://www.swallowtail.org/naughty-intel.html
    so it's probably still in 10.0 although it was in 9.0.. if anybody has anymore info let me know.
    Last edited by Silpheed2K; June 10th, 2008 at 01:10 AM.

  4. #4
    Join Date
    Mar 2007
    Location
    Florida
    Beans
    Hidden!

    Re: Do Intel compilers still cripple AMD processors?

    Well, it works for me, and is faster on my AMD processor (Not tested significantly). The only problem I had was that it was unable to run code compiled for SSE3 on my processor (-xP) when my processor has SSE3 technologies (*). Enabling SSE2 was not problematic, though.

    *
    Fatal Error: This program was not built to run on the processor in your system.
    The allowed processors are: Intel(R) Pentium(R) 4 and compatible Intel processors with Streaming SIMD Extensions 3 (SSE3) instruction support.
    $ cat /proc/cpuinfo | grep pni
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch ts fid vid ttp tm stc 100mhzsteps
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch ts fid vid ttp tm stc 100mhzsteps
    An example of this is a naive Ackermann function in GCC vs ICC.

    PHP Code:
    unsigned int naive_ackermann(unsigned int munsigned int n) {
        if(
    == 0)
            return 
    1;
        else if (
    == 0)
            return 
    naive_ackermann(11);
        else
            return 
    naive_ackermann(1naive_ackermann(m1));

    naive_ackermann(3, 12) on an AMD64.
    $gcc ack.c
    $time ./a.out
    real 0m5.630s
    user 0m5.604s
    sys 0m0.016s

    $ icc ack.c
    $ time ./a.out
    real 0m1.912s
    user 0m1.908s
    sys 0m0.000s

    $ gcc -O3 -march=k8 ack.c
    $ time ./a.out
    real 0m2.018s
    user 0m2.012s
    sys 0m0.008s

    $ icc -O3 -ipo ack.c
    ipo: remark #11001: performing single-file optimizations
    ipo: remark #11005: generating object file /tmp/ipo_iccc2I5K5.o
    $ time ./a.out
    real 0m1.792s
    user 0m1.792s
    sys 0m0.000s

    $ icc -O3 -ipo -xW ack.c
    ipo: remark #11001: performing single-file optimizations
    ipo: remark #11005: generating object file /tmp/ipo_icc8gRGBQ.o
    $ time ./a.out
    real 0m1.698s
    user 0m1.700s
    sys 0m0.004s

  5. #5
    Join Date
    Mar 2007
    Location
    Florida
    Beans
    Hidden!

    Re: Do Intel compilers still cripple AMD processors?

    Quote Originally Posted by Silpheed2K View Post
    Now that I've looked further into it.. it seems that it MAY still do that..
    I ran across this page and somebody was examining the compiler closely and they found binary it in that does do that.
    http://www.swallowtail.org/naughty-intel.html
    so it's probably still in 10.0 although it was in 9.0.. if anybody has anymore info let me know.
    I would hardly call this crippling;
    I've applied the patch on that website. It seemingly enables me to compile an SSE3 binary properly. Here are the results:
    $ icc -O3 -ipo -xP ack.c
    ipo: remark #11001: performing single-file optimizations
    ipo: remark #11005: generating object file /tmp/ipo_iccZqNC7g.o
    $ time ./a.out
    real 0m1.621s
    user 0m1.612s
    sys 0m0.000s

  6. #6
    Join Date
    May 2008
    Beans
    70

    Re: Do Intel compilers still cripple AMD processors?

    Quote Originally Posted by Phenax View Post
    I would hardly call this crippling;
    I've applied the patch on that website. It seemingly enables me to compile an SSE3 binary properly. Here are the results:
    That's the point of the patch... so it doesn't restrict certain functions and optimizations to Intel processors only.
    What version of the intel compiler did you patch? I wonder if it will work for me and I have 10.1
    Last edited by Silpheed2K; June 10th, 2008 at 04:37 AM.

  7. #7
    Join Date
    Mar 2007
    Location
    Florida
    Beans
    Hidden!

    Re: Do Intel compilers still cripple AMD processors?

    Quote Originally Posted by Silpheed2K View Post
    That's the point of the patch... so it doesn't restrict certain functions and optimizations to Intel processors only.
    What version of the intel compiler did you patch? I wonder if it will work for me and I have 10.1
    It will work for 10.1. Stick it in icc/lib directory and run it.

  8. #8
    Join Date
    May 2008
    Beans
    70

    Re: Do Intel compilers still cripple AMD processors?

    I'm trying to run it but some some reason it keeps saying libirc.a not found when i enter
    Code:
    sudo perl '/opt/intel/cc/10.1.015/lib/intel_check_patch'
    I see the file sitting right there
    Last edited by Silpheed2K; June 10th, 2008 at 07:47 AM.

  9. #9
    Join Date
    Mar 2007
    Location
    Florida
    Beans
    Hidden!

    Re: Do Intel compilers still cripple AMD processors?

    Quote Originally Posted by Silpheed2K View Post
    I'm trying to run it but some some reason it keeps saying libirc.a not found when i enter
    Code:
    sudo perl '/opt/intel/cc/10.1.015/lib/intel_check_patch'
    I see the file sitting right there
    Try to cd to /opt/intel/cc/10.1.015/lib and then do perl intel_check_patch

  10. #10
    Join Date
    May 2008
    Beans
    70

    Re: Do Intel compilers still cripple AMD processors?

    Thanks that did the trick.. I'm glad at least we both got something out of this.. thanks for the help.

    Here's the output (also for anybody who runs across this on a search)
    Code:
    rex@rex-desktop:~$ cd /opt/intel/cc/10.1.015/lib
    rex@rex-desktop:/opt/intel/cc/10.1.015/lib$ sudo perl intel_check_patch
    [sudo] password for rex:
    Patching compiler libraries...
    Patching libiomp5.a in 6 places...Patch operation successful, original file at 'libiomp5.a.orig'
    Patching libguide_stats.so in 6 places...Patch operation successful, original file at 'libguide_stats.so.orig'
    Patching libguide.so in 6 places...Patch operation successful, original file at 'libguide.so.orig'
    Patching libirc_fp.a in 3 places...Patch operation successful, original file at 'libirc_fp.a.orig'
    Patching libomp_db.so in 3 places...Patch operation successful, original file at 'libomp_db.so.orig'
    Patching libiompprof5.so in 6 places...Patch operation successful, original file at 'libiompprof5.so.orig'
    Patching libguide.a in 6 places...Patch operation successful, original file at 'libguide.a.orig'
    Patching libirc.so in 3 places...Patch operation successful, original file at 'libirc.so.orig'
    Patching libirc_pic.a in 3 places...Patch operation successful, original file at 'libirc_pic.a.orig'
    Patching libimf.so in 3 places...Patch operation successful, original file at 'libimf.so.orig'
    Patching libiompprof5.a in 6 places...Patch operation successful, original file at 'libiompprof5.a.orig'
    Patching libiomp5.so in 6 places...Patch operation successful, original file at 'libiomp5.so.orig'
    Patching libsvml.so in 3 places...Patch operation successful, original file at 'libsvml.so.orig'
    Patching libirc.a in 3 places...Patch operation successful, original file at 'libirc.a.orig'
    Patching libguide_stats.a in 6 places...Patch operation successful, original file at 'libguide_stats.a.orig'

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
  •