Project

General

Profile

Feature #1230

Addition of Mu-x/y/z to .edr file makes it impossible to restart a 4.5.5 run with 4.6.1 unless using -noappend

Added by Chris Neale about 4 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Low
Assignee:
-
Category:
mdrun
Target version:
Difficulty:
uncategorized
Close

Description

I have a system that has been running under gromacs 4.5.5. I can restart it fine from
a checkpoint file with gromacs 4.5.5 but not with gromacs 4.6.1.

The long description follows, but the short answer seems to be that 4.5.5 recorded My-X/Y/Z values (the internet tells me these relate to dipole information) in the .edr file but 4.6.1 does not for my system so there is an incompatibility that I can only get around by using mdrun -noappend.

I think that it would be nice to add a note to the output from mdrun to explain that the user is trying to do something that is unsupported and suggest that they use -noappend.

Thank you,
Chris.

Here is what I get if I try to run under gromacs 4.5.5:

[cneale@seawolf3 12]$ ~/gromacs_links/mdrun -deffnm popc -cpi popc.cpt
NNODES=1, MYRANK=0, HOSTNAME=seawolf3
                         :-)  G  R  O  M  A  C  S  (-:
                          ߼߬
                   ¸­°ß²¾ß
                            :-)  VERSION 4.5.5  (-:

        Written by Emile Apol, Rossen Apostolov, Herman J.C. Berendsen,
      Aldert van Buuren, Pär Bjelkmar, Rudi van Drunen, Anton Feenstra,
        Gerrit Groenhof, Peter Kasson, Per Larsson, Pieter Meulenhoff,
           Teemu Murtola, Szilard Pall, Sander Pronk, Roland Schulz,
                Michael Shirts, Alfons Sijbers, Peter Tieleman,

               Berk Hess, David van der Spoel, and Erik Lindahl.

       Copyright (c) 1991-2000, University of Groningen, The Netherlands.
            Copyright (c) 2001-2010, The GROMACS development team at
        Uppsala University & The Royal Institute of Technology, Sweden.
            check out http://www.gromacs.org for more information.

         This program is free software; you can redistribute it and/or
          modify it under the terms of the GNU General Public License
         as published by the Free Software Foundation; either version 2
             of the License, or (at your option) any later version.

                   :-)  /home/cneale/gromacs_links/mdrun  (-:

Option     Filename  Type         Description
------------------------------------------------------------
  -s       popc.tpr  Input        Run input file: tpr tpb tpa
  -o       popc.trr  Output       Full precision trajectory: trr trj cpt
  -x       popc.xtc  Output, Opt. Compressed trajectory (portable xdr format)
-cpi       popc.cpt  Input, Opt!  Checkpoint file
-cpo       popc.cpt  Output, Opt. Checkpoint file
  -c       popc.gro  Output       Structure file: gro g96 pdb etc.
  -e       popc.edr  Output       Energy file
  -g       popc.log  Output       Log file
-dhdl      popc.xvg  Output, Opt. xvgr/xmgr file
-field     popc.xvg  Output, Opt. xvgr/xmgr file
-table     popc.xvg  Input, Opt.  xvgr/xmgr file
-tablep    popc.xvg  Input, Opt.  xvgr/xmgr file
-tableb    popc.xvg  Input, Opt.  xvgr/xmgr file
-rerun     popc.xtc  Input, Opt.  Trajectory: xtc trr trj gro g96 pdb cpt
-tpi       popc.xvg  Output, Opt. xvgr/xmgr file
-tpid      popc.xvg  Output, Opt. xvgr/xmgr file
 -ei       popc.edi  Input, Opt.  ED sampling input
 -eo       popc.edo  Output, Opt. ED sampling output
  -j       popc.gct  Input, Opt.  General coupling stuff
 -jo       popc.gct  Output, Opt. General coupling stuff
-ffout     popc.xvg  Output, Opt. xvgr/xmgr file
-devout    popc.xvg  Output, Opt. xvgr/xmgr file
-runav     popc.xvg  Output, Opt. xvgr/xmgr file
 -px       popc.xvg  Output, Opt. xvgr/xmgr file
 -pf       popc.xvg  Output, Opt. xvgr/xmgr file
-mtx       popc.mtx  Output, Opt. Hessian matrix
 -dn       popc.ndx  Output, Opt. Index file
-multidir      popc  Input, Opt., Mult. Run directory

Option       Type   Value   Description
------------------------------------------------------
-[no]h       bool   no      Print help info and quit
-[no]version bool   no      Print version info and quit
-nice        int    0       Set the nicelevel
-deffnm      string popc    Set the default filename for all file options
-xvg         enum   xmgrace  xvg plot formatting: xmgrace, xmgr or none
-[no]pd      bool   no      Use particle decompostion
-dd          vector 0 0 0   Domain decomposition grid, 0 is optimize
-npme        int    -1      Number of separate nodes to be used for PME, -1
                            is guess
-ddorder     enum   interleave  DD node order: interleave, pp_pme or cartesian
-[no]ddcheck bool   yes     Check for all bonded interactions with DD
-rdd         real   0       The maximum distance for bonded interactions with
                            DD (nm), 0 is determine from initial coordinates
-rcon        real   0       Maximum distance for P-LINCS (nm), 0 is estimate
-dlb         enum   auto    Dynamic load balancing (with DD): auto, no or yes
-dds         real   0.8     Minimum allowed dlb scaling of the DD cell size
-gcom        int    -1      Global communication frequency
-[no]v       bool   no      Be loud and noisy
-[no]compact bool   yes     Write a compact log file
-[no]seppot  bool   no      Write separate V and dVdl terms for each
                            interaction type and node to the log file(s)
-pforce      real   -1      Print all forces larger than this (kJ/mol nm)
-[no]reprod  bool   no      Try to avoid optimizations that affect binary
                            reproducibility
-cpt         real   15      Checkpoint interval (minutes)
-[no]cpnum   bool   no      Keep and number checkpoint files
-[no]append  bool   yes     Append to previous output files when continuing
                            from checkpoint instead of adding the simulation
                            part number to all file names
-maxh        real   -1      Terminate after 0.99 times this time (hours)
-multi       int    0       Do multiple simulations in parallel
-replex      int    0       Attempt replica exchange every # steps
-reseed      int    -1      Seed for replica exchange, -1 is generate a seed
-[no]ionize  bool   no      Do a simulation including the effect of an X-Ray
                            bombardment on your system

Reading file popc.tpr, VERSION 4.5.4 (single precision)

Reading checkpoint file popc.cpt generated: Wed Mar  6 11:05:41 2013

NOTE: The checkpoint file was for 40 nodes doing SD or BD,
      while the simulation uses 1 SD or BD nodes,
      continuation will be exact, except for the random state

  Build time mismatch,
    current program: Fri Mar  2 15:27:56 PST 2012
    checkpoint file: Sun May  6 08:50:24 EDT 2012

  Build user mismatch,
    current program: root@elder2
    checkpoint file: cneale@gpc-logindm02 [CMAKE]

  Build machine mismatch,
    current program: Linux 2.6.18-194.el5 x86_64
    checkpoint file: Linux 2.6.32-220.7.1.el6.x86_64 x86_64

  Program name mismatch,
    current program: /home/cneale/gromacs_links/mdrun
    checkpoint file: mdrun_mpi

  #nodes mismatch,
    current program: 1
    checkpoint file: 56

Gromacs binary or parallel settings not identical to previous run.
Continuation is exact, but is not guaranteed to be binary identical.

starting mdrun 'GROup of MAchos and Cynical Suckers in water'
2500000000 steps, 5000000.0 ps (continuing from step 49665920,  99331.8 ps).
  1. i.e., it runs fine.

###############################

And here is what i get if I try to run under gromacs 4.6.1:

[cneale@seawolf3 12]$ mdrun -deffnm popc -cpi popc.cpt
                         :-)  G  R  O  M  A  C  S  (-:

                      GROup of MAchos and Cynical Suckers

                            :-)  VERSION 4.6.1  (-:

        Contributions from Mark Abraham, Emile Apol, Rossen Apostolov,
           Herman J.C. Berendsen, Aldert van Buuren, Pär Bjelkmar,
     Rudi van Drunen, Anton Feenstra, Gerrit Groenhof, Christoph Junghans,
        Peter Kasson, Carsten Kutzner, Per Larsson, Pieter Meulenhoff,
           Teemu Murtola, Szilard Pall, Sander Pronk, Roland Schulz,
                Michael Shirts, Alfons Sijbers, Peter Tieleman,

               Berk Hess, David van der Spoel, and Erik Lindahl.

       Copyright (c) 1991-2000, University of Groningen, The Netherlands.
         Copyright (c) 2001-2012,2013, The GROMACS development team at
        Uppsala University & The Royal Institute of Technology, Sweden.
            check out http://www.gromacs.org for more information.

         This program is free software; you can redistribute it and/or
       modify it under the terms of the GNU Lesser General Public License
        as published by the Free Software Foundation; either version 2.1
             of the License, or (at your option) any later version.

                                :-)  mdrun  (-:

Option     Filename  Type         Description
------------------------------------------------------------
  -s       popc.tpr  Input        Run input file: tpr tpb tpa
  -o       popc.trr  Output       Full precision trajectory: trr trj cpt
  -x       popc.xtc  Output, Opt. Compressed trajectory (portable xdr format)
-cpi       popc.cpt  Input, Opt!  Checkpoint file
-cpo       popc.cpt  Output, Opt. Checkpoint file
  -c       popc.gro  Output       Structure file: gro g96 pdb etc.
  -e       popc.edr  Output       Energy file
  -g       popc.log  Output       Log file
-dhdl      popc.xvg  Output, Opt. xvgr/xmgr file
-field     popc.xvg  Output, Opt. xvgr/xmgr file
-table     popc.xvg  Input, Opt.  xvgr/xmgr file
-tabletf   popc.xvg  Input, Opt.  xvgr/xmgr file
-tablep    popc.xvg  Input, Opt.  xvgr/xmgr file
-tableb    popc.xvg  Input, Opt.  xvgr/xmgr file
-rerun     popc.xtc  Input, Opt.  Trajectory: xtc trr trj gro g96 pdb cpt
-tpi       popc.xvg  Output, Opt. xvgr/xmgr file
-tpid      popc.xvg  Output, Opt. xvgr/xmgr file
 -ei       popc.edi  Input, Opt.  ED sampling input
 -eo       popc.xvg  Output, Opt. xvgr/xmgr file
  -j       popc.gct  Input, Opt.  General coupling stuff
 -jo       popc.gct  Output, Opt. General coupling stuff
-ffout     popc.xvg  Output, Opt. xvgr/xmgr file
-devout    popc.xvg  Output, Opt. xvgr/xmgr file
-runav     popc.xvg  Output, Opt. xvgr/xmgr file
 -px       popc.xvg  Output, Opt. xvgr/xmgr file
 -pf       popc.xvg  Output, Opt. xvgr/xmgr file
 -ro       popc.xvg  Output, Opt. xvgr/xmgr file
 -ra       popc.log  Output, Opt. Log file
 -rs       popc.log  Output, Opt. Log file
 -rt       popc.log  Output, Opt. Log file
-mtx       popc.mtx  Output, Opt. Hessian matrix
 -dn       popc.ndx  Output, Opt. Index file
-multidir      popc  Input, Opt., Mult. Run directory
-membed    popc.dat  Input, Opt.  Generic data file
 -mp       popc.top  Input, Opt.  Topology file
 -mn       popc.ndx  Input, Opt.  Index file

Option       Type   Value   Description
------------------------------------------------------
-[no]h       bool   no      Print help info and quit
-[no]version bool   no      Print version info and quit
-nice        int    0       Set the nicelevel
-deffnm      string popc    Set the default filename for all file options
-xvg         enum   xmgrace  xvg plot formatting: xmgrace, xmgr or none
-[no]pd      bool   no      Use particle decompostion
-dd          vector 0 0 0   Domain decomposition grid, 0 is optimize
-ddorder     enum   interleave  DD node order: interleave, pp_pme or cartesian
-npme        int    -1      Number of separate nodes to be used for PME, -1
                            is guess
-nt          int    0       Total number of threads to start (0 is guess)
-ntmpi       int    0       Number of thread-MPI threads to start (0 is guess)
-ntomp       int    0       Number of OpenMP threads per MPI process/thread
                            to start (0 is guess)
-ntomp_pme   int    0       Number of OpenMP threads per MPI process/thread
                            to start (0 is -ntomp)
-pin         enum   auto    Fix threads (or processes) to specific cores:
                            auto, on or off
-pinoffset   int    0       The starting logical core number for pinning to
                            cores; used to avoid pinning threads from
                            different mdrun instances to the same core
-pinstride   int    0       Pinning distance in logical cores for threads,
                            use 0 to minimize the number of threads per
                            physical core
-gpu_id      string         List of GPU id's to use
-[no]ddcheck bool   yes     Check for all bonded interactions with DD
-rdd         real   0       The maximum distance for bonded interactions with
                            DD (nm), 0 is determine from initial coordinates
-rcon        real   0       Maximum distance for P-LINCS (nm), 0 is estimate
-dlb         enum   auto    Dynamic load balancing (with DD): auto, no or yes
-dds         real   0.8     Minimum allowed dlb scaling of the DD cell size
-gcom        int    -1      Global communication frequency
-nb          enum   auto    Calculate non-bonded interactions on: auto, cpu,
                            gpu or gpu_cpu
-[no]tunepme bool   yes     Optimize PME load between PP/PME nodes or GPU/CPU
-[no]testverlet bool   no      Test the Verlet non-bonded scheme
-[no]v       bool   no      Be loud and noisy
-[no]compact bool   yes     Write a compact log file
-[no]seppot  bool   no      Write separate V and dVdl terms for each
                            interaction type and node to the log file(s)
-pforce      real   -1      Print all forces larger than this (kJ/mol nm)
-[no]reprod  bool   no      Try to avoid optimizations that affect binary
                            reproducibility
-cpt         real   15      Checkpoint interval (minutes)
-[no]cpnum   bool   no      Keep and number checkpoint files
-[no]append  bool   yes     Append to previous output files when continuing
                            from checkpoint instead of adding the simulation
                            part number to all file names
-nsteps      int    -2      Run this number of steps, overrides .mdp file
                            option
-maxh        real   -1      Terminate after 0.99 times this time (hours)
-multi       int    0       Do multiple simulations in parallel
-replex      int    0       Attempt replica exchange periodically with this
                            period (steps)
-nex         int    0       Number of random exchanges to carry out each
                            exchange interval (N^3 is one suggestion).  -nex
                            zero or not specified gives neighbor replica
                            exchange.
-reseed      int    -1      Seed for replica exchange, -1 is generate a seed
-[no]ionize  bool   no      Do a simulation including the effect of an X-Ray
                            bombardment on your system

Reading file popc.tpr, VERSION 4.5.4 (single precision)
Note: file tpx version 73, software tpx version 83

Reading checkpoint file popc.cpt generated: Thu Mar  7 17:52:58 2013

NOTE: The checkpoint file was for 1 nodes doing SD or BD,
      while the simulation uses -1 SD or BD nodes,
      continuation will be exact, except for the random state

  Version mismatch,
    current program: 4.6.1
    checkpoint file: 4.5.5

  Build time mismatch,
    current program: Thu Mar  7 12:51:28 PST 2013
    checkpoint file: Fri Mar  2 15:27:56 PST 2012

  Build user mismatch,
    current program: cneale@seawolf3 [CMAKE]
    checkpoint file: root@elder2

  Double prec. mismatch,
    current program: 0
    checkpoint file: -1

  Program name mismatch,
    current program: mdrun
    checkpoint file: /home/cneale/gromacs_links/mdrun

  #nodes mismatch,
    current program: 12
    checkpoint file: 1

  #PME-nodes mismatch,
    current program: -1
    checkpoint file: 0

Gromacs binary or parallel settings not identical to previous run.
Continuation is exact, but is not guaranteed to be binary identical.

Using 12 MPI threads

-------------------------------------------------------
Program mdrun, VERSION 4.6.1
Source code file: /home/cneale/exe/gromacs-4.6.1/source/src/mdlib/mdebin.c, line: 1637

Fatal error:
Mismatch between number of energies in run input (45) and checkpoint file (48).
For more information and tips for troubleshooting, please check the GROMACS
website at http://www.gromacs.org/Documentation/Errors
-------------------------------------------------------

"Let Me Do This" (Urban Dance Squad)

######################

If I look at the pre-existing .edr file (created by my original 4.5.5 run), gromacs 4.6.1 or 4.5.5 g_energy lists:

1  U-B              2  Proper-Dih.      3  Improper-Dih.    4  LJ-14
5 Coulomb-14 6 LJ-(SR) 7 LJ-(LR) 8 Disper.-corr.
9 Coulomb-(SR) 10 Coul.-recip. 11 Potential 12 Kinetic-En.
13 Total-Energy 14 Temperature 15 Pres.-DC 16 Pressure
17 Constr.-rmsd 18 Constr.2-rmsd 19 Box-X 20 Box-Y
21 Box-Z 22 Volume 23 Density 24 pV
25 Enthalpy 26 Vir-XX 27 Vir-XY 28 Vir-XZ
29 Vir-YX 30 Vir-YY 31 Vir-YZ 32 Vir-ZX
33 Vir-ZY 34 Vir-ZZ 35 Pres-XX 36 Pres-XY
37 Pres-XZ 38 Pres-YX 39 Pres-YY 40 Pres-YZ
41 Pres-ZX 42 Pres-ZY 43 Pres-ZZ 44 #Surf*SurfTen
45 Mu-X 46 Mu-Y 47 Mu-Z 48 T-System

I can get the simulation to proceed with gromacs 4.6.1 by adding the -noappend option to mdrun

Then, if I use g_energy to look at the new .edr file, I see:

1  U-B              2  Proper-Dih.      3  Improper-Dih.    4  LJ-14
5 Coulomb-14 6 LJ-(SR) 7 LJ-(LR) 8 Disper.-corr.
9 Coulomb-(SR) 10 Coul.-recip. 11 Potential 12 Kinetic-En.
13 Total-Energy 14 Temperature 15 Pres.-DC 16 Pressure
17 Constr.-rmsd 18 Constr.2-rmsd 19 Box-X 20 Box-Y
21 Box-Z 22 Volume 23 Density 24 pV
25 Enthalpy 26 Vir-XX 27 Vir-XY 28 Vir-XZ
29 Vir-YX 30 Vir-YY 31 Vir-YZ 32 Vir-ZX
33 Vir-ZY 34 Vir-ZZ 35 Pres-XX 36 Pres-XY
37 Pres-XZ 38 Pres-YX 39 Pres-YY 40 Pres-YZ
41 Pres-ZX 42 Pres-ZY 43 Pres-ZZ 44 #Surf*SurfTen
45 T-System

So the 3 energies that were recorded by gromacs 4.5.5 but not by 4.6.1 are:

45  Mu-X            46  Mu-Y            47  Mu-Z

I originally posted this here: http://gromacs.5086.x6.nabble.com/Trouble-restarting-a-4-5-5-run-with-4-6-1-forced-to-use-noappend-td5006213.html

Thank you,
Chris.


Related issues

Related to GROMACS - Feature #1131: Checkpoint file compatibility 4.5 and 4.6 Closed 01/25/2013

Associated revisions

Revision 7a1e9a3b (diff)
Added by Rossen Apostolov almost 3 years ago

Extend version checking/warnings for checkpoint continuation

Detect if the major/minor versions differ, and write a more
explicit warning that both explains this type of continuation
is unsupported, and recommend to use the -noappend option.
In contrast, for cases where only the patch level differs,
we now only issue a note that the binary has changed, since
this is fully supported.

Fixes #1230.

Change-Id: Ifec509de0e5a05d170ada89fd000c961e311c9ca

History

#1 Updated by Mark Abraham about 4 years ago

  • Description updated (diff)

#2 Updated by Mark Abraham about 4 years ago

  • Description updated (diff)

#3 Updated by Mark Abraham about 4 years ago

Per comment by Berk to the thread on gmx-core that lead to #1131, we don't guarantee checkpoint file inter-operability between minor releases. So

1) if mu output went away for a reason, it won't come back to fix this issue (but I am not sure why it went away)

