[gmx-users] Is it possible to run implicit solvent simulations in parallel?

Mark Abraham Mark.Abraham at anu.edu.au
Wed May 4 15:44:55 CEST 2011

On 4/05/2011 11:23 PM, Justin A. Lemkul wrote:
> Ozlem Ulucan wrote:
>> Dear Gromacs Users,
>> I have been trying to simulate a protein in implicit solvent. When I 
>> used a single processor by setting -nt to 1 , I did not encounter any 
>> problem.  But when I tried to run the simulations using more than 1 
>> processor I get the following error.
>> Fatal error:
>> Constraint dependencies further away than next-neighbor
>> in particle decomposition. Constraint between atoms 2177--2179 evaluated
>> on node 3 and 3, but atom 2177 has connections within 4 bonds 
>> (lincs_order)
>> of node 1, and atom 2179 has connections within 4 bonds of node 3.
>> Reduce the # nodes, lincs_order, or
>> try domain decomposition.
>>  I  set the lincs_order parameter in .mdp file to different values. 
>> But it did not help.  I have some questions regarding the information 
>> above.

See comments about lincs_order in 7.3.18. Obviously, only smaller values 
of lincs_order can help (but if this is not obvious, please consider how 
obvious "it did not help" is :-))

>>  1) Is it possible to run implicit solvent simulations in parallel?
> Yes.
>>  2) As far as I know gromacs uses domain decomposition as default. 
>> Why does in my simulations gromacs use the particle decomposition 
>> which I do not ask for.
> Without seeing the exact commands you gave, there is no plausible 
> explanation. DD is used by default.

Not quite true, unfortunately. With the cutoffs set to zero, the use of 
the all-against-all GB loops is triggered, and that silently requires 
PD. It should write something to the log file.

> -Justin
>> Any suggestions are appreciated very much.
>>  I am ussing gromacs-4.5.4 with charmm force field and the OBC 
>> implicit solvent model. If you need further informations, probably a 
>> run input file, let me know.

A run input file would have helped me avoid guessing above about those 
cutoffs :-)

The real issue is that not all systems can be effectively parallelized 
by a given implementation. How many processors and atoms are we talking 
about? If there's not hundreds of atoms per processor, then parallelism 
is not going to be worthwhile.


More information about the gromacs.org_gmx-users mailing list