<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
<br><br>&gt; Date: Fri, 31 Jul 2009 07:49:49 +0200<br>&gt; From: spoel@xray.bmc.uu.se<br>&gt; To: gmx-users@gromacs.org<br>&gt; Subject: Re: [gmx-users] very strange domain composition statistics<br>&gt; <br>&gt; Mark Abraham wrote:<br>&gt; &gt; Jennifer Williams wrote:<br>&gt; &gt;&gt; Hi ,<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; I am having some problems when running in parallel. Although my jobs <br>&gt; &gt;&gt; run to completion I am getting some worrying domain decomposition <br>&gt; &gt;&gt; statistics in particular the average load imbalance and the <br>&gt; &gt;&gt; performance loss due to load imbalance see below:<br>&gt; &gt; <br>&gt; &gt; Please report your GROMACS version number. If it's not the latest <br>&gt; &gt; (4.0.5), then you should probably update and see if it's a problem that <br>&gt; &gt; may have been fixed between those releases. You might also try it <br>&gt; &gt; without your freeze groups, especially if they dominate the system.<br>&gt; <br>&gt; In addition, you do not specify how may processors you used, nor the <br>&gt; division over processors that mdrun makes and not the expected <br>&gt; performance either. From the numbers below it seems like you used 1 or 2 <br>&gt; processors at most. The large number is definitely erroneous though.<br>&gt; <br><br>For the cycle count table the number of processors seems to be 6.<br><br>It seems that the cycle counters have overflowed.<br>On what kind of architecture with what kind of compilers are you running this?<br><br>Berk<br><br>&gt; &gt; <br>&gt; &gt;&gt; D O M A I N   D E C O M P O S I T I O N   S T A T I S T I C S<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;  av. #atoms communicated per step for force:  2 x 1974.8<br>&gt; &gt;&gt;  av. #atoms communicated per step for LINCS:  2 x 15.2<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;  Average load imbalance: 500.0 %<br>&gt; &gt;&gt;  Part of the total run time spent waiting due to load imbalance: <br>&gt; &gt;&gt; 4246403072.0 %<br>&gt; &gt;&gt;  Steps where the load balancing was limited by -rdd, -rcon and/or <br>&gt; &gt;&gt; -dds: X 9 %<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; NOTE: 4246403072.0 % performance was lost due to load imbalance<br>&gt; &gt;&gt;       in the domain decomposition.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;      R E A L   C Y C L E   A N D   T I M E   A C C O U N T I N G<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;  Computing:         Nodes     Number     G-Cycles    Seconds     %<br>&gt; &gt;&gt; -----------------------------------------------------------------------<br>&gt; &gt;&gt;  Write traj.            6       1001 18443320139.164    42130.9   100.0<br>&gt; &gt;&gt;  Update                 6    1000001 18442922984.491    42130.0   100.0<br>&gt; &gt;&gt;  Rest                   6            9223372036.855    21069.4    50.0<br>&gt; &gt;&gt; -----------------------------------------------------------------------<br>&gt; &gt;&gt;  Total                  6            18446422611.669    42138.0   100.0<br>&gt; &gt;&gt; -----------------------------------------------------------------------<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; NOTE: 305 % of the run time was spent communicating energies,<br>&gt; &gt;&gt;       you might want to use the -nosum option of mdrun<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;         Parallel run - timing based on wallclock.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;                NODE (s)   Real (s)      (%)<br>&gt; &gt;&gt;        Time:   7023.000   7023.000    100.0<br>&gt; &gt;&gt;                        1h57:03<br>&gt; &gt;&gt;                (Mnbf/s)   (GFlops)   (ns/day)  (hour/ns)<br>&gt; &gt;&gt; Performance:     14.214      1.902     12.302      1.951<br>&gt; &gt;&gt; Finished mdrun on node 0 Wed Jul 29 23:47:18 2009<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Below is my .mdp file: I am using the PME but not having much of a <br>&gt; &gt;&gt; feel for how to set the options under  Spacing for the PME/PPPM FFT <br>&gt; &gt;&gt; grid, I left these as the default values. Could this be where the <br>&gt; &gt;&gt; trouble lies?<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; My cut-off cannot be larger than 0.9 as my unit cell is only 18.2A in <br>&gt; &gt;&gt; one direction.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; How do I choose values for PME/PPPM? Ie what kind of values to use for <br>&gt; &gt;&gt; nx, ny and nz ?<br>&gt; &gt; <br>&gt; &gt; See manual section 3.17.5<br>&gt; &gt; <br>&gt; &gt;&gt; I read that they should be divisible by npme to get the best <br>&gt; &gt;&gt; performance. Is npme the pme_order in the .mdp file? If not where do I <br>&gt; &gt;&gt; set this parameter?<br>&gt; &gt; <br>&gt; &gt; No, -npme is a command line parameter to mdrun. Roughly speaking, things <br>&gt; &gt; that have a material effect on the physics are specified in the .mdp <br>&gt; &gt; file, and things that either require external file(names) to be supplied <br>&gt; &gt; or which only affect the implementation of the physics are specified on <br>&gt; &gt; the command line.<br>&gt; &gt; <br>&gt; &gt; Mark<br>&gt; &gt; <br>&gt; &gt;&gt; Much appreciated,<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Jenny<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; VARIOUS PREPROCESSING OPTIONS<br>&gt; &gt;&gt; ; Preprocessor information: use cpp syntax.<br>&gt; &gt;&gt; ; e.g.: -I/home/joe/doe -I/home/mary/hoe<br>&gt; &gt;&gt; include                  = -I../top<br>&gt; &gt;&gt; ; e.g.: -DI_Want_Cookies -DMe_Too<br>&gt; &gt;&gt; define                   =<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; RUN CONTROL PARAMETERS<br>&gt; &gt;&gt; integrator               = md<br>&gt; &gt;&gt; ; Start time and timestep in ps<br>&gt; &gt;&gt; tinit                    = 0<br>&gt; &gt;&gt; dt                       = 0.001<br>&gt; &gt;&gt; nsteps                   = 1000000<br>&gt; &gt;&gt; ; For exact run continuation or redoing part of a run<br>&gt; &gt;&gt; ; Part index is updated automatically on checkpointing (keeps files <br>&gt; &gt;&gt; separate)<br>&gt; &gt;&gt; simulation_part          = 1<br>&gt; &gt;&gt; init_step                = 0<br>&gt; &gt;&gt; ; mode for center of mass motion removal<br>&gt; &gt;&gt; comm-mode                = linear<br>&gt; &gt;&gt; ; number of steps for center of mass motion removal<br>&gt; &gt;&gt; nstcomm                  = 1<br>&gt; &gt;&gt; ; group(s) for center of mass motion removal<br>&gt; &gt;&gt; comm-grps                =<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; LANGEVIN DYNAMICS OPTIONS<br>&gt; &gt;&gt; ; Friction coefficient (amu/ps) and random seed<br>&gt; &gt;&gt; bd-fric                  = 0<br>&gt; &gt;&gt; ld-seed                  = 1993<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; ENERGY MINIMIZATION OPTIONS<br>&gt; &gt;&gt; ; Force tolerance and initial step-size<br>&gt; &gt;&gt; emtol                    =<br>&gt; &gt;&gt; emstep                   =<br>&gt; &gt;&gt; ; Max number of iterations in relax_shells<br>&gt; &gt;&gt; niter                    =<br>&gt; &gt;&gt; ; Step size (ps^2) for minimization of flexible constraints<br>&gt; &gt;&gt; fcstep                   =<br>&gt; &gt;&gt; ; Frequency of steepest descents steps when doing CG<br>&gt; &gt;&gt; nstcgsteep               =<br>&gt; &gt;&gt; nbfgscorr                =<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; TEST PARTICLE INSERTION OPTIONS<br>&gt; &gt;&gt; rtpi                     =<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; OUTPUT CONTROL OPTIONS<br>&gt; &gt;&gt; ; Output frequency for coords (x), velocities (v) and forces (f)<br>&gt; &gt;&gt; nstxout                  = 1000<br>&gt; &gt;&gt; nstvout                  = 1000<br>&gt; &gt;&gt; nstfout                  = 0<br>&gt; &gt;&gt; ; Output frequency for energies to log file and energy file<br>&gt; &gt;&gt; nstlog                   = 1000<br>&gt; &gt;&gt; nstenergy                = 1000<br>&gt; &gt;&gt; ; Output frequency and precision for xtc file<br>&gt; &gt;&gt; nstxtcout                = 1000<br>&gt; &gt;&gt; xtc-precision            = 1000<br>&gt; &gt;&gt; ; This selects the subset of atoms for the xtc file. You can<br>&gt; &gt;&gt; ; select multiple groups. By default all atoms will be written.<br>&gt; &gt;&gt; xtc-grps                 =<br>&gt; &gt;&gt; ; Selection of energy groups<br>&gt; &gt;&gt; energygrps               =<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; NEIGHBORSEARCHING PARAMETERS<br>&gt; &gt;&gt; ; nblist update frequency<br>&gt; &gt;&gt; nstlist                  =<br>&gt; &gt;&gt; ; ns algorithm (simple or grid)<br>&gt; &gt;&gt; ns_type                  = grid<br>&gt; &gt;&gt; ; Periodic boundary conditions: xyz, no, xy<br>&gt; &gt;&gt; pbc                      = xyz<br>&gt; &gt;&gt; periodic_molecules       = yes<br>&gt; &gt;&gt; ; nblist cut-off<br>&gt; &gt;&gt; rlist                    = 0.9<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; OPTIONS FOR ELECTROSTATICS AND VDW<br>&gt; &gt;&gt; ; Method for doing electrostatics<br>&gt; &gt;&gt; coulombtype              = PME<br>&gt; &gt;&gt; rcoulomb-switch          = 0<br>&gt; &gt;&gt; rcoulomb                 = 0.9<br>&gt; &gt;&gt; ; Relative dielectric constant for the medium and the reaction field<br>&gt; &gt;&gt; epsilon_r                =<br>&gt; &gt;&gt; epsilon_rf               =<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; Method for doing Van der Waals<br>&gt; &gt;&gt; vdw-type                 = Cut-off<br>&gt; &gt;&gt; ; cut-off lengths<br>&gt; &gt;&gt; rvdw-switch              = 0<br>&gt; &gt;&gt; rvdw                     = 0.9<br>&gt; &gt;&gt; ; Apply long range dispersion corrections for Energy and Pressure<br>&gt; &gt;&gt; DispCorr                 = No<br>&gt; &gt;&gt; ; Extension of the potential lookup tables beyond the cut-off<br>&gt; &gt;&gt; table-extension          =<br>&gt; &gt;&gt; ; Seperate tables between energy group pairs<br>&gt; &gt;&gt; energygrp_table          =<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; Spacing for the PME/PPPM FFT grid<br>&gt; &gt;&gt; fourierspacing           = 0.12<br>&gt; &gt;&gt; ; FFT grid size, when a value is 0 fourierspacing will be used<br>&gt; &gt;&gt; fourier_nx               = 0<br>&gt; &gt;&gt; fourier_ny               = 0<br>&gt; &gt;&gt; fourier_nz               = 0<br>&gt; &gt;&gt; ; EWALD/PME/PPPM parameters<br>&gt; &gt;&gt; pme_order                =<br>&gt; &gt;&gt; ewald_rtol               = 1e-05<br>&gt; &gt;&gt; ewald_geometry           = 3d<br>&gt; &gt;&gt; epsilon_surface          = 0<br>&gt; &gt;&gt; optimize_fft             = yes<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; OPTIONS FOR WEAK COUPLING ALGORITHMS<br>&gt; &gt;&gt; ; Temperature coupling<br>&gt; &gt;&gt; tcoupl                   = nose-hoover<br>&gt; &gt;&gt; ; Groups to couple separately<br>&gt; &gt;&gt; tc-grps                  = System<br>&gt; &gt;&gt; ; Time constant (ps) and reference temperature (K)<br>&gt; &gt;&gt; tau_t                    = 0.1<br>&gt; &gt;&gt; ref_t                    = 150<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; Pressure coupling<br>&gt; &gt;&gt; Pcoupl                   = No<br>&gt; &gt;&gt; Pcoupltype               =<br>&gt; &gt;&gt; ; Time constant (ps), compressibility (1/bar) and reference P (bar)<br>&gt; &gt;&gt; tau-p                    =<br>&gt; &gt;&gt; compressibility          =<br>&gt; &gt;&gt; ref-p                    =<br>&gt; &gt;&gt; ; Scaling of reference coordinates, No, All or COM<br>&gt; &gt;&gt; refcoord_scaling         = no<br>&gt; &gt;&gt; ; Random seed for Andersen thermostat<br>&gt; &gt;&gt; andersen_seed            =<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; GENERATE VELOCITIES FOR STARTUP RUN<br>&gt; &gt;&gt; gen_vel                  = yes<br>&gt; &gt;&gt; gen_temp                 = 150<br>&gt; &gt;&gt; gen_seed                 = 173529<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; OPTIONS FOR BONDS<br>&gt; &gt;&gt; constraints              = none<br>&gt; &gt;&gt; ; Type of constraint algorithm<br>&gt; &gt;&gt; constraint-algorithm     = Lincs<br>&gt; &gt;&gt; ; Do not constrain the start configuration<br>&gt; &gt;&gt; continuation             = no<br>&gt; &gt;&gt; ; Use successive overrelaxation to reduce the number of shake iterations<br>&gt; &gt;&gt; Shake-SOR                = no<br>&gt; &gt;&gt; ; Relative tolerance of shake<br>&gt; &gt;&gt; shake-tol                = 0.0001<br>&gt; &gt;&gt; ; Highest order in the expansion of the constraint coupling matrix<br>&gt; &gt;&gt; lincs-order              = 4<br>&gt; &gt;&gt; ; Number of iterations in the final step of LINCS. 1 is fine for<br>&gt; &gt;&gt; ; normal simulations, but use 2 to conserve energy in NVE runs.<br>&gt; &gt;&gt; ; For energy minimization with constraints it should be 4 to 8.<br>&gt; &gt;&gt; lincs-iter               = 1<br>&gt; &gt;&gt; ; Lincs will write a warning to the stderr if in one step a bond<br>&gt; &gt;&gt; ; rotates over more degrees than<br>&gt; &gt;&gt; lincs-warnangle          = 30<br>&gt; &gt;&gt; ; Convert harmonic bonds to morse potentials<br>&gt; &gt;&gt; morse                    = no<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; ENERGY GROUP EXCLUSIONS<br>&gt; &gt;&gt; ; Pairs of energy groups for which all non-bonded interactions are <br>&gt; &gt;&gt; excluded<br>&gt; &gt;&gt; energygrp_excl           =<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; WALLS<br>&gt; &gt;&gt; ; Number of walls, type, atom types, densities and box-z scale factor <br>&gt; &gt;&gt; for Ewald<br>&gt; &gt;&gt; nwall                    = 0<br>&gt; &gt;&gt; wall_type                = 9-3<br>&gt; &gt;&gt; wall_r_linpot            = -1<br>&gt; &gt;&gt; wall_atomtype            =<br>&gt; &gt;&gt; wall_density             =<br>&gt; &gt;&gt; wall_ewald_zfac          = 3<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ; Non-equilibrium MD stuff<br>&gt; &gt;&gt; acc-grps                 =<br>&gt; &gt;&gt; accelerate               =<br>&gt; &gt;&gt; freezegrps               = SI_O<br>&gt; &gt;&gt; freezedim                = Y Y Y<br>&gt; &gt;&gt; cos-acceleration         = 0<br>&gt; &gt;&gt; deform                   =<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt; _______________________________________________<br>&gt; &gt; gmx-users mailing list    gmx-users@gromacs.org<br>&gt; &gt; http://lists.gromacs.org/mailman/listinfo/gmx-users<br>&gt; &gt; Please search the archive at http://www.gromacs.org/search before posting!<br>&gt; &gt; Please don't post (un)subscribe requests to the list. Use the www <br>&gt; &gt; interface or send it to gmx-users-request@gromacs.org.<br>&gt; &gt; Can't post? Read http://www.gromacs.org/mailing_lists/users.php<br>&gt; <br>&gt; <br>&gt; -- <br>&gt; David van der Spoel, Ph.D., Professor of Biology<br>&gt; Molec. Biophys. group, Dept. of Cell &amp; Molec. Biol., Uppsala University.<br>&gt; Box 596, 75124 Uppsala, Sweden. Phone:        +46184714205. Fax: +4618511755.<br>&gt; spoel@xray.bmc.uu.se        spoel@gromacs.org   http://folding.bmc.uu.se<br>&gt; _______________________________________________<br>&gt; gmx-users mailing list    gmx-users@gromacs.org<br>&gt; http://lists.gromacs.org/mailman/listinfo/gmx-users<br>&gt; Please search the archive at http://www.gromacs.org/search before posting!<br>&gt; Please don't post (un)subscribe requests to the list. Use the <br>&gt; www interface or send it to gmx-users-request@gromacs.org.<br>&gt; Can't post? Read http://www.gromacs.org/mailing_lists/users.php<br><br /><hr />See all the ways you can stay connected <a href='http://www.microsoft.com/windows/windowslive/default.aspx' target='_new'>to friends and family</a></body>
</html>