[gmx-users] Overflow problem with test-particle insertion

Javier Cerezo jcb1 at um.es
Thu Sep 9 22:52:28 CEST 2010


Hello.

Probably that will not be related with the original problem but that's 
something that came to me when reviewing the tpi.c code:

In line 583 (and follow), it is stated:
                 if (epot != epot || epot*beta < bU_neg_limit)
                 {
                     if (debug)
                     {
                         fprintf(debug,"\n  time %.3f, step %d: 
non-finite energy %f, using exp(-bU)=0\n",t,step,epot);
                     }
                     embU = 0;
                 }

And maybe the condition  (after ||) should be:
                 if (epot != epot || -epot*beta < bU_neg_limit)

Otherwise we could be making a huge number (>exp(50)) equal to 0 instead 
of making exp(-50)=0 as intended, isn't it?

Well, I know I could be a bit confused

Javier

El 09/09/10 17:19, Berk Hess escribió:
> Hi,
>
> I realized now that this is an SSE issue.
> Normally you would get NAN (or is it INF?). That is treated correctly 
> in the GROMACS TPI code.
> But in SSE a float "wraps around" when it overflows, which could, in 
> very few cases, lead to a reasonably
> looking energy value (I check for very high and very low values).
> I found that you can check for overflows in SSE and committed a fix 
> for 4.5.2.
> I also filled the first 10 points (up to r=0.02 nm) of the 
> potential/force tables, these used to be zero.
> These values are only relevant for energy minimization or TPI with 
> extreme atomic overlap.
>
> Berk
>
> ------------------------------------------------------------------------
> From: gmx3 at hotmail.com
> To: gmx-users at gromacs.org
> Subject: RE: [gmx-users] Overflow problem with test-particle insertion
> Date: Thu, 9 Sep 2010 09:39:42 +0200
>
> Hi,
>
> This is an interesting issue.
> The chance is quite small that this happens, but maybe not negligible.
> In single precision the maximum a float can store is 2^127.
> This gives a minimum distance of (2^127)^-1/12 = 6.5e-4 nm.
> The chance of inserting a particle within this radius is dens*3e-10,
> where dens is the number of particles per nm^3.
> A typical density of LJ particles is 30 per nm^3, which leads to a 
> chance of 1e-8.
> Such insertion numbers can be reached, so we probably have to worry 
> about this.
>
> However, in your example the distance seems to be around 4e-3, which would
> give r^-12 = 6e28. This still fits in a float and should not cause 
> problems.
> So we should make sure we understand what's going on here.
> Could you file a bugzilla with the files to reproduce this and which 
> insertion
> is the problematic one?
>
> I so two possible solutions:
> Force tabulated potentials with TPI, this can currently be achieved by 
> setting
> the environment variable GMX_FORCE_TABLES
> Or require double precision.
> But I think both solutions would lead to about 40% lower performance.
>
> Berk
>
>
> ------------------------------------------------------------------------
> Date: Wed, 8 Sep 2010 21:16:46 -0400
> From: kdaly at princeton.edu
> To: gmx-users at gromacs.org
> Subject: [gmx-users] Overflow problem with test-particle insertion
>
> Hello Gromacs users,
>
> I sent a message to the list in June describing what appeared to be a 
> float overflow issue with the energy calculation for test-particle 
> insertions: 
> http://lists.gromacs.org/pipermail/gmx-users/2010-June/052213.html.
>
> I have recently tried the test-particle insertion mode in 
> Gromacs-4.5.1, and it seems the problem is still there. Does anyone 
> know how to work around or fix this problem without using tabulated 
> potentials?
>
> -Kevin
>
> -- gmx-users mailing list gmx-users at gromacs.org 
> http://lists.gromacs.org/mailman/listinfo/gmx-users Please search the 
> archive at http://www.gromacs.org/Support/Mailing_Lists/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/Support/Mailing_Lists
> -- gmx-users mailing list gmx-users at gromacs.org 
> http://lists.gromacs.org/mailman/listinfo/gmx-users Please search the 
> archive at http://www.gromacs.org/Support/Mailing_Lists/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/Support/Mailing_Lists 

-- 
Javier CEREZO BASTIDA
Estudiante de Doctorado
---------------------
Dpto. Química-Física
Universidad de Murcia
30100 MURCIA (España)
Tlf.(+34)868887434

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20100909/ccd1ea03/attachment.html>


More information about the gromacs.org_gmx-users mailing list