Re: Please give me a hand on understanding AMBER/MPI and locmem.

From: David Case <>
Date: Sat 3 Aug 2002 13:02:42 -0700

On Fri, Aug 02, 2002, Margaret Cheung wrote:
> I'm still using sander_classic and lately I've been trying
> to increase the array size of CN1, CN2, ASOL, BSOL listed in parms.h, due
> to
> having a large number of NTTYPE (larger than default 60) in the system.
> The forces and energies were calculated correctly if the executable
> is not compiled for parallel tasks. However, when executables were
> compiled with MPI libraries, all my outputs were wrong. (note that: if I
> don't touch parms.h, everything works fine for sander_classic).

If you change the size of the common blocks in parms.h, you also have to
edit the lines in parallel.f that broadcast this info to all nodes:

      call mpi_bcast(RK,23320,MPI_DOUBLE_PRECISION,
     + 0,MPI_COMM_WORLD,ierr)
      call mpi_bcast(IPN,1200,MPI_INTEGER,0,MPI_COMM_WORLD,ierr)

That is, the "23320" and "1200" are hardwired to the original sizes, and
need to be changed when parms.h is changed. That is, 23320 has to be set to
the total number of double precision variables in the parms common

Yes, I know this is horrible has been mostly fixed in the
current releases (but not completely....) *Surely* by release 8 it will be
completely fixed :-)

There may be some other change I'm not remembering, but I think changing
the lines above will fix your problem.


David A. Case                     |  e-mail:
Dept. of Molecular Biology, TPC15 |  fax:          +1-858-784-8896
The Scripps Research Institute    |  phone:        +1-858-784-9768
10550 N. Torrey Pines Rd.         |  home page:                   
La Jolla CA 92037  USA            |
Received on Sat Aug 03 2002 - 13:02:42 PDT
Custom Search