[gmx-users] Identical energies generated in a rerun calculation ... but ...
Berk Hess
gmx3 at hotmail.com
Fri Apr 24 11:45:53 CEST 2009
Hi,
I can fix, but I am currently very busy, so it might take some time.
Berk
> Date: Fri, 24 Apr 2009 17:56:56 +1000
> From: Mark.Abraham at anu.edu.au
> To: gmx-users at gromacs.org
> Subject: Re: [gmx-users] Identical energies generated in a rerun calculation ... but ...
>
> Mark Abraham wrote:
> >
> > 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.
>
> d) compiled with MPI, a 4-processor run using particle decomposition
> worked correctly, agreeing with a).
>
> Further, c) has the *same* plausible positive KE at each step.
>
> From stepping through a run, I think the rerun DD problem arises in
> that a rerun loads the data from the rerun trajectory into rerun_fr, and
> later copies those into state, and not into state_global. state_global
> is initialized to that of the .tpr file (which *has* velocities), which
> is used for the DD initialization, and state_global is never
> subsequently updated. So, for each rerun step, the same .tpr state gets
> propagated, which leads to all the symptoms I describe above. The KE
> comes from the velocities in the .tpr file, and is thus constant.
>
> So, a preliminary work-around is to use mdrun -rerun -pd to get particle
> decomposition.
>
> I tried to hack a fix for the DD code. It seemed that using
>
> for (i=0; i<state_global->natoms; i++)
> copy_rvec(rerun_fr.x[i],state_global.x[i])
>
> before about line 1060 of do_md() in src/kernel/md.c should do the
> trick, since with bMasterState set for a rerun, dd_partition_system()
> should propagate state_global to the right places. However I got a
> segfault in that copy_rvec with i==0, despite state_global.x being
> allocated and of the right dimensions according to Totalview's memory
> debugger.
>
> I'll file a bugzilla in any case.
>
> Mark
> _______________________________________________
> gmx-users mailing list gmx-users at gromacs.org
> http://www.gromacs.org/mailman/listinfo/gmx-users
> Please search the archive at http://www.gromacs.org/search before posting!
> Please don't post (un)subscribe requests to the list. Use the
> www interface or send it to gmx-users-request at gromacs.org.
> Can't post? Read http://www.gromacs.org/mailing_lists/users.php
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20090424/63bffb33/attachment.html>
More information about the gromacs.org_gmx-users
mailing list