[gmx-users] problem with profiling grompp using callgrind

David van der Spoel spoel at xray.bmc.uu.se
Tue May 9 08:28:42 CEST 2006


ganapathy senthilkumar wrote:
> dear gromacs users,
>         i tried to profile the execution of grompp using 
> the callgrind profiling tool.
> 
> the command is as below.
>  >callgrind -v -dump-every-bb = 10000000 grompp -f run4.mdp -c run3.gro 
> -p CAVITY2.top -o run4.tpr
>      
> the program aborted with the following output.
> 
> =7186== Callgrind-0.10.1, a call-graph generating cache profiler.
> ==7186== Copyright (C) 2002-2005, and GNU GPL'd, by J.Weidendorfer et al.
> ==7186== Using LibVEX rev 1575, a library for dynamic binary translation.
> ==7186== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
> ==7186== Using valgrind-3.1.1, a dynamic binary instrumentation framework.
> ==7186== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
> ==7186== For more details, rerun with: -v
> ==7186==
> ==7186==
> ==7186== For interactive control, run 'callgrind_control -h'.
>                         :-)  G  R  O  M  A  C  S  (-:
> 
>                 Gravel Rubs Often Many Awfully Cauterized Sores
> 
>                             :-)  VERSION 3.3.1  (-:
> 
> 
>       Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
>       Copyright (c) 1991-2000, University of Groningen, The Netherlands.
>             Copyright (c) 2001-2006, The GROMACS development team,
>             check out http://www.gromacs.org <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.
> 
>                                 :-)  grompp  (-:
> 
> Option    Filename  Type        Description
> ------------------------------
> ------------------------------
>   -f      run4.mdp  Input, Opt!  grompp input file with MD parameters
> -po      mdout.mdp  Output      grompp input file with MD parameters
>   -c      run3.gro  Input        Generic structure: gro g96 pdb tpr tpb tpa
>                                   xml
>   -r      conf.gro  Input, Opt.  Generic structure: gro g96 pdb tpr tpb tpa
>                                   xml
> -rb      conf.gro  Input, Opt.  Generic structure: gro g96 pdb tpr tpb tpa
>                                   xml
>   -n      index.ndx  Input, Opt.  Index file
> -deshuf  deshuf.ndx  Output, Opt. Index file
>   -p    CAVITY2.top  Input        Topology file
> -pp  processed.top  Output, Opt. Topology file
>   -o      run4.tpr  Output      Generic run input: tpr tpb tpa xml
>   -t      traj.trr  Input, Opt.  Full precision trajectory: trr trj
>   -e      ener.edr  Input, Opt.  Generic energy: edr ene
> 
>       Option  Type  Value  Description
> ------------------------------------------------------
>       -[no]h  bool    no  Print help info and quit
>       -[no]X  bool    no  Use dialog box GUI to edit command line options
>       -nice    int      0  Set the nicelevel
>       -[no]v  bool    yes  Be loud and noisy
>       -time  real    -1  Take frame at or first after this time.
>         -np    int      1  Generate statusfile for # nodes
> -[no]shuffle  bool    no  Shuffle molecules over nodes
>   -[no]sort  bool    no  Sort molecules according to X coordinate
> -[no]rmvsbds  bool    yes  Remove constant bonded interactions with virtual
>                             sites
>       -load string        Releative load capacity of each node on a
>                             parallel machine. Be sure to use quotes around
>                             the string, which should contain a number for
>                             each node
>     -maxwarn    int    10  Number of warnings after which input processing
>                             stops
> -[no]check14  bool    no  Remove 1-4 interactions without Van der Waals
>   -[no]renum  bool    yes  Renumber atomtypes and minimize number of
>                             atomtypes
> 
> creating statusfile for 1 node...
> checking input for internal consistency...
> WARNING 1 [file run4.mdp, line unknown]:
>   For energy conservation with switch/shift potentials, rlist should be 0.1
>   to 0.3 nm larger than rcoulomb/rvdw.
> calling /lib/cpp...
> processing topology...
> Generated 141 of the 1176 non-bonded parameter combinations
> Excluding 3 bonded neighbours for POP 32
> turning H bonds into constraints...
> Excluding 2 bonded neighbours for SOL 1051
> turning H bonds into constraints...
> Excluding 3 bonded neighbours for POP 32
> Excluding 2 bonded neighbours for SOL 1051
> Excluding 3 bonded neighbours for POP 32
> Excluding 2 bonded neighbours for SOL 1051
> Excluding 3 bonded neighbours for POP 32
> Excluding 2 bonded neighbours for SOL 1051
> *** glibc detected *** grompp: realloc(): invalid pointer: 0x04120008 ***
> ======= Backtrace: =========
> /lib/libc.so.6(__libc_realloc+0x2e6)[0x1cff15]
> grompp[0x80a926d]
> ======= Memory map: ========
> 0011f000-00120000 r-xp 0011f000 00:00 0
> 00148000-00162000 r-xp 00000000 fd:00 945102    /lib/ld-2.3.5.so 
> <http://2.3.5.so/>
> 00162000-00163000 r-xp 00019000 fd:00 945102    /lib/ld-2.3.5.so 
> <http://2.3.5.so/>
> 00163000-00164000 rwxp 0001a000 fd:00 945102    /lib/ld-2.3.5.so 
> <http://2.3.5.so/>
> 0016a000-0028e000 r-xp 00000000 fd:00 945103    /lib/libc-2.3.5.so 
> <http://2.3.5.so/>
> 0028e000-00290000 r-xp 00124000 fd:00 945103    /lib/libc-2.3.5.so 
> <http://2.3.5.so/>
> 00290000-00292000 rwxp 00126000 fd:00 945103    /lib/libc-2.3.5.so 
> <http://2.3.5.so/>
> 00292000-00294000 rwxp 00292000 00:00 0
> 00296000-002b8000 r-xp 00000000 fd:00 945104    /lib/libm-2.3.5.so 
> <http://2.3.5.so/>
> 002b8000-002b9000 r-xp 00021000 fd:00 945104    /lib/libm-2.3.5.so 
> <http://2.3.5.so/>
> 002b9000-002ba000 rwxp 00022000 fd:00 945104    /lib/libm-2.3.5.so 
> <http://2.3.5.so/>
> 002bc000-002be000 r-xp 00000000 fd:00 945105    /lib/libdl-2.3.5.so 
> <http://2.3.5.so/>
> 002be000-002bf000 r-xp 00001000 fd:00 945105    /lib/libdl-2.3.5.so 
> <http://2.3.5.so/>
> 002bf000-002c0000 rwxp 00002000 fd:00 945105    /lib/libdl-2.3.5.so 
> <http://2.3.5.so/>
> 002d7000-003a7000 r-xp 00000000 fd:00 1482512    
> /usr/X11R6/lib/libX11.so.6.2
> 003a7000-003ab000 rwxp 000cf000 fd:00 1482512    
> /usr/X11R6/lib/libX11.so.6.2
> 003ad000-003bb000 r-xp 00000000 fd:00 1482513    
> /usr/X11R6/lib/libXext.so.6.4
> 003bb000-003bc000 rwxp 0000e000 fd:00 1482513    
> /usr/X11R6/lib/libXext.so.6.4
> 003be000-003c5000 r-xp 00000000 fd:00 1476469    /usr/X11R6/lib/libXp.so.6.2
> 003c5000-003c6000 rwxp 00006000 fd:00 1476469    /usr/X11R6/lib/libXp.so.6.2
> 004d4000-004dd000 r-xp 00000000 fd:00 945107    
> /lib/libgcc_s-4.0.0-20050520.so.1
> 004dd000-004de000 rwxp 00009000 fd:00 945107    
> /lib/libgcc_s-4.0.0-20050520.so.1
> 005cb000-005d3000 r-xp 00000000 fd:00 1482523    /usr/X11R6/lib/libSM.so.6.0
> 005d3000-005d4000 rwxp 00007000 fd:00 1482523    /usr/X11R6/lib/libSM.so.6.0
> 005d6000-005ed000 r-xp 00000000 fd:00 1482522    
> /usr/X11R6/lib/libICE.so.6.3
> 005ed000-005ee000 rwxp 00016000 fd:00 1482522    
> /usr/X11R6/lib/libICE.so.6.3
> 005ee000-005f0000 rwxp 005ee000 00:00 0
> 005f2000-00847000 r-xp 00000000 fd:00 1475394    
> /usr/X11R6/lib/libXm.so.3.0.2
> 00847000-00860000 rwxp 00255000 fd:00 1475394    
> /usr/X11R6/lib/libXm.so.3.0.2
> 00860000-00861000 rwxp 00860000 00:00 0
> 04000000-04001000 r-xp 00000000 fd:00 260368    
> /usr/local/lib/valgrind/x86-linux/vgpreload_core.so
> 04001000-04002000 rwxp 00000000 fd:00 260368    
> /usr/local/lib/valgrind/x86-linux/vgpreload_core.so
> 04002000-04003000 rwxp 04002000 00:00 0
> 04004000-0400d000 r-xp 00000000 fd:00 943829    
> /lib/libnss_files-2.3.5.so <http://2.3.5.so/>
> 0400d000-0400e000 r-xp 00008000 fd:00 943829    
> /lib/libnss_files-2.3.5.so <http://2.3.5.so/>
> 0400e000-0400f000 rwxp 00009000 fd:00 943829    
> /lib/libnss_files-2.3.5.so <http://2.3.5.so/>
> 04019000-0401a000 rwxp 04019000 00:00 0
> 0401a000-0406c000 r-xp 00000000 fd:00 1481939    /usr/X11R6/lib/libXt.so.6.0
> 0406c000-04070000 rwxp 00052000 fd:00 1481939    /usr/X11R6/lib/libXt.so.6.0
> 04070000-04071000 rwxp 04070000 00:00 0
> 04071000-04087000 r-xp 00000000 fd:00 1482558    
> /usr/X11R6/lib/libXmu.so.6.2
> 04087000-04088000 rwxp 00015000 fd:00 1482558    
> /usr/X11R6/lib/libXmu.so.6.2
> 04088000-04229000 rwxp 04088000 00:00 0
> 07f7d000-07f8f000 r-xp 00000000 fd:00 945114    /lib/libnsl-2.3.5.so 
> <http://2.3.5.so/>
> 07f8f000-07f90000 r-xp 00011000 fd:00 945114    /lib/libnsl-2.3.5.so 
> <http://2.3.5.so/>
> 07f90000-07f91000 rwxp 00012000 fd:00 945114    /lib/libnsl-2.3.5.so 
> <http://2.3.5.so/>
> 07f91000-07f93000 rwxp 07f91000 00:00 0
> 08048000-081c9000 r-xp 00000000 fd:00 2024902    
> /usr/local/gromacs/bin/grompp
> 081c9000-081d0000 rwxp 00181000 fd:00 2024902    
> /usr/local/gromacs/bin/grompp
> 081d0000-08202000 rwxp 081d0000 00:00 0
> 08202000-082bf000 rwxp 08202000 00:00 0
> 61d4a000-6224a000 rwxp 61d4a000 00:00 0
> 6224a000-6224c000 --xp 6224a000 00:00 0
> 6224c000-6225c000 rwxp 6224c000 00:00 0
> 6225c000-6225e000 --xp 6225c000 00:00 0
> 6225e000-633a4000 rwxp 6225e000 00:00 0
> b0000000-b0125000 r-xp 00000000 fd:00 650893    
> /usr/local/lib/valgrind/x86-linux/callgrind
> b0125000-b012e000 rwxp 00125000 fd:00 650893    
> /usr/local/lib/valgrind/x86-linux/callgrind
> b012e000-b074c000 rwxp b012e000 00:00 0
> bea85000-bea93000 rwxp bea85000 00:00 0
> bfa7f000-bfa95000 rw-p bfa7f000 00:00 0          [stack]
> ==7186==
> ==7186== Events    : Ir
> ==7186== Collected : 110292439
> ==7186==
> ==7186== I  refs:      110,292,439
> Aborted
>  
> the program ran perfectly without the profiling tool and generated the
> output files.
> 
> can anybody help me with a solution or a workaround plzzzz.
> 
> does anyone know of other profiling tools that work well with gromacs?

this seems more like a bug that is dependent on memory allocation. I'm 
no aware of any known bug in grompp. Maybe you can recompile all of 
grompp with the -g flag and retry. For memory debugging simpler tools 
like Electric Fence usually work. For profiling, you'd probably want to 
profile mdrun, although there is a bugzilla about grompp being 
excessively slow for large systems with OPLS and dummies.


> 
> thank you in advance
> 
> regards
> ganapathy senthilkumar         
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> gmx-users mailing list    gmx-users at gromacs.org
> http://www.gromacs.org/mailman/listinfo/gmx-users
> 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


-- 
David.
________________________________________________________________________
David van der Spoel, PhD, Assoc. Prof., Molecular Biophysics group,
Dept. of Cell and Molecular Biology, Uppsala University.
Husargatan 3, Box 596,  	75124 Uppsala, Sweden
phone:	46 18 471 4205		fax: 46 18 511 755
spoel at xray.bmc.uu.se	spoel at gromacs.org   http://folding.bmc.uu.se
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



More information about the gromacs.org_gmx-users mailing list