Subject: g94 and Cray T3E (or T3D)

From: [email-masked] (Grzegorz Bakalarski)

Dear CCL Readers,

From Release Notes for Guassian 94 rev. D4 I've found out that g94 is NOT supported 
by Gaussian Inc. :

     *The Cray T3D & T3E and Sun UltraSparc platforms are not 
      currently supported.

My question is: Has anybody (any center) tried to port G94 on Cray T3E (or T3D) 
platform ? What has been results ( with success or NO) ? If YES: Has it 
required much efforts ? If NO: What has been main trouble ?
Anyway, Anybody who can share any information on that subject is welcomed !
Thanks a lot, for your help.

				Grzegorz Bakalarski, Warsaw, Poland
				[email-masked]

---

From: Giovanni Scalmani <[email-masked]>
Date: Wed, 5 Feb 1997 06:40:35 -0800 (PST)

> Thanks a lot, for your help.

Dear Grzegorz,

right now I am running the test suite of g94 on a Cray-T3E.
I also ported it on Cray-T3D, but I haven't tested it deeply,
essentially because of the little (on Gaussian scale) memory
which T3D has on each processor (T3D has 8Mw/PE while T3E
has 16Mw/PE).

Some general remarks follow:

1) on Cray T3E you run applications on a pool of PEs (processing
   elements) in which there is 1 (and 1 only) process on each PE.
   Gaussian 94 uses UNIX function like execl() or the fortran
   system() call to execute the sequence of the links: on T3E
   the only way to run g94 appear to use an option of the Makefile
   which build a one-executable version of the whole Gaussian
   system ... but Gaussian, Inc. does not support that option
   anymore.
   
   I actually build such a one-executable version (>20 Mbytes)
   by looking at Gaussian92's makefile and by carefully checking
   for duplicate subroutines, functions and commons within
   the whole source code.

2) Gaussian94 can run in parallel using the fork/wait UNIX
   calls or by using Linda(tm) from Scientific Computing 
   Associate, Inc..
   
   On T3E I used MPI.

3) as a general warning I must say that Gaussian94 contains
   still a lot of serial code (it is quite puzzling to get
   into a huge and complex code like Gaussian and try to 
   parallelize it). When you use a little number of PEs, from
   2 to 8, all goes fine, but on T3E you can go far beyond 
   and, using 16, 32 or more PEs, you find out new bottlenecks
   (for example in the SCF procedure the bottleneck moves from
   integral evaluation and Fock matrix formation to matrix
   diagonalization, which is performed by a single PE while
   the others do nothing!).
   
   I am implementing the use of SCALAPACK routines within 
   my g94 on T3E and things are getting better.

4) the true limitation is again the memory available to each
   T3E processing element: into the available 16Mw you must
   find room for the operating system (quite little UNICOS/mk),
   the g94 executable (about 20Mbytes, i.e. more than 2 Mw),
   the BLACS-SCALAPACK buffer (for the moment I use 4Mw, but 
   I will try to tailor its size better) ... 

   .. so there are about 8-10 Mw left for the g94 job, which is 
   enough for many kinds of calculations, but not for all.

Sincerely,

Giovanni

P.S.: We must remember the Gaussian94 is not a public domain code.

----------------------------------------------------------------------
 ^^^ | SCALMANI Giovanni                 [email-masked]
 o o | Universita' degli Studi di Milano
  |  | Dipartimento di Chimica Fisica ed Elettrochimica
 \_/ | via C.Golgi, 19                          Phone: ++39-2-26603254
     | 20133 Milano (Italy)                     Fax  : ++39-2-70638129
----------------------------------------------------------------------