[gmx-users] Identical energies generated in a rerun calculation ... but ...

Mark Abraham Mark.Abraham at anu.edu.au
Thu Apr 23 10:08:48 CEST 2009

Mark Abraham wrote:
> Luca Mollica wrote:
>> Dear users,
>> I am experiencing some troubles in using GMX 4.0.4 trying to rerun 
>> trajectories and obtaining energies for single residues and/or portion 
>> of proteins. According to the mdrun command help and to my experience 
>> with the previous versions of GROMACS, I have edited my mdp file 
>> including the desired groups for energy calculation, grompped it and 
>> reruned the previous calculation with the "original" trr trajectory.
>> I have noticed a different behaviour of mdrun plus -rerun flag between 
>> the usage of a single CPU or the original number of CPU used in the 
>> production run: that is, in the original production run I have used 24 
>> CPU (12 for PME, nosum flag used), in the trajectory rerun step I have 
>> tried to use both 24 CPU or single CPU and the result was different 
>> and in the case of parallel run "strange". The parallel rerun energy 
>> file led to an energy file made of a column of the same number, 
>> whereas the single CPU one led to a normal energy trend vs time: 
>> interestingly, the first value of this last calculation coincided with 
>> the one repeated in the previous "strange" file.
>> Hence, the single CPU recalculation works correctly, despite the fact 
>> that (as expected) it takes longer time for huge trajectories with 
>> respect to parallel run: but what's wrong with parallel rerun ? Is it 
>> a bug of the newer version of the code or am I missing something in 
>> the comprehnsion of how the rerun issue is working at code level ? It 
>> seems to be more likely a code bug ... but I wait for your comments 
>> and/or suggestions.

OK I have some confirmation of a possible bug here. Using 4.0.4 to do 
reruns on the same positions-only NPT peptide+water trajectory with the 
same run input file:

a) compiled without MPI, a single-processor rerun worked correctly, 
including "zero" KE and temperature at each frame

b) compiled with MPI, a single-processor run worked correctly, including 
zero KE and temperature, and agreed with a) within machine precision

c) compiled with MPI, a 4-processor run worked incorrectly : an 
approximately-correct temperature and plausible positive KE were 
reported, all PE terms were identical to about machine precision with 
the first step of a) and b), and the reported pressure was different.

Thus it seems that a multi-processor mdrun is not updating the structure 
for subsequent steps in the loop over structures, and/or is getting some 
  KE from somewhere that a single-processor calculation is not.

I'll step through c) with a debugger tomorrow.


More information about the gromacs.org_gmx-users mailing list