Re: intel icc compiler vs gcc 2.96

From: Christian Holm Christensen (cholm@hehi03.nbi.dk)
Date: Tue May 13 2003 - 19:12:45 EDT

  • Next message: Flemming Videbaek: "pp run-3 reconstructed data"
    Hi Betty et al,
    
    McBreen Betty <mcbreen@sgs1.hirg.bnl.gov> wrote concerning
      intel icc compiler vs gcc 2.96 [Tue, 13 May 2003 04:03:15 -0400] 
    ----------------------------------------------------------------------
    > Hello.  Since I heard that Intel compiler produces a faster program 
    > (20%), I tested it by downloading the free Intel compiler (from Intel).  
    > I compiled root version 3.03.09 on Intel Xeon 1700MHz with RH7.3 
    > (pii11).   Then, I run the standard root benchmarks, which is not 
    > complete by any means but good enough for casual check.  The below shows 
    > the results.
    > 
    > intel icc compiler  tutorials/benchmarks.C--->412 rootmarks   
    > test/bench.cxx ----> 460 rootmarks
    > gcc 2.96 compiler  tutorials/benchmarks.C--->344 rootmarks   
    > test/bench.cxx ----> 358 rootmarks
    > 
    > intel icc is 20% - 28% faster in these benchmarks.
    
    This is a slightly unfair comparison.  You should compare 
    
         GCC 3.2	   to	  Intel C++ 7.0 (icc)
         GCC 2.95.4	   to	  Intel C++ 6.0 
    
    Also, the `-O' option to `icc' means more optimisation than the
    equivalent option for GCC.  It's more like `-O2'.  Finally, one can
    pass a whole slew of options to both Intel C++ and GCC that'll
    dramatically change the speed of the resulting programs.  Of course
    how much and which options depends a lot on what kind of code you're
    compiling.  
    
    One can gain quite a lot if one passes the right architecture to GCC.
    The problem is, that Intel/AMD/... are not entirely forth coming in
    sharing their CPU detection code.
    
    Also, the I/O library of `icc' is based on a rather old GLIBC version,
    so GCC may out-perform Intel C++ in that respect. 
    
    Finally, my experience with the Intel C++ version 6.0 compiler with
    regards to the ISO/IEC standard and STL has been less than optimal.
    That may have changed in 7.0 (I haven't tried). 
    
    I'd really would like to see some serious benchmarks of the
    performance of the two compilers.   
    
    > As you can see, it is true that Intel icc compiler produces the faster 
    > program on Intel CPU machine although it is not that much.  (I do not 
    > know what would happen in AMD or other x86 compartible CPU.)  Maybe, we 
    > can ask to install it rcas during the next upgrade (this summer).
    
    I agree that RCF should be asked to install Intel C++ on the cas farm
    ASAP. I can't believe that they haven't already, after all, it's free 
    (as in beer).  
    
    The cool thing about `icc' is that it uses the same ABI (Application
    Binary Interface, meaning calling conventions, name mangling, and so
    on) as GCC 3.2+, which means that an object file compiled with one can
    be linked together with an object file compiled by the other.  Hence,
    you can compile ROOT with `icc' or GCC and you're still free to
    compile BRAT with whatever (this statement should be tested - I
    haven't done so myself yet). 
    
    > Hiro
    
    Whoops, I thought that it was Betty that wrote.   Perhaps you, Hiro,
    should refrain from using Betty's old account (I guess you need to get
    some privileges transfered to your account).  In fact, I'm a bit
    surprised that the paranoid RCF let you have access to an account
    which isn't registered in your name (it's in principle a security
    breach) - I guess they're not as paranoid as I thought they were. 
    
    Yours, 
    
     ___  |  Christian Holm Christensen 
      |_| |	 -------------------------------------------------------------
        | |	 Address: Sankt Hansgade 23, 1. th.  Phone:  (+45) 35 35 96 91
         _|	          DK-2200 Copenhagen N       Cell:   (+45) 24 61 85 91
        _|	          Denmark                    Office: (+45) 353  25 305
     ____|	 Email:   cholm@nbi.dk               Web:    www.nbi.dk/~cholm
     | |
    


    This archive was generated by hypermail 2.1.5 : Tue May 13 2003 - 19:13:47 EDT