[gmx-users] single-precision *.tpr data after a double-precision run
Inon Sharony
InonShar at post.TAU.ac.IL
Thu Aug 7 13:56:18 CEST 2008
Hello GROMACS users!
I've posted a few questions in the last few days about
double-precision energy minimization for normal mode analysis, and
everything seems OK except I've been having a re-occurring problem:
The energy minimization procedure ends in
=========================================
// grompp_d -f em.mdp -c b4nm_s_7.gro -n index.ndx
// mdrun_d -c b4nm_s_8.gro -v yes
Stepsize too small, or no change in energy.
Converged to machine precision,
but not to the requested precision Fmax < 1e-06
writing lowest energy coordinates.
Polak-Ribiere Conjugate Gradients converged to machine precision in 994 steps,
but did not reach the requested Fmax < 1e-06.
Potential Energy = 3.83658151247483e+00
Maximum force = 5.38105464411977e-05 on atom 1
Norm of force = 2.07631890036341e-05
The Hessian matrix write ends in:
=================================
// grompp_d -f nm.mdp -c b4nm_s_8.gro -n index.ndx
// mdrun_d -c nm.gro -mtx nm.mtx -v yes
Reading file topol.tpr, VERSION 3.3.3 (double precision)
Loaded with Money
Small system size (N=7), using full Hessian format.
Allocating Hessian memory...
starting normal mode calculation 'Single Molecule of Pentane'
7 steps.
Maximum force: 3.51028e+02
Maximum force probably not small enough to ensure that you are in a
energy well. Be aware that negative eigenvalues may occur when the
resulting matrix is diagonalized.
Finished step 7 out of 7
Writing Hessian...
Clearly, the maximal force is minimized to about 1E-05 kJ / mole nm,
but when the same *.gro file is read for the Hessian calculation, it
reads about 1E+02!
I think the reason is found in the *.tpr file of the energy minimization run:
x (7x3):
x[ 0]={ 3.17800e+00, 3.49300e+00, 3.38500e+00}
x[ 1]={ 3.31300e+00, 3.51800e+00, 3.31600e+00}
x[ 2]={ 3.42500e+00, 3.43000e+00, 3.37400e+00}
x[ 3]={ 3.41400e+00, 3.28500e+00, 3.32700e+00}
x[ 4]={ 3.52700e+00, 3.20300e+00, 3.38900e+00}
x[ 5]={ 3.02600e+00, 3.50200e+00, 3.36900e+00}
x[ 6]={ 3.60400e+00, 3.07000e+00, 3.38200e+00}
This means that although the minimization was run in double precision,
the atomic configuration is saved in single precision (the last two
decimal places are not used). Does this mean that each time the
optimized *.gro file is re-read, it needs to optimize these last two
decimal places anew, and this makes the difference in SEVEN orders of
magnitude in the maximal force?
Can anyone offer a solution?
Thanks in advance...
Inon.
Some background information:
----------------------------
I'm running GROMACS 3.3.3 on the following system (with bash):
/* composed by Inon Sharony August 6th, 2008 */
/* ----------------------------------------- */
/* */
/* this file contains the hardware information for Sodium */
/* the first part details the video card */
/* the second part details the CPUs */
/* the third part details the BIOS and motherboard */
/* */
lspci -v /* list PCI -verbose */
=================================
.
.
.
01:00.0 VGA compatible controller: nVidia Corporation GeForce 8500 GT
(rev a1) (
prog-if 00 [VGA controller])
Subsystem: LeadTek Research Inc. Unknown device 2a94
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at e2000000 (32-bit, non-prefetchable) [size=16M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at e0000000 (64-bit, non-prefetchable) [size=32M]
I/O ports at 2000 [size=128]
Capabilities: [60] Power Management version 2
Capabilities: [68] Message Signalled Interrupts: Mask- 64bit+
Queue=0/0
Enable-
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [100] Virtual Channel <?>
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information <?>
Kernel driver in use: nvidia
Kernel modules: nvidia, nvidiafb
.
.
.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
cat /proc/cpuinfo /* CPUs information */
========================================
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
stepping : 11
cpu MHz : 1596.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe
syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni monitor
ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
bogomips : 4802.25
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
.
.
.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
/usr/sbin/dmidecode
===================
# dmidecode 2.7
SMBIOS 2.4 present.
39 structures occupying 1779 bytes.
Table at 0x000E3300.
Handle 0x0000, DMI type 4, 35 bytes.
Processor Information
Socket Designation: J1PR
Type: Central Processor
Family: <OUT OF SPEC>
Manufacturer: Intel(R) Corporation
ID: FB 06 00 00 FF FB EB BF
Version: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
Voltage: 1.6 V
External Clock: 266 MHz
Max Speed: 4000 MHz
Current Speed: 2400 MHz
Status: Populated, Enabled
Upgrade: <OUT OF SPEC>
L1 Cache Handle: 0x0003
L2 Cache Handle: 0x0001
L3 Cache Handle: Not Provided
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
.
.
.
/* BIOS information */
Handle 0x0004, DMI type 0, 24 bytes.
BIOS Information
Vendor: Intel Corp.
Version: DPP3510J.86A.0326.2007.1206.2256
Release Date: 12/06/2007
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 1024 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
ATAPI Zip drive boot is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Targeted content distribution is supported
BIOS Revision: 0.0
Firmware Revision: 0.0
.
.
.
/* Motherboard information */
Handle 0x0006, DMI type 2, 20 bytes.
Base Board Information
Manufacturer: Intel Corporation
Product Name: DP35DP
Version: AAD81073-207
Serial Number: USDP747001WP
Asset Tag: Base Board Asset Tag
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: Base Board Chassis Location
Chassis Handle: 0x0007
Type: Unknown
Contained Object Handles: 0
--
Inon Sharony
×× ×× ×©×¨×× ×
+972(3)6407634
atto.TAU.ac.IL/~inonshar
Please consider your environmental responsibility before printing
this e-mail.
More information about the gromacs.org_gmx-users
mailing list