On Wed, 2015-01-28 at 08:37 +0100, Giovanni Bussi wrote:
> Dear all,
>
> I am working on the sander+plumed interface (sander 14 and plumed 2.1). I
> managed to do it for serial and parallel runs, patch is available since
> plumed 2.1.1. However, I would like to make plumed also compatible with
> multisander. I need that for multiple-walkers metadynamics, so I don't
> really need to understand remd code (not yet, but I might be back with
> further questions later on).
>
> What plumed needs is a communicator with the first process of each group.
> After a few trials I guessed commmaster to be the correct communicator, and
> everything seems to work. However, I noticed that when running normal
> sander (i.e. no multisander) commmaster has size != 1, which was unexpected
> to me.
>
> The workaround I used so far is:
> 1. M= size of commmaster
> 2. S= size of commsander
> 3. W= size of commworld
>
> if (M > 1 && S*M==W), then I enable multiple replicas, using communicator
> commmaster
>
> Notice that all of this goes into runmd.F90
>
> Is this correct? Or maybe there is some simpler and more robust way to
> detect if multisander is on?
There is a simpler way. Use the "numgroup" variable from the
file_io_dat module (file_io_dat.F90). This will be the same as the size
of commmaster when there is more than 1 group. But when there is only 1
group, it will be set to 1 (by contrast, commmaster is never initialized
when it is not needed).
Hope this helps,
Jason
--
Jason M. Swails
BioMaPS,
Rutgers University
Postdoctoral Researcher
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed Jan 28 2015 - 06:30:02 PST