[gmx-developers] GMX_BARRIER in gmx_pme_do()
Carsten Kutzner
ckutzne at gwdg.de
Tue Jul 7 15:26:21 CEST 2009
On Jul 7, 2009, at 4:38 AM, Zhang Cheng wrote:
>
> Hi,
>
> I am wondering whether the GMX_BARRIER(cr->mpi_comm_mysim) calls in
> pme.c/gmx_pme_do() should be replaced by GMX_BARRIER(cr-
> >mpi_comm_mygroup), especially when there are PME only nodes. I
> understand (but I may be wrong) gmx_pme_do() is only called by a PP
> +PME or PME-only processor, so mpi_comm_mygroup should be sufficient
> in either case. On the other hand, mpi_comm_mysim will hang a PP
> only processor if PP and PME are done on separate nodes. I also
> understand GMX_BARRIER is not invoked unless BARRIERS is defined,
> but it still appears to be a little confusing to me.
Hi,
you are completely right. If you define BARRIERS in mpelogging.h the
communicators
in gmx_pme_do need to be cr->mpi_comm_mygroup, otherwise PME-only nodes
will wait forever at these barriers. This is true for all 8
GMX_BARRIER calls in
gmx_pme_do.
Carsten
--
Dr. Carsten Kutzner
Max Planck Institute for Biophysical Chemistry
Theoretical and Computational Biophysics
Am Fassberg 11, 37077 Goettingen, Germany
Tel. +49-551-2012313, Fax: +49-551-2012302
http://www.mpibpc.mpg.de/home/grubmueller/ihp/ckutzne
More information about the gromacs.org_gmx-developers
mailing list