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

Berk Hess gmx3 at hotmail.com
Fri Sep 10 10:16:48 CEST 2010


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


More information about the gromacs.org_gmx-users mailing list