[gmx-developers] Reference coordinates in mdrun - Availability at all nodes

Carsten Kutzner ckutzne at gwdg.de
Wed Jan 6 13:01:35 CET 2010


On Jan 6, 2010, at 12:27 PM, David van der Spoel wrote:

> Tsjerk Wassenaar wrote:
>> Hi Carsten,
>> Thanks a lot, that seems quite useful, and comes very close to what I
>> need. To elaborate a bit more, at runtime, I only need to have
>> differences between particle positions and their respective reference
>> positions, so adaptive local indexing seems most efficient, even
>> though it requires more memory. That shouldn't be a big problem
>> though. The difference vectors are to be summed, but I'd only need to
>> communicate partial sums, and then redistribute the outcome. I'm
>> vigilant, as I don't want to compromise/break anything. Would you mind
>> to look a bit over my shoulder? I can send you a more full account of
>> what I'm doing off line...
> 
> If the simlarity between the code is sufficient, I would like to advocate to take out the communication bits from edsam.c and move them to a separate source code file, used by edsam and Tsjerk's code. In general the code that does communication is most prone to problems when changing e.g. the parallellisation scheme, and hence it is useful to minimize the amount of code doing communication. IMHO it is even worth doing some unnecessary work (e.g. copying arrays in running mdrun) in order to be able to re-use communication code.
> 
This is a good idea. In general, all approaches that make use of some
set of reference positions against which the current ones are compared
could use these routines (this would also apply to the enforced rotation
module). Maybe we could also include other useful operations on "collective"
coordinate subsets like fitting to the reference or getting the center of 
mass, or making the structure whole.

Carsten


More information about the gromacs.org_gmx-developers mailing list