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: j...@um.es To: gmx-users@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: g...@hotmail.com To: gmx-users@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: kd...@princeton.edu To: gmx-users@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@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-requ...@gromacs.org. Can't post? Read http://www.gromacs.org/Support/Mailing_Lists -- gmx-users mailing list gmx-users@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-requ...@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@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-requ...@gromacs.org. Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
-- gmx-users mailing list gmx-users@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-requ...@gromacs.org. Can't post? Read http://www.gromacs.org/Support/Mailing_Lists