Project

General

Profile

Bug #451

git-current gromacs has infinite starting force for energy minimization of some tpr's (finite on old versions)

Added by Peter Kasson over 9 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Erik Lindahl
Category:
mdrun
Target version:
Affected version - extra info:
Affected version:
Difficulty:
uncategorized
Close

Description

Double-precision build of git-current gromacs on merlot (OS/X, gcc 4.2) has infinite starting Fmax for steepest descents or conjugate gradient energy minimization on some TPR's (~kasson/em_inf.tpr is an example; this has both LINCS constraints and position restraints turned on). A build from December 2009 has starting Fmax ~1e+4. This occurs whether I use a git-current or an older grompp; I have referenced a TPR from the old grompp.

History

#1 Updated by Peter Kasson over 9 years ago

PS a Linux build with gcc 4.3 gives finite starting Fmax (but settle errors).

#2 Updated by Berk Hess over 9 years ago

I can not reproduce this, I get reasonable energies and forces:
Step= 0, Dmax= 1.0e-01 nm, Epot= -1.03678e+07 Fmax= 2.78930e+04, atom= 1107816
This is not coincidentally the qsort threaded bug?
Did you run with threads and with code of before:
commit d101dccd3fbf70d28e474eef4d68a862bc18b648
Author: Berk Hess <hess@csbl10.(none)>
Date: Mon Jun 21 17:19:53 2010 +0200

Berk

#3 Updated by Peter Kasson over 9 years ago

No, it occurs even with -nt 1 and after the qsort bug is fixed. -pforce shows infinite force on all atoms from step 0. Erik suggested hacking some check into the code to figure out where in the force calculation it's coming. I'll try to do that depending on time today.

Example output with pforce:
Getting Loaded...
Reading file sep2_3_em.tpr, VERSION 4.0.99_development_20090927 (single precision)
Note: tpx file_version 68, software version 70
Loaded with Money

Back Off! I just backed up test.trr to ./#test.trr.3#

Back Off! I just backed up test.edr to ./#test.edr.3#
Steepest Descents:
Tolerance (Fmax) = 1.00000e+01
Number of steps = 100
step 0 atom 1 x 12.145 7.367 13.552 force inf
step 0 atom 2 x 12.107 7.437 13.546 force inf
step 0 atom 7 x 12.126 7.416 13.702 force inf
step 0 atom 8 x 12.269 7.404 13.754 force inf
step 0 atom 9 x 12.268 7.376 13.894 force inf
step 0 atom 10 x 12.421 7.347 13.936 force inf
step 0 atom 11 x 12.431 7.200 13.943 force inf
step 0 atom 12 x 12.513 7.437 13.862 force inf
step 0 atom 13 x 12.415 7.399 14.088 force inf
step 0 atom 14 x 12.316 7.330 14.165 force inf
step 0 atom 15 x 12.377 7.224 14.256 force inf
step 0 atom 16 x 12.505 7.280 14.319 force inf
step 0 atom 17 x 12.498 7.365 14.433 force inf
step 0 atom 18 x 12.587 7.338 14.533 force inf
step 0 atom 19 x 12.659 7.238 14.535 force inf
step 0 atom 20 x 12.613 7.443 14.641 force inf
step 0 atom 21 x 12.576 7.383 14.777 force inf
step 0 atom 22 x 12.603 7.484 14.889 force inf
step 0 atom 23 x 12.555 7.435 15.025 force inf
step 0 atom 24 x 12.639 7.319 15.079 force inf
step 0 atom 25 x 12.593 7.262 15.213 force inf
step 0 atom 26 x 12.647 7.119 15.219 force inf
step 0 atom 27 x 12.622 7.052 15.354 force inf
step 0 atom 29 x 12.658 6.846 15.516 force inf
step 0 atom 30 x 12.700 6.699 15.508 force inf
step 0 atom 31 x 12.612 6.622 15.410 force inf
...

#4 Updated by Berk Hess over 9 years ago

Now (I don't know what I changed in my setup) I get a segv at step 1.
But that is probably due to the large forces and settle error at step 0.
I guess this could all just be because of a bad starting configuration.

But I don't get inf forces in double precision.

Is there any news?

Berk

#5 Updated by Berk Hess over 9 years ago

Still no news on this bug?

Berk

#6 Updated by Peter Kasson over 9 years ago

Starting force is still infinite on git-current double-precision build on merlot (TPR ~kasson/em_inf.tpr) with either 1 or 8 threads.

Steepest Descents:
Tolerance (Fmax) = 1.00000e+01
Number of steps = 100
Step= 0, Dmax= 1.0e-01 nm, Epot= -2.94915e+06 Fmax= inf, atom= 186621

Step 1, time 0.002 (ps) LINCS WARNING
relative constraint deviation after LINCS:
rms nan, max 2.021779 (between atoms 88681 and 88678)
bonds that rotated more than 90 degrees:
atom 1 atom 2 angle previous, current, constraint length
71184 71182 116.8 0.1480 0.2991 0.1480
71183 71182 116.4 0.1480 0.2875 0.1480
71181 71182 109.9 0.1610 0.3721 0.1610
71180 71181 91.5 0.1430 0.3221 0.1430
71210 71211 114.1 0.1530 0.6102 0.1530
71211 71212 96.5 0.1530 0.3818 0.1530
88681 88678 113.7 0.1610 0.4865 0.1610
88706 88704 108.4 0.1530 0.3991 0.1530
88705 88704 123.7 0.1230 0.2670 0.1230
88706 88707 94.1 0.1530 0.3740 0.1530
94493 94494 115.5 0.1530 0.4534 0.1530
82487 82488 111.5 0.1530 0.5043 0.1530
82506 82507 112.6 0.1530 0.5017 0.1530

#7 Updated by David van der Spoel over 9 years ago

Peter can you upload a tpr file? I don't have ~kasson on my laptop :).

#8 Updated by Berk Hess over 9 years ago

I am still guessing this is a bad starting conformation issue.
I don't get inf forces, but the system is difficult to minimize.

Berk

#9 Updated by Peter Kasson over 9 years ago

It's not a wonderful starting configuration, but I get similar issues with a number of similar configurations; I'm able to successfully minimize and run startup with an old development version. (I just had another one of these where the starting force was inf with the current double-precision build but 1e+04 with the 20090927 build.) It seems desirable to have finite forces in the 4.5 release if possible. :)

David, the TPR is 33M, which is why I haven't uploaded. I can try that.

#10 Updated by David van der Spoel over 9 years ago

You can also put the tpr file on a website somewhere to download.

#11 Updated by Erik Lindahl about 9 years ago

With the latest release-4-5-patches I get (on merlot):

Steepest Descents:
Tolerance (Fmax) = 1.00000e+01
Number of steps = 100
Step= 0, Dmax= 1.0e-01 nm, Epot= -9.35484e+06 Fmax= 2.78918e+04, atom= 1107816

This is followed by a settle error, but at least the force seems to be OK.
I've tested both 1/8 threads, and both autoconf and cmake builds.

I'm not sure when/how this started working again, but "if it works, don't fix it". Closing it for now.

#12 Updated by Peter Kasson about 9 years ago

Sounds good--as long as the forces are finite. Fmax of 1e+04 is about what we got with the older version.

Also available in: Atom PDF