2) we could be more verbose about a non-patch-level version mismatch, since there is often some change that makes a continuation inadvisable, and a hint about noappend could be part of that.

#4 Updated by Berk Hess about 4 years ago

The mu values don't have meaning for any system with charge groups with net charge (which means any system with the Verlet scheme). The dipole will depend on in which periodic image charge groups are put. So to avoid that users assign meaning to these values, I removed them.

I would in general not advice people to append output from different major Gromacs versions (although as results shouldn't change, there is no fundamental reason to not allow/do this).
But indeed a hint on using -noappend could be useful.

#5 Updated by Mark Abraham about 4 years ago

  • Assignee changed from Berk Hess to Mark Abraham
  • Target version changed from future to 4.6.x

#6 Updated by Gerrit Code Review Bot almost 3 years ago

Gerrit received a related patchset '1' for Issue #1230.
Uploader: Rossen Apostolov ()
Change-Id: Ifec509de0e5a05d170ada89fd000c961e311c9ca
Gerrit URL: https://gerrit.gromacs.org/3628

#7 Updated by Rossen Apostolov almost 3 years ago

  • Status changed from New to Fix uploaded
  • Assignee deleted (Mark Abraham)

#8 Updated by Erik Lindahl almost 3 years ago

  • Status changed from Fix uploaded to Resolved

#9 Updated by Erik Lindahl almost 3 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF