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

Berk Hess gmx3 at hotmail.com
Fri Sep 10 15:39:45 CEST 2010


Hi,

I should read my own code comments better (usually Gromacs has too little comments, but I put one here).
The lower bound check was because of issues with tabulated interactions.
The problem was that the Gromacs generated tables (for e.g. LJ shift or PME) were zero for r<0.02 nm.
Thus you could miss LJ and/or Coulomb repulsion at near overlap.
But since I fixed this issue in the previous commit, this lower bound check can go out.
I removed it for 4.5.2.

Berk

From: gmx3 at hotmail.com
To: gmx-users at gromacs.org
Subject: RE: [gmx-users] Overflow problem with test-particle insertion
Date: Fri, 10 Sep 2010 10:16:48 +0200








Hi,

I put in the negative energy check on purpose.
There can be highly negative energies, which should not happen.
So energies smaller than -50kT are ignored.
But maybe such energies could only occur due to the SSE overflows
and not during non-SSE computation. If that's the case this check could
be removed.

Berk

Date: Thu, 9 Sep 2010 22:52:28 +0200
From: jcb1 at um.es
To: gmx-users at gromacs.org
Subject: Re: [gmx-users] Overflow problem with test-particle insertion






  


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




-- 
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 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20100910/2da66e77/attachment.html>


More information about the gromacs.org_gmx-users mailing list