[gmx-users] poor performance of gcc3.1 compiled Gromacs on Athlon

Erik Lindahl lindahl at stanford.edu
Fri Jul 19 00:54:37 CEST 2002


mark vaughn wrote:

>I have been experimenting with a 2-node 4 cpu mini-cluster in
>preparation for a larger cluster.  Quick and dirty benchmarks indicate
>4-cpu scaling is reasonable, but when Gromaces is compiled using the new
>Gnu 3.1 compiler, performance takes a real hit, at least on the d.dppc
>For the d.dppc benchmark, Gromacs 3.1.4, system info below. MPI, FFT
>were compiled with the same compiler as Gromacs, Lam-MPI version was
>6.5.2 from RPM and 6.5.6 from source. Gromacs was configured with
>--enable-mpi --enable-float --enable-shared (--enable-shared make failed
>with icc  because of an apparent libtool incompatibility). icc used with
>-O3 flag. (*) means these were obtained directly from the log file, Real
>is in min:sec
>compiler                ps/NODE hr(*) ps/day  Real(*)
>downloads page rpms 1cpu   3.654       88.7     164:13
>gcc 3.1	 1-cpu             2.936       70.5     204:20
>icc 6.0  1-cpu             3.771       90.5     159:05
>gcc 3.1  2-cpu, smp        7.627      183.0      78:40
>icc 6.0  2-cpu  smp       10.471      251.3	 57:18 

The download page rpms are compiled with gcc-2.96 (stock compiler on 
redhat 7.2).

Just to make sure - both logfiles said that SSE innerloops were used, right?

>I am mystified about this; the reason I used gcc 3.1 to began with was
>that on one of the parallel processing software (ATLAS package for
>linear algebra)  warned of poor performance from 2.96-3.04 versions and
>suggested either pre 2.95 or 3.1. Furthermore, I thought 3.1 was a
>release to enhance performance.
I'm not too surprised. gcc-3.1 does indeed show much better performance 
gcc-3.0, but I think the general concensus is that it is stillslower 
than 2.95/2.96
in many cases, especially for Athlons.

>Any ideas? Perhaps I am just forgetting something simple. (BTW Eric
>Lindahl: I see you posted about the icc/libtool compile problem some
>time ago, were you able to resolve it?)
Yes, I hope so, but for shared libraries we might have to wait for the 
next release of libtool :-)

>system: Asus A7M266-D dual AMD motherboard,athlon, 2 MP1900+ running at
>1600 MHz, 512kDDR266 memory, IBM ATA100 drive, Mandrake 8.2, 2.4.18
>kernel, minimal services, no X, private 100Mbit network. 
I think we've had one report of somebody compiling on SuSE who got about 
20% lower
performance than our RedHat-compiled RPM, even when using the same 
compiler. Haven't
got the slightest idea way, but it shouldn't have anything to do with 
Gromacs. Perhaps a
buggy C library or something...

In general I would expect slightly (say 10%) better performance from icc 
(not much, since
the assembly loops aren't affected by the compiler). If you want to you 
can try to install
gcc-2.96 and check the performance. We don't use any special flags at 
all when building
the RPMs.



More information about the gromacs.org_gmx-users mailing list