<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'><div style="text-align: left;">Hi,<br><br>I just noticed in your mdp parameters that you have nstlist=0.8 and rvdw=1.4.<br>This is bad for domain decomposition, since it will always communicate all atoms<br>up to 1.4 nm.<br><br>You should increase rlist and rcoulomb to something between 1.0 and 1.2<br>and increase the PME grid spacing with the same factor.<br>In that way you can probably also get to a PME load of 25%.<br><br>Berk<br></div><br><hr id="stopSpelling">&gt; Date: Thu, 2 Oct 2008 07:41:21 -0400<br>&gt; From: jalemkul@vt.edu<br>&gt; To: gmx-users@gromacs.org<br>&gt; Subject: Re: [gmx-users] Improving scaling - Gromacs 4.0 RC2<br>&gt; <br>&gt; <br>&gt; <br>&gt; Berk Hess wrote:<br>&gt; &gt; Hi,<br>&gt; &gt; <br>&gt; &gt; Looking at your 64 core results, it seems that your PP:PME load ratio is <br>&gt; &gt; about 1:1.<br>&gt; &gt; In most cases 3:1 is much better performance wise.<br>&gt; &gt; grompp probably also printed a note about this and also how to fix it.<br>&gt; <br>&gt;  From the .mdp file I posted before, grompp gave the following:<br>&gt; <br>&gt; Calculating fourier grid dimensions for X Y Z<br>&gt; Using a fourier grid of 56x60x50, spacing 0.238 0.230 0.240<br>&gt; Estimate for the relative computational load of the PME mesh part: 0.34<br>&gt; <br>&gt; Should it have advised me about anything else?  It seems that the PME load is <br>&gt; reasonable, given what I understand about the matter.  I suppose that does <br>&gt; indicate to the PP/PME ratio I should be using.<br>&gt; <br>&gt; &gt; I have also described this shortly in the parallelization section of the <br>&gt; &gt; pdf manual.<br>&gt; &gt; <br>&gt; &gt; You should probably increase your cut-offs and pme grid spacing by the <br>&gt; &gt; same factor<br>&gt; &gt; (something around 1.2).<br>&gt; <br>&gt; Which cut-offs, rlist/rcoulomb?  I thought these were force field-dependent. <br>&gt; Please correct me if I'm wrong.<br>&gt; <br>&gt; &gt; Hopefully mdrun should choose the proper number of pme nodes for you<br>&gt; &gt; when you do not use -npme.<br>&gt; <br>&gt; I have never gotten mdrun to cooperate without specifically defining -npme; <br>&gt; maybe it's just me or something that I'm doing.  For example, output from two <br>&gt; runs I tried (using 64 cores):<br>&gt; <br>&gt; 1. With fourierspacing = 0.12 (only difference from the posted .mdp file)<br>&gt; <br>&gt; -------------------------------------------------------<br>&gt; Program mdrun_4.0_rc2_mpi, VERSION 4.0_rc2<br>&gt; Source code file: domdec_setup.c, line: 132<br>&gt; <br>&gt; Fatal error:<br>&gt; Could not find an appropriate number of separate PME nodes. i.e. &gt;= <br>&gt; 0.563840*#nodes (34) and &lt;= #nodes/2 (32) and reasonable performance wise <br>&gt; (grid_x=112, grid_y=117).<br>&gt; Use the -npme option of mdrun or change the number of processors or the PME grid <br>&gt; dimensions, see the manual for details.<br>&gt; -------------------------------------------------------<br>&gt; <br>&gt; <br>&gt; 2. With fourierspacing = 0.24 (the posted .mdp file)<br>&gt; <br>&gt; -------------------------------------------------------<br>&gt; Program mdrun_4.0_rc2_mpi, VERSION 4.0_rc2<br>&gt; Source code file: domdec_setup.c, line: 132<br>&gt; <br>&gt; Fatal error:<br>&gt; Could not find an appropriate number of separate PME nodes. i.e. &gt;= <br>&gt; 0.397050*#nodes (24) and &lt;= #nodes/2 (32) and reasonable performance wise <br>&gt; (grid_x=56, grid_y=60).<br>&gt; Use the -npme option of mdrun or change the number of processors or the PME grid <br>&gt; dimensions, see the manual for details.<br>&gt; -------------------------------------------------------<br>&gt; <br>&gt; <br>&gt; Thanks.<br>&gt; <br>&gt; -Justin<br>&gt; <br>&gt; &gt; <br>&gt; &gt; Berk<br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; ------------------------------------------------------------------------<br>&gt; &gt;  &gt; Date: Wed, 1 Oct 2008 17:18:24 -0400<br>&gt; &gt;  &gt; From: jalemkul@vt.edu<br>&gt; &gt;  &gt; To: gmx-users@gromacs.org<br>&gt; &gt;  &gt; Subject: [gmx-users] Improving scaling - Gromacs 4.0 RC2<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Hi,<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; I've been playing around with the latest release candidate of version <br>&gt; &gt; 4.0, and I<br>&gt; &gt;  &gt; was hoping someone out there more knowledgeable than me might tell me <br>&gt; &gt; how to<br>&gt; &gt;  &gt; improve a bit on the performance I'm seeing. To clarify, the <br>&gt; &gt; performance I'm<br>&gt; &gt;  &gt; seeing is a ton faster than 3.3.x, but I still seem to be getting <br>&gt; &gt; bogged down<br>&gt; &gt;  &gt; with the PME/PP balance. I'm using mostly the default options with <br>&gt; &gt; the new mdrun:<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; mdrun_mpi -s test.tpr -np 64 -npme 32<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; The system contains about 150,000 atoms - a membrane protein <br>&gt; &gt; surrounded by<br>&gt; &gt;  &gt; several hundred lipids and solvent (water). The protein parameters <br>&gt; &gt; are GROMOS,<br>&gt; &gt;  &gt; lipids are Berger, and water is SPC. My .mdp file (adapted from a <br>&gt; &gt; generic 3.3.x<br>&gt; &gt;  &gt; file that I always used to use for such simulations) is attached at <br>&gt; &gt; the end of<br>&gt; &gt;  &gt; this mail. It seems that my system runs fastest on 64 CPU's. Almost <br>&gt; &gt; all tests<br>&gt; &gt;  &gt; with 128 or 256 seem to run slower. The nodes are dual-core 2.3 GHz <br>&gt; &gt; Xserve G5,<br>&gt; &gt;  &gt; connected by Infiniband.<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Here's a summary of some of the tests I've run:<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; -np -npme -ddorder ns/day % performance loss from imbalance<br>&gt; &gt;  &gt; 64 16 interleave 5.760 19.6<br>&gt; &gt;  &gt; 64 32 interleave 9.600 40.9<br>&gt; &gt;  &gt; 64 32 pp_pme 5.252 3.9<br>&gt; &gt;  &gt; 64 32 cartesian 5.383 4.7<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; All other mdrun command line options are defaults.<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; I get ~10.3 ns/day with -np 256 -npme 64, but since -np 64 -npme 32 <br>&gt; &gt; seems to<br>&gt; &gt;  &gt; give almost that same performance there seems to be no compelling <br>&gt; &gt; reason to tie<br>&gt; &gt;  &gt; up that many nodes.<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Any hints on how to speed things up any more? Is it possible? Not <br>&gt; &gt; that I'm<br>&gt; &gt;  &gt; complaining...the same system under GMX 3.3.3 gives just under 1 <br>&gt; &gt; ns/day :) I'm<br>&gt; &gt;  &gt; really curious about the 40.9% performance loss I'm seeing with -np <br>&gt; &gt; 64 -npme 32,<br>&gt; &gt;  &gt; even though it gives the best overall performance in terms of ns/day.<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Thanks in advance for your attention, and any comments.<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; -Justin<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; =======test.mdp=========<br>&gt; &gt;  &gt; title = NPT simulation for a membrane protein<br>&gt; &gt;  &gt; ; Run parameters<br>&gt; &gt;  &gt; integrator = md<br>&gt; &gt;  &gt; dt = 0.002<br>&gt; &gt;  &gt; nsteps = 10000 ; 20 ps<br>&gt; &gt;  &gt; nstcomm = 1<br>&gt; &gt;  &gt; ; Output parameters<br>&gt; &gt;  &gt; nstxout = 500<br>&gt; &gt;  &gt; nstvout = 500<br>&gt; &gt;  &gt; nstfout = 500<br>&gt; &gt;  &gt; nstlog = 500<br>&gt; &gt;  &gt; nstenergy = 500<br>&gt; &gt;  &gt; ; Bond parameters<br>&gt; &gt;  &gt; constraint_algorithm = lincs<br>&gt; &gt;  &gt; constraints = all-bonds<br>&gt; &gt;  &gt; continuation = no ; starting up<br>&gt; &gt;  &gt; ; Twin-range cutoff scheme, parameters for Gromos96<br>&gt; &gt;  &gt; nstlist = 5<br>&gt; &gt;  &gt; ns_type = grid<br>&gt; &gt;  &gt; rlist = 0.8<br>&gt; &gt;  &gt; rcoulomb = 0.8<br>&gt; &gt;  &gt; rvdw = 1.4<br>&gt; &gt;  &gt; ; PME electrostatics parameters<br>&gt; &gt;  &gt; coulombtype = PME<br>&gt; &gt;  &gt; fourierspacing = 0.24<br>&gt; &gt;  &gt; pme_order = 4<br>&gt; &gt;  &gt; ewald_rtol = 1e-5<br>&gt; &gt;  &gt; optimize_fft = yes<br>&gt; &gt;  &gt; ; V-rescale temperature coupling is on in three groups<br>&gt; &gt;  &gt; Tcoupl = V-rescale<br>&gt; &gt;  &gt; tc_grps = Protein POPC SOL_NA+_CL-<br>&gt; &gt;  &gt; tau_t = 0.1 0.1 0.1<br>&gt; &gt;  &gt; ref_t = 310 310 310<br>&gt; &gt;  &gt; ; Pressure coupling is on<br>&gt; &gt;  &gt; Pcoupl = Berendsen<br>&gt; &gt;  &gt; pcoupltype = semiisotropic<br>&gt; &gt;  &gt; tau_p = 2.0<br>&gt; &gt;  &gt; compressibility = 4.5e-5 4.5e-5<br>&gt; &gt;  &gt; ref_p = 1.0 1.0<br>&gt; &gt;  &gt; ; Generate velocities is on<br>&gt; &gt;  &gt; gen_vel = yes<br>&gt; &gt;  &gt; gen_temp = 310<br>&gt; &gt;  &gt; gen_seed = 173529<br>&gt; &gt;  &gt; ; Periodic boundary conditions are on in all directions<br>&gt; &gt;  &gt; pbc = xyz<br>&gt; &gt;  &gt; ; Long-range dispersion correction<br>&gt; &gt;  &gt; DispCorr = EnerPres<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; ========end test.mdp==========<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; --<br>&gt; &gt;  &gt; ========================================<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Justin A. Lemkul<br>&gt; &gt;  &gt; Graduate Research Assistant<br>&gt; &gt;  &gt; Department of Biochemistry<br>&gt; &gt;  &gt; Virginia Tech<br>&gt; &gt;  &gt; Blacksburg, VA<br>&gt; &gt;  &gt; jalemkul[at]vt.edu | (540) 231-9080<br>&gt; &gt;  &gt; http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; ========================================<br>&gt; &gt;  &gt; _______________________________________________<br>&gt; &gt;  &gt; gmx-users mailing list gmx-users@gromacs.org<br>&gt; &gt;  &gt; http://www.gromacs.org/mailman/listinfo/gmx-users<br>&gt; &gt;  &gt; Please search the archive at http://www.gromacs.org/search before <br>&gt; &gt; posting!<br>&gt; &gt;  &gt; Please don't post (un)subscribe requests to the list. Use the<br>&gt; &gt;  &gt; www interface or send it to gmx-users-request@gromacs.org.<br>&gt; &gt;  &gt; Can't post? Read http://www.gromacs.org/mailing_lists/users.php<br>&gt; &gt; <br>&gt; &gt; ------------------------------------------------------------------------<br>&gt; &gt; Express yourself instantly with MSN Messenger! MSN Messenger <br>&gt; &gt; &lt;http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/&gt;<br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; ------------------------------------------------------------------------<br>&gt; &gt; <br>&gt; &gt; _______________________________________________<br>&gt; &gt; gmx-users mailing list    gmx-users@gromacs.org<br>&gt; &gt; http://www.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 <br>&gt; &gt; www 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; <br>&gt; Justin A. Lemkul<br>&gt; Graduate Research Assistant<br>&gt; Department of Biochemistry<br>&gt; Virginia Tech<br>&gt; Blacksburg, VA<br>&gt; jalemkul[at]vt.edu | (540) 231-9080<br>&gt; http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin<br>&gt; <br>&gt; ========================================<br>&gt; _______________________________________________<br>&gt; gmx-users mailing list    gmx-users@gromacs.org<br>&gt; http://www.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 />Express yourself instantly with MSN Messenger! <a href='http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/' target='_new'>MSN Messenger</a></body>
</html>