[gmx-users] essential dynamics mdrun with SD integrator yields segmentation fault

Carsten Kutzner ckutzne at gwdg.de
Mon Dec 21 16:45:41 CET 2009


Hi Chris,

the segfault was due to the fact that with the sd integrator the constraints
have to be evaluated twice and in the second call there is no pointer to
the velocities present. I have fixed that in the master and release-4-0-
patches branches. The velocity correction is now only done when velocities 
are present. 

Carsten


On Dec 19, 2009, at 2:09 AM, chris.neale at utoronto.ca wrote:

> Hello,
> 
> In my hands, mdrun throws a segfault when passing the -ei flag to mdrun and utilizing the sd integrator. I'll admit that I have only tried this with a single system. Nevertheless, using -linacc vs. -linfix makes no difference, neither does moving to constraints=none or parallel vs. serial mdrun. However, when I change sd to md, the run is fine.
> 
> With sd and -ei, the segfault is immediate:
> 
> $ mdrun -deffnm edi -nosum -dlb yes -npme -1 -cpt 30 -maxh 48 -cpi edi.cpt -ei testpositive.edi -eo testpositive.edo
>                         :-)  G  R  O  M  A  C  S  (-:
> 
>                      GROup of MAchos and Cynical Suckers
> 
>                            :-)  VERSION 4.0.5  (-:
> 
> 
>      Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
>       Copyright (c) 1991-2000, University of Groningen, The Netherlands.
>             Copyright (c) 2001-2008, The GROMACS development team,
>            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.
> 
>                                :-)  mdrun  (-:
> 
> Option     Filename  Type         Description
> ------------------------------------------------------------
>  -s        edi.tpr  Input        Run input file: tpr tpb tpa
>  -o        edi.trr  Output       Full precision trajectory: trr trj cpt
>  -x        edi.xtc  Output, Opt. Compressed trajectory (portable xdr format)
> -cpi        edi.cpt  Input, Opt!  Checkpoint file
> -cpo        edi.cpt  Output, Opt. Checkpoint file
>  -c        edi.gro  Output       Structure file: gro g96 pdb
>  -e        edi.edr  Output       Energy file: edr ene
>  -g        edi.log  Output       Log file
> -dgdl       edi.xvg  Output, Opt. xvgr/xmgr file
> -field      edi.xvg  Output, Opt. xvgr/xmgr file
> -table      edi.xvg  Input, Opt.  xvgr/xmgr file
> -tablep     edi.xvg  Input, Opt.  xvgr/xmgr file
> -tableb     edi.xvg  Input, Opt.  xvgr/xmgr file
> -rerun      edi.xtc  Input, Opt.  Trajectory: xtc trr trj gro g96 pdb cpt
> -tpi        edi.xvg  Output, Opt. xvgr/xmgr file
> -tpid       edi.xvg  Output, Opt. xvgr/xmgr file
> -ei testpositive.edi  Input, Opt!  ED sampling input
> -eo testpositive.edo  Output, Opt! ED sampling output
>  -j        edi.gct  Input, Opt.  General coupling stuff
> -jo        edi.gct  Output, Opt. General coupling stuff
> -ffout      edi.xvg  Output, Opt. xvgr/xmgr file
> -devout     edi.xvg  Output, Opt. xvgr/xmgr file
> -runav      edi.xvg  Output, Opt. xvgr/xmgr file
> -px        edi.xvg  Output, Opt. xvgr/xmgr file
> -pf        edi.xvg  Output, Opt. xvgr/xmgr file
> -mtx        edi.mtx  Output, Opt. Hessian matrix
> -dn        edi.ndx  Output, Opt. Index file
> 
> Option       Type   Value   Description
> ------------------------------------------------------
> -[no]h       bool   no      Print help info and quit
> -nice        int    19      Set the nicelevel
> -deffnm      string edi     Set the default filename for all file options
> -[no]xvgr    bool   yes     Add specific codes (legends etc.) in the output
>                            xvg files for the xmgrace program
> -[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   yes     Dynamic load balancing (with DD): auto, no or yes
> -dds         real   0.8     Minimum allowed dlb scaling of the DD cell size
> -[no]sum     bool   no      Sum the energies at every step
> -[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   30      Checkpoint interval (minutes)
> -[no]append  bool   no      Append to previous output files when continuing
>                            from checkpoint
> -[no]addpart bool   yes     Add the simulation part number to all output
>                            files when continuing from checkpoint
> -maxh        real   48      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]glas    bool   no      Do glass simulation with special long range
>                            corrections
> -[no]ionize  bool   no      Do a simulation including the effect of an X-Ray
>                            bombardment on your system
> 
> No previous checkpoint file present, assuming this is a new run.
> 
> ED sampling will be performed!
> 
> Reading file edi.tpr, VERSION 4.0.5 (single precision)
> ED: Initialzing essential dynamics constraints.
> ED: Reading edi file testpositive.edi
> ED: Note: Reference and average structure are composed of the same atom indices.
> ED: Found 1 ED dataset.
> ED: Initial RMSD from reference after fit = 0.307421 nm (dataset #1)
> 
> WARNING: This run will generate roughly 6031 Mb of data
> 
> starting mdrun 'Generated by genbox'
> 5000 steps,      5.0 ps.
> Segmentation fault
> 
> ##############################
> 
> The message is a little more verbose when i run it in parallel:
> 
> ...
> ...
> ED: Initialzing essential dynamics constraints.
> ED: Reading edi file testpositive.edi
> ED: Note: Reference and average structure are composed of the same atom indices.
> ED: Found 1 ED dataset.
> ED: Initial RMSD from reference after fit = 0.307421 nm (dataset #1)
> Making 1D domain decomposition 8 x 1 x 1
> 
> WARNING: This run will generate roughly 6031 Mb of data
> 
> starting mdrun 'Generated by genbox'
> 5000 steps,      5.0 ps.
> [gpc-f103n048:05752] *** Process received signal ***
> [gpc-f103n048:05752] Signal: Segmentation fault (11)
> [gpc-f103n048:05752] Signal code: Address not mapped (1)
> [gpc-f103n048:05752] Failing at address: 0x1abb0
> [gpc-f103n048:05750] *** Process received signal ***
> [gpc-f103n048:05750] Signal: Segmentation fault (11)
> [gpc-f103n048:05750] Signal code: Address not mapped (1)
> [gpc-f103n048:05750] Failing at address: 0x46398
> [gpc-f103n048:05746] *** Process received signal ***
> [gpc-f103n048:05746] Signal: Segmentation fault (11)
> [gpc-f103n048:05746] Signal code: Address not mapped (1)
> ...
> ...
> 
> ##############################
> 
> When I use md, however, things are fine.
> 
> Is there some reason that I should not be combining ED mdrun and the SD integrator? It seems like a reasonable combination to me and I was unable to find and documentation suggesting that one should not be doing this.
> 
> Thank you,
> Chris.
> 
> PS: I repeated this with 4.0.7 and found the same behaviour:
> 
> $ /scratch/cneale/GPC/exe/intel/gromacs-4.0.7/exec/bin/mdrun -deffnm edi -nosum -dlb yes -npme -1 -cpt 30 -maxh 48 -cpi edi.cpt -ei testpositive.edi -eo testpositive.edo
>                         :-)  G  R  O  M  A  C  S  (-:
> 
>                       Great Red Owns Many ACres of Sand
> 
>                            :-)  VERSION 4.0.7  (-:
> 
> 
>      Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
>       Copyright (c) 1991-2000, University of Groningen, The Netherlands.
>             Copyright (c) 2001-2008, The GROMACS development team,
>            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.
> 
>      :-)  /scratch/cneale/GPC/exe/intel/gromacs-4.0.7/exec/bin/mdrun  (-:
> 
> Option     Filename  Type         Description
> ------------------------------------------------------------
>  -s        edi.tpr  Input        Run input file: tpr tpb tpa
>  -o        edi.trr  Output       Full precision trajectory: trr trj cpt
>  -x        edi.xtc  Output, Opt. Compressed trajectory (portable xdr format)
> -cpi        edi.cpt  Input, Opt!  Checkpoint file
> -cpo        edi.cpt  Output, Opt. Checkpoint file
>  -c        edi.gro  Output       Structure file: gro g96 pdb
>  -e        edi.edr  Output       Energy file: edr ene
>  -g        edi.log  Output       Log file
> -dgdl       edi.xvg  Output, Opt. xvgr/xmgr file
> -field      edi.xvg  Output, Opt. xvgr/xmgr file
> -table      edi.xvg  Input, Opt.  xvgr/xmgr file
> -tablep     edi.xvg  Input, Opt.  xvgr/xmgr file
> -tableb     edi.xvg  Input, Opt.  xvgr/xmgr file
> -rerun      edi.xtc  Input, Opt.  Trajectory: xtc trr trj gro g96 pdb cpt
> -tpi        edi.xvg  Output, Opt. xvgr/xmgr file
> -tpid       edi.xvg  Output, Opt. xvgr/xmgr file
> -ei testpositive.edi  Input, Opt!  ED sampling input
> -eo testpositive.edo  Output, Opt! ED sampling output
>  -j        edi.gct  Input, Opt.  General coupling stuff
> -jo        edi.gct  Output, Opt. General coupling stuff
> -ffout      edi.xvg  Output, Opt. xvgr/xmgr file
> -devout     edi.xvg  Output, Opt. xvgr/xmgr file
> -runav      edi.xvg  Output, Opt. xvgr/xmgr file
> -px        edi.xvg  Output, Opt. xvgr/xmgr file
> -pf        edi.xvg  Output, Opt. xvgr/xmgr file
> -mtx        edi.mtx  Output, Opt. Hessian matrix
> -dn        edi.ndx  Output, Opt. Index file
> 
> Option       Type   Value   Description
> ------------------------------------------------------
> -[no]h       bool   no      Print help info and quit
> -nice        int    19      Set the nicelevel
> -deffnm      string edi     Set the default filename for all file options
> -[no]xvgr    bool   yes     Add specific codes (legends etc.) in the output
>                            xvg files for the xmgrace program
> -[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   yes     Dynamic load balancing (with DD): auto, no or yes
> -dds         real   0.8     Minimum allowed dlb scaling of the DD cell size
> -[no]sum     bool   no      Sum the energies at every step
> -[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   30      Checkpoint interval (minutes)
> -[no]append  bool   no      Append to previous output files when continuing
>                            from checkpoint
> -[no]addpart bool   yes     Add the simulation part number to all output
>                            files when continuing from checkpoint
> -maxh        real   48      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]glas    bool   no      Do glass simulation with special long range
>                            corrections
> -[no]ionize  bool   no      Do a simulation including the effect of an X-Ray
>                            bombardment on your system
> 
> No previous checkpoint file present, assuming this is a new run.
> 
> ED sampling will be performed!
> 
> Back Off! I just backed up testpositive.edo to ./#testpositive.edo.4#
> Reading file edi.tpr, VERSION 4.0.7 (single precision)
> ED: Initialzing essential dynamics constraints.
> ED: Reading edi file testpositive.edi
> ED: Note: Reference and average structure are composed of the same atom indices.
> ED: Found 1 ED dataset.
> ED: Initial RMSD from reference after fit = 0.307421 nm (dataset #1)
> 
> WARNING: This run will generate roughly 6031 Mb of data
> 
> starting mdrun 'Generated by genbox'
> 5000 steps,      5.0 ps.
> Segmentation fault
> 
> 
> 
> --
> 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/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/mailing_lists/users.php


--
Dr. Carsten Kutzner
Max Planck Institute for Biophysical Chemistry
Theoretical and Computational Biophysics
Am Fassberg 11, 37077 Goettingen, Germany
Tel. +49-551-2012313, Fax: +49-551-2012302
http://www.mpibpc.mpg.de/home/grubmueller/ihp/ckutzne







More information about the gromacs.org_gmx-users mailing list