Subject: SUMMARY: G94 under Linux

From: "C.F. Matta" <[email-masked]>
Date: Wed, 16 Dec 1998 16:53:57 -0500 (EST)

Hi there,

	Many thanks to all those who took the time to respond to my
question: D. Mariano A. Vera, Joseph W. Bausch, John McKelvey, Luis
Antonio Barbosa, Morten Langgrd, Bernd Melchers, Douglas J. Fox, and
Stefan Fau.  Their responses are listed below.  The replies seem to
point to the motherboard speed as the likely bottleneck.  If it is
replaced, I will inform you of the result - refering to this series of emails.
Thank you all again.

Cherif Matta
Grad. student, Chemistry Dept.
McMaster University,
Hamilton, Ontario, Canada, L8S 4M1

===========================================================================

ORIGINAL QUESTION:
==================
  I am running Gaussian94 and Atoms-In-Molecules (AIM) jobs on a PC and
they all seem to run too slow (both in real time and in CPU time)for the
hardware specs. Where is the bottleneck, and what hardware part(s) can be
changed to speed the calculations? I will summarize.  Thank you in
advance.

SPECIFICATIONS:
===============
Operating system:               Red Hat Linux 5.1
Processor:                      single Intel Pentium II MMX - 300MHz
Mother board:                   AX6BC
External bus clock:             66MHz
Cache:                          512K
RAM:                            320M ( 2x128M + 64M) 10-nanoseconds DIMMs
Swap space:                     237M (in two partitions, 117M and 120M)
Hard drive:                     6.4G  IDE (Quantum)

==========================================================================

REPLIES:
========

(1) From: "Lic. Domingo M. Vera" <[email-masked]>
===============================================================
  I am running G94 in two Linux boxes (Intel Pentium platformsB) and
I find quite surprising your trouble since we are very happy with the
perfomances. I have two observations about your hardware, for I/O
intensive jobs you have two bottlenecks: a 66MHz bus and IDE disks.  An
SCSI controller is the natural choice in order to take the 100% of the
possibilities of your processor running g94.
  I suggest the following:
1) Consider to recompile the kernel without K6 and R1000 processors bux
   fixing options (this is not required since you have an Intel Pentium).
2) Are you sure that the kernel detects your 320MB (issue the 'free'
   command)? Some systems needs the following options in the lilo.conf
   file as boot parameter
   append=`mem=320M`
3) I have another Pentium at home, a 300Mz one with IDE disks (very
   similar to your configuration). You can send me a (short) job for
   testing.
4) Consider an upgrade to Red Hat Linux 5.2. I done an upgrade last
   week so I'm not sure but it seems to be faster running gaussian jobs.
   Naturally, you must recompile the code.

D. Mariano A. Vera
PhD student at Computational Chemistry and Electron Transfer Group
Department of Organic Chemistry. Faculty of Chemistry Sciences.
Universidad Nacional de Cordoba, Cordoba. ARGENTINA.
Voice: 54-51-334170
Fax:   54-51-333030
[email-masked]

(2) From: "Joseph W. Bausch" <[email-masked]>
====================================================
  I need to know some run times for standard jobs to comment further.
Perhaps you can run all seven of the G94 test jobs that Gaussian
recommends to run, and summarize those times.  If you do so, some of these
jobs are actually many small calcs wrapped into one, so be sure to sum up
all the run times in the output.
  If you do this, I can tell you what a "good" PII 300 MHz system should
give, because I have these numbers tabulated.
  My guess would be if in fact your machine is slow, that the problem is
the motherboard.  Anyway, let me know if I can be of further help.

(3) From: "Joseph W. Bausch" <[email-masked]>
===================================================
>CPU times are summarized below:
>
>           log file coming      Cherif's        Joseph's 300 PII
            comming with G94     machine         machine
>           ----------------     -------         --------------
>test 001       4.2 sec         3.5 sec               3.9
>test 028       10.4 sec        12.1 sec              11.2
>test 094       39.3 sec        47.3 sec              38.7
>test 155       1 min 4.0 sec   2 min 23.1 sec       221.4*
>test 194       1 min 1.4 sec   2 min 58.9 sec       167.4
>test 296 job1  23.6  sec       28.5  sec           757* (all jobs)
>         job2  18.9  sec       27.4  sec
>         job3  31.9  sec       45.9  sec
>         job4  14.1  sec       35.1  sec
>test 302       52.0 sec        59.1 sec              52
>        
>TOTAL          319.8 sec       580.9 sec

* Note, I don't think all parts of your jobs 155 and 296 ran.  You should
check this.
  What I can see seems to be that your machine is about what is expected
for a PII 300 MHz.  My machine I think had a scsi hard disk, and this
might give slightly better numbers than say an IDE based drive.

(4) From: John McKelvey <[email-masked]>
=================================================
  Change to fast-wide SCSI disk, perhaps?
  I WOULD BE QUITE INTERESTED IN YOUR REPLIES, AS I AM FACING THE SAME
TYPE OF ISSUE...  EXCEPT WITH JAGUAR  [ A _LOT_ FASTER THAN g98 ON AN SGI
IN SINGLE PROCESSOR MODE FOR MY WORK]

(5) From: Luis Antonio Barbosa <[email-masked]>
========================================================
  It is interesting to know that Gaussian94 is slow in you case. Do you
mind to tell me the size of your system? I would like to ask also some
questions:
* Which compiler did you use to create the executable code?
* Which math libraries did you use?
   I checked in the Gaussian web, at least for the new version of Gaussian
(98), it requires a special compiler and math libraries.

(6) From: "Morten Langgrd" <[email-masked]>
==========================================================
  You will probably receive hundreds of answers to your question since
there may be many possible bottlenecks involved. Regarding G94:
Slow performance are most likely caused by: bad compilation, inefficient
use of the "mem" settings or your IDE drive. The IDE drive is only a
question if your job uses the read-write files extensively.
  I would recommend that you get hand on this paper:

	"Computational Chemistry on Commodity-Type Computers", Nicklaus, M.C.
	et al., J. Chem. Inf. Comput. Sci. 38(5), 893-905 (1998).

	http://pubs.acs.org/journals/jcisd8/index.html.

  In this paper you will find a lot of useful discussion of Linux related
compilations of G94 and benchmark results. From these figures you can
easily judge if your systems has a particular bad or just normal
preformance.

Morten Langgrd,
Dept. 814, Computational Chemistry.
H. Lundbeck A/S, Ottiliavej 9
Dk-2500 Valby, Copenhagen.
Denmark
Phone: (+45) 36 44 24 25 tone 2936, Fax: (+45) 36 30 13 85
e-mail: [email-masked]

(7) From: Bernd Melchers <[email-masked]>
=======================================================
  If you have i/o intensive jobs (great rwf or checkpoint files), you
should verify that you configured your kernel for Busmaster-DMA drivers,
if it is not the case (try "hdparm -d /dev/hda" and read the manpage
hdparm(1)). Or you could use (expensive) SCSI-disks.
  You should configure the memory usage of gaussian (sometimes less memory
results in increasing speed).
  You could use another compiler (g77 or f2c + pgcc or f2c + egcs).  This
is an option for experienced users only, as pgcc and egcs may have some
compiler errors and gaussian is not tested for these compilers.
See:
	ftp://ftp.goof.com/pub/pcg/source/	
	ftp://egcs.cygnus.com:/pub/egcs/

  Sometimes I read, that some glibc implementations has slow but more
precise math-functions. You can try to compile gaussian on a libc-5 system
and compare the speed results.

Bernd Melchers             | [email-masked]
Freie Universitaet Berlin  | "We don't write software, we compose it."
AG Macromolecular Modelling - Prof. Dr. E.W. Knapp
for more information see http://userpage.chemie.fu-berlin.de/~melchers/

(8) From: Doug Fox <[email-masked]>
====================================================
  I don't see how to address your question without some details on
what performance you see and what performance you expect.  For example
we improved performance between G94 and G98 by improving the compiler,
we utilize the Portland Group compiler, which understands the Pentium II
instruction set.  This is was good for a fairly large factor, up to about
a factor of 2 in some places, but if you are missing a factor of 10 there
may be more to this.
   On a similar note does the performance difference vary with problem
size? How?

Douglas J. Fox
Director of Technical Support
[email-masked]

(9) From: Doug Fox <[email-masked]>
====================================================
   A couple of quick comments.  Memory bandwidth, i.e. how quickly you
can access memory is better for the workstations than for PC based
systems.  This is not an issue for small cases but as the problem size
goes up it will become a bottleneck.  Also for any given case there is
an optimal memory and increasing memory beyond that may actually cause
a small decrease due to overhead in allocating memory that is never
used.  Generally this is small but on very small cases it can be
evident.
   In general water is not a good timing case any more for estimating
general performance.  Pick something with 10-15 minutes minimum on the
faster platform.  A factor of 3 does not seem out of range for an
Octane over a 300MHz Pentium.  The very small cases willdo better but
they are not too interesting.

Douglas J. Fox
Director of Technical Support
[email-masked]

(10) From: Stefan Fau <[email-masked]>
=================================================
  I'd like to throw in the experiences one of my colleagues has made.
G94 was not nice to compile on our (non-standard-)LINUX PCs, using several
FORTRAN compilers. It had unexplainable performance losses with DFT, MP3
and MP4 (it would use up to 20fold times) or would not run at all.
Our hints are: use a Fortran compiler and PII optimized BLAS routines
(pointer at GAUSSIAN.com)
With _G98_ (and new PCs) we made better experiences. On a 400 MHz PII with
512 MB RAM (compiled using PII optimized BLAS routines and PGF77) the 
runtimes are comparable to rs10k-machines (-20% to +30%, depending on the
link).

Dr. Stefan Fau
Fachbereich Chemie, AK Frenking
Philipps-Universitt Marburg
35032 Marburg, Germany
[email-masked]

==========================================================================