[gmx-developers] What is the function of 'dd_collect_state' used to ?

Mark Abraham Mark.Abraham at anu.edu.au
Tue Mar 22 04:42:21 CET 2011

On 22/03/2011 2:38 PM, Yukun Wang wrote:
> Hi
>     What is the function of 'dd_collect_state' used to ?

It collects the state of the simulation system, which was distributed 
across the parallel nodes, into a single structure.

> In the md.c there is a function as:
>   dd_collect_state(cr->dd,state,state_global)
> I don't know what' the mean of it,and where was it defined.
> I want to realize a work by gromacs, that there are several 
> simulations which coulped weakly only by exchanging position 
> information of a group of atoms for every n steps, and for each 
> simulation I want to run parallelly. So the trouble is coming for each 
> simulation with domain decomposition parallelizing that this group of 
> atoms would be distributed in different node.
> How can I get those data from different nodes in the running time?  If 
> I put the self-written coulping code in the master node for each 
> simulation how I do this data gathering job?

Either you need to collect on the master node and communicate between 
them before redistributing, or write complex (but ultimately more 
scalable) code to communicate between all the processors. The REMD 
implementation should be a good model for the former.


More information about the gromacs.org_gmx-developers mailing list