[gmx-users] Re: slow speed

Justin A. Lemkul jalemkul at vt.edu
Fri Apr 16 01:47:24 CEST 2010



Shuangxing Dai wrote:
> I am not running in parallel. Right now I just changed links order from 
> 12 to 4. It is still slow. While I change to shift, not Ewald, it 
> finished 10000 steps in 10 mins. In the paper: 
> 
> J Comput Chem. 
> <javascript:AL_get(this,%20'jour',%20'J%20Comput%20Chem.');> 2005 
> Dec;26(16):1701-18.
> 
> 
>   GROMACS: fast, flexible, and free.
>   <http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.418&rep=rep1&type=pdf>
> 
> Van Der Spoel D 
> <http://www.ncbi.nlm.nih.gov/pubmed?term=%22Van%20Der%20Spoel%20D%22%5BAuthor%5D>, Lindahl 
> E 
> <http://www.ncbi.nlm.nih.gov/pubmed?term=%22Lindahl%20E%22%5BAuthor%5D>, Hess 
> B 
> <http://www.ncbi.nlm.nih.gov/pubmed?term=%22Hess%20B%22%5BAuthor%5D>, Groenhof 
> G 
> <http://www.ncbi.nlm.nih.gov/pubmed?term=%22Groenhof%20G%22%5BAuthor%5D>, Mark 
> AE 
> <http://www.ncbi.nlm.nih.gov/pubmed?term=%22Mark%20AE%22%5BAuthor%5D>, Berendsen 
> HJ 
> <http://www.ncbi.nlm.nih.gov/pubmed?term=%22Berendsen%20HJ%22%5BAuthor%5D>.
> 
>  The performance there is around 10000 ps/day. I do not understand why 
> my speed is so slow and it seems that Ewald option makes it slow. 
> 

The greatest performance obtained in the paper you quote uses virtual sites, 
long time steps, and plain cutoff (or RF) for electrostatics.  Ewald summation 
methods are going to be slower.  The system size will also be a major factor. 
The benchmarks are based on relatively small systems (10,000 atoms for the 
best-performing systems).  If you have many more atoms, you can't expect the 
same performance.  You're simply comparing apples to oranges.

-Justin

> Thanks,
> Shuangxing Dai
> 
> 
> On Thu, Apr 15, 2010 at 10:18 AM, <gmx-users-request at gromacs.org 
> <mailto:gmx-users-request at gromacs.org>> wrote:
> 
>     Send gmx-users mailing list submissions to
>            gmx-users at gromacs.org <mailto:gmx-users at gromacs.org>
> 
>     To subscribe or unsubscribe via the World Wide Web, visit
>            http://lists.gromacs.org/mailman/listinfo/gmx-users
>     or, via email, send a message with subject or body 'help' to
>            gmx-users-request at gromacs.org
>     <mailto:gmx-users-request at gromacs.org>
> 
>     You can reach the person managing the list at
>            gmx-users-owner at gromacs.org <mailto:gmx-users-owner at gromacs.org>
> 
>     When replying, please edit your Subject line so it is more specific
>     than "Re: Contents of gmx-users digest..."
> 
> 
>     Today's Topics:
> 
>       1. slow speed (Shuangxing Dai)
>       2. Re: slow speed (Justin A. Lemkul)
>       3. Re: slow speed (XAvier Periole)
>       4. Re: slow speed (Mark Abraham)
> 
> 
>     ----------------------------------------------------------------------
> 
>     Message: 1
>     Date: Thu, 15 Apr 2010 10:02:47 -0400
>     From: Shuangxing Dai <shuangxingdai at gmail.com
>     <mailto:shuangxingdai at gmail.com>>
>     Subject: [gmx-users] slow speed
>     To: gmx-users at gromacs.org <mailto:gmx-users at gromacs.org>
>     Message-ID:
>          
>      <q2ka8381c791004150702ye4007304pa2156201ca4b5635 at mail.gmail.com
>     <mailto:q2ka8381c791004150702ye4007304pa2156201ca4b5635 at mail.gmail.com>>
>     Content-Type: text/plain; charset="utf-8"
> 
>     Hi, gmx-users:
>       I am using latest version of gromacs and found it was really slow.
>     I was
>     wondering anyone got the same experience and can point out where the
>     problem
>     is.
>       I was running double precision for MD. But for each dynamics
>     simulation,
>     it takes 4 days. I should only take two or three hours.
>       Here is the .mdp file:
>     define                   =
>     ; RUN CONTROL PARAMETERS =
>     integrator               = sd
>     ; start time and timestep in ps =
>     tinit                    = 0
>     dt                       = 0.001
>     nsteps                   = 200000
>     ; number of steps for center of mass motion removal =
>     nstcomm                  = 100
>     ; OUTPUT CONTROL OPTIONS =
>     ; Output frequency for coords (x), velocities (v) and forces (f) =
>     nstxout                  = 0
>     nstvout                  = 0
>     nstfout                  = 0
>     ; Output frequency for energies to log file and energy file =
>     nstlog                   = 100
>     nstenergy                = 100
>     ; Output frequency and precision for xtc file =
>     nstxtcout                = 100
>     xtc-precision            = 1000
>     ; NEIGHBORSEARCHING PARAMETERS =
>     ; nblist update frequency =
>     nstlist                  = 50
>     ; ns algorithm (simple or grid) =
>     ns_type                  = grid
> 
>     ;OPTIONS FOR PRESSURE COUPLING
>     Pcoupl                   = berendsen
>     tau_p                    = 1
>     compressibility          = 4.5e-05
>     ref_p                    = 0.1
>     ;OPTIONS FOR TEMPERATURE COUPLING
>     tc_grps                  = system
>     tau_t                    = 0.1
>     ref_t                    = 300
>     ; OPTIONS FOR BONDS     =
>     constraints              = hbonds
>     ; Type of constraint algorithm =
>     constraint-algorithm     = Lincs
>     ; Do not constrain the start configuration =
>     unconstrained-start      = no
>     ; Relative tolerance of shake =
>     shake-tol                = 0.0001
>     ; Highest order in the expansion of the constraint coupling matrix =
>     lincs-order              = 12
>     ; Lincs will write a warning to the stderr if in one step a bond =
>     ; rotates over more degrees than =
>     lincs-warnangle          = 30
>     ; Periodic boundary conditions: xyz, no, xy
>     pbc                      = xyz
>     periodic_molecules       = no
>     ; nblist cut-off
>     rlist                    = 1
> 
>     ; OPTIONS FOR ELECTROSTATICS AND VDW
>     ; Method for doing electrostatics
>     coulombtype              = Ewald
>     rcoulomb                 = 1
>     ; Method for doing Van der Waals
>     vdw-type                 = Cut-off
>     ; cut-off lengths
>     rvdw                     = 1
> 
>     ; Spacing for the PME/PPPM FFT grid
>     fourierspacing           = 0.12
>     ; FFT grid size, when a value is 0 fourierspacing will be used
>     fourier_nx               = 0
>     fourier_ny               = 0
>     fourier_nz               = 0
>     ; EWALD/PME/PPPM parameters
>     pme_order                = 6
>     ewald_rtol               = 1e-4
>     ewald_geometry           = 3d
>     epsilon_surface          = 0
>     optimize_fft             = no
> 
>      Can anyone help me? Thank you in advance.
>     Thanks,
>     Shuangxing Dai
>     -------------- next part --------------
>     An HTML attachment was scrubbed...
>     URL:
>     http://lists.gromacs.org/pipermail/gmx-users/attachments/20100415/73eee331/attachment-0001.html
> 
>     ------------------------------
> 
>     Message: 2
>     Date: Thu, 15 Apr 2010 10:09:58 -0400
>     From: "Justin A. Lemkul" <jalemkul at vt.edu <mailto:jalemkul at vt.edu>>
>     Subject: Re: [gmx-users] slow speed
>     To: Discussion list for GROMACS users <gmx-users at gromacs.org
>     <mailto:gmx-users at gromacs.org>>
>     Message-ID: <4BC71E36.6050102 at vt.edu <mailto:4BC71E36.6050102 at vt.edu>>
>     Content-Type: text/plain; charset=UTF-8; format=flowed
> 
> 
> 
>     Shuangxing Dai wrote:
>      > Hi, gmx-users:
>      >    I am using latest version of gromacs and found it was really
>     slow. I
>      > was wondering anyone got the same experience and can point out
>     where the
>      > problem is.
>      >    I was running double precision for MD. But for each dynamics
>      > simulation, it takes 4 days. I should only take two or three hours.
> 
>     How did you establish this benchmark?  Are you running in serial or
>     in parallel?
>      If you're running in parallel, what type of interconnect do the
>     processors
>     have?  If they're high-latency (like gigabit ethernet) you will not
>     get very
>     good performance.
> 
>     -Justin
> 
>      >    Here is the .mdp file:
>      > define                   =
>      > ; RUN CONTROL PARAMETERS =
>      > integrator               = sd
>      > ; start time and timestep in ps =
>      > tinit                    = 0
>      > dt                       = 0.001
>      > nsteps                   = 200000
>      > ; number of steps for center of mass motion removal =
>      > nstcomm                  = 100
>      > ; OUTPUT CONTROL OPTIONS =
>      > ; Output frequency for coords (x), velocities (v) and forces (f) =
>      > nstxout                  = 0
>      > nstvout                  = 0
>      > nstfout                  = 0
>      > ; Output frequency for energies to log file and energy file =
>      > nstlog                   = 100
>      > nstenergy                = 100
>      > ; Output frequency and precision for xtc file =
>      > nstxtcout                = 100
>      > xtc-precision            = 1000
>      > ; NEIGHBORSEARCHING PARAMETERS =
>      > ; nblist update frequency =
>      > nstlist                  = 50
>      > ; ns algorithm (simple or grid) =
>      > ns_type                  = grid
>      >
>      > ;OPTIONS FOR PRESSURE COUPLING
>      > Pcoupl                   = berendsen
>      > tau_p                    = 1
>      > compressibility          = 4.5e-05
>      > ref_p                    = 0.1
>      > ;OPTIONS FOR TEMPERATURE COUPLING
>      > tc_grps                  = system
>      > tau_t                    = 0.1
>      > ref_t                    = 300
>      > ; OPTIONS FOR BONDS     =
>      > constraints              = hbonds
>      > ; Type of constraint algorithm =
>      > constraint-algorithm     = Lincs
>      > ; Do not constrain the start configuration =
>      > unconstrained-start      = no
>      > ; Relative tolerance of shake =
>      > shake-tol                = 0.0001
>      > ; Highest order in the expansion of the constraint coupling matrix =
>      > lincs-order              = 12
>      > ; Lincs will write a warning to the stderr if in one step a bond =
>      > ; rotates over more degrees than =
>      > lincs-warnangle          = 30
>      > ; Periodic boundary conditions: xyz, no, xy
>      > pbc                      = xyz
>      > periodic_molecules       = no
>      > ; nblist cut-off
>      > rlist                    = 1
>      >
>      > ; OPTIONS FOR ELECTROSTATICS AND VDW
>      > ; Method for doing electrostatics
>      > coulombtype              = Ewald
>      > rcoulomb                 = 1
>      > ; Method for doing Van der Waals
>      > vdw-type                 = Cut-off
>      > ; cut-off lengths
>      > rvdw                     = 1
>      >
>      > ; Spacing for the PME/PPPM FFT grid
>      > fourierspacing           = 0.12
>      > ; FFT grid size, when a value is 0 fourierspacing will be used
>      > fourier_nx               = 0
>      > fourier_ny               = 0
>      > fourier_nz               = 0
>      > ; EWALD/PME/PPPM parameters
>      > pme_order                = 6
>      > ewald_rtol               = 1e-4
>      > ewald_geometry           = 3d
>      > epsilon_surface          = 0
>      > optimize_fft             = no
>      >
>      >   Can anyone help me? Thank you in advance.
>      > Thanks,
>      > Shuangxing Dai
>      >
> 
>     --
>     ========================================
> 
>     Justin A. Lemkul
>     Ph.D. Candidate
>     ICTAS Doctoral Scholar
>     MILES-IGERT Trainee
>     Department of Biochemistry
>     Virginia Tech
>     Blacksburg, VA
>     jalemkul[at]vt.edu <http://vt.edu> | (540) 231-9080
>     http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin
> 
>     ========================================
> 
> 
>     ------------------------------
> 
>     Message: 3
>     Date: Thu, 15 Apr 2010 16:11:15 +0200
>     From: XAvier Periole <x.periole at rug.nl <mailto:x.periole at rug.nl>>
>     Subject: Re: [gmx-users] slow speed
>     To: Discussion list for GROMACS users <gmx-users at gromacs.org
>     <mailto:gmx-users at gromacs.org>>
>     Message-ID: <04339834-5E09-4A83-86DC-7DCA920E53BE at rug.nl
>     <mailto:04339834-5E09-4A83-86DC-7DCA920E53BE at rug.nl>>
>     Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
> 
> 
>     What makes you think it should be so fast?
> 
>     Nothing appears obviously wrong in the mdp file.
> 
>     May be this though!
> 
>     lincs-order              = 12
> 
>     On Apr 15, 2010, at 4:02 PM, Shuangxing Dai wrote:
> 
>      > Hi, gmx-users:
>      >    I am using latest version of gromacs and found it was really
>      > slow. I was wondering anyone got the same experience and can point
>      > out where the problem is.
>      >    I was running double precision for MD. But for each dynamics
>      > simulation, it takes 4 days. I should only take two or three hours.
>      >    Here is the .mdp file:
>      > define                   =
>      > ; RUN CONTROL PARAMETERS =
>      > integrator               = sd
>      > ; start time and timestep in ps =
>      > tinit                    = 0
>      > dt                       = 0.001
>      > nsteps                   = 200000
>      > ; number of steps for center of mass motion removal =
>      > nstcomm                  = 100
>      > ; OUTPUT CONTROL OPTIONS =
>      > ; Output frequency for coords (x), velocities (v) and forces (f) =
>      > nstxout                  = 0
>      > nstvout                  = 0
>      > nstfout                  = 0
>      > ; Output frequency for energies to log file and energy file =
>      > nstlog                   = 100
>      > nstenergy                = 100
>      > ; Output frequency and precision for xtc file =
>      > nstxtcout                = 100
>      > xtc-precision            = 1000
>      > ; NEIGHBORSEARCHING PARAMETERS =
>      > ; nblist update frequency =
>      > nstlist                  = 50
>      > ; ns algorithm (simple or grid) =
>      > ns_type                  = grid
>      >
>      > ;OPTIONS FOR PRESSURE COUPLING
>      > Pcoupl                   = berendsen
>      > tau_p                    = 1
>      > compressibility          = 4.5e-05
>      > ref_p                    = 0.1
>      > ;OPTIONS FOR TEMPERATURE COUPLING
>      > tc_grps                  = system
>      > tau_t                    = 0.1
>      > ref_t                    = 300
>      > ; OPTIONS FOR BONDS     =
>      > constraints              = hbonds
>      > ; Type of constraint algorithm =
>      > constraint-algorithm     = Lincs
>      > ; Do not constrain the start configuration =
>      > unconstrained-start      = no
>      > ; Relative tolerance of shake =
>      > shake-tol                = 0.0001
>      > ; Highest order in the expansion of the constraint coupling matrix =
>      > lincs-order              = 12
>      > ; Lincs will write a warning to the stderr if in one step a bond =
>      > ; rotates over more degrees than =
>      > lincs-warnangle          = 30
>      > ; Periodic boundary conditions: xyz, no, xy
>      > pbc                      = xyz
>      > periodic_molecules       = no
>      > ; nblist cut-off
>      > rlist                    = 1
>      >
>      > ; OPTIONS FOR ELECTROSTATICS AND VDW
>      > ; Method for doing electrostatics
>      > coulombtype              = Ewald
>      > rcoulomb                 = 1
>      > ; Method for doing Van der Waals
>      > vdw-type                 = Cut-off
>      > ; cut-off lengths
>      > rvdw                     = 1
>      >
>      > ; Spacing for the PME/PPPM FFT grid
>      > fourierspacing           = 0.12
>      > ; FFT grid size, when a value is 0 fourierspacing will be used
>      > fourier_nx               = 0
>      > fourier_ny               = 0
>      > fourier_nz               = 0
>      > ; EWALD/PME/PPPM parameters
>      > pme_order                = 6
>      > ewald_rtol               = 1e-4
>      > ewald_geometry           = 3d
>      > epsilon_surface          = 0
>      > optimize_fft             = no
>      >
>      >   Can anyone help me? Thank you in advance.
>      > Thanks,
>      > Shuangxing Dai
>      > --
>      > gmx-users mailing list    gmx-users at gromacs.org
>     <mailto: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
>     <mailto:gmx-users-request at gromacs.org>.
>      > Can't post? Read http://www.gromacs.org/mailing_lists/users.php
> 
> 
> 
>     ------------------------------
> 
>     Message: 4
>     Date: Fri, 16 Apr 2010 00:18:05 +1000
>     From: Mark Abraham <Mark.Abraham at anu.edu.au
>     <mailto:Mark.Abraham at anu.edu.au>>
>     Subject: Re: [gmx-users] slow speed
>     To: Discussion list for GROMACS users <gmx-users at gromacs.org
>     <mailto:gmx-users at gromacs.org>>
>     Message-ID: <4BC7201D.4010304 at anu.edu.au
>     <mailto:4BC7201D.4010304 at anu.edu.au>>
>     Content-Type: text/plain; charset=UTF-8; format=flowed
> 
>     On 16/04/2010 12:02 AM, Shuangxing Dai wrote:
>      > Hi, gmx-users:
>      >     I am using latest version of gromacs and found it was really
>     slow. I
>      > was wondering anyone got the same experience and can point out
>     where the
>      > problem is.
>      >     I was running double precision for MD. But for each dynamics
>      > simulation, it takes 4 days. I should only take two or three hours.
> 
>     Well, double precisions is slower - possibly very much so. You need
>     twice the bus and cache bandwidth because you are throwing around twice
>     the memory. Otherwise, we can't say much because we don't know anything
>     about your hardware or where you got your benchmark from.
> 
>     Other comments below. It looks very much like you've gone and made a
>     bunch of semi-random changes to things. That's not normally a good idea.
> 
>      >     Here is the .mdp file:
>      > define                   =
>      > ; RUN CONTROL PARAMETERS =
>      > integrator               = sd
>      > ; start time and timestep in ps =
>      > tinit                    = 0
>      > dt                       = 0.001
>      > nsteps                   = 200000
>      > ; number of steps for center of mass motion removal =
>      > nstcomm                  = 100
>      > ; OUTPUT CONTROL OPTIONS =
>      > ; Output frequency for coords (x), velocities (v) and forces (f) =
>      > nstxout                  = 0
>      > nstvout                  = 0
>      > nstfout                  = 0
>      > ; Output frequency for energies to log file and energy file =
>      > nstlog                   = 100
>      > nstenergy                = 100
>      > ; Output frequency and precision for xtc file =
>      > nstxtcout                = 100
>      > xtc-precision            = 1000
>      > ; NEIGHBORSEARCHING PARAMETERS =
>      > ; nblist update frequency =
>      > nstlist                  = 50
>      > ; ns algorithm (simple or grid) =
>      > ns_type                  = grid
>      >
>      > ;OPTIONS FOR PRESSURE COUPLING
>      > Pcoupl                   = berendsen
>      > tau_p                    = 1
>      > compressibility          = 4.5e-05
>      > ref_p                    = 0.1
>      > ;OPTIONS FOR TEMPERATURE COUPLING
>      > tc_grps                  = system
>      > tau_t                    = 0.1
>      > ref_t                    = 300
>      > ; OPTIONS FOR BONDS     =
>      > constraints              = hbonds
>      > ; Type of constraint algorithm =
>      > constraint-algorithm     = Lincs
>      > ; Do not constrain the start configuration =
>      > unconstrained-start      = no
>      > ; Relative tolerance of shake =
>      > shake-tol                = 0.0001
>      > ; Highest order in the expansion of the constraint coupling matrix =
>      > lincs-order              = 12
> 
>     That's huge, and the use of lincs is somewhat inconsistent with a 1fs
>     timestep.
> 
>      > ; Lincs will write a warning to the stderr if in one step a bond =
>      > ; rotates over more degrees than =
>      > lincs-warnangle          = 30
>      > ; Periodic boundary conditions: xyz, no, xy
>      > pbc                      = xyz
>      > periodic_molecules       = no
>      > ; nblist cut-off
>      > rlist                    = 1
>      >
>      > ; OPTIONS FOR ELECTROSTATICS AND VDW
>      > ; Method for doing electrostatics
>      > coulombtype              = Ewald
> 
>     This could be a correct decision, but it's unlikely.
> 
>      > rcoulomb                 = 1
>      > ; Method for doing Van der Waals
>      > vdw-type                 = Cut-off
>      > ; cut-off lengths
>      > rvdw                     = 1
>      >
>      > ; Spacing for the PME/PPPM FFT grid
>      > fourierspacing           = 0.12
>      > ; FFT grid size, when a value is 0 fourierspacing will be used
>      > fourier_nx               = 0
>      > fourier_ny               = 0
>      > fourier_nz               = 0
>      > ; EWALD/PME/PPPM parameters
>      > pme_order                = 6
>      > ewald_rtol               = 1e-4
> 
>     Again, could be correct, or could just be killing you.
> 
>      > ewald_geometry           = 3d
>      > epsilon_surface          = 0
>      > optimize_fft             = no
> 
>     Mark
> 
> 
>     ------------------------------
> 
>     --
>     gmx-users mailing list
>     gmx-users at gromacs.org <mailto: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!
> 
>     End of gmx-users Digest, Vol 72, Issue 82
>     *****************************************
> 
> 

-- 
========================================

Justin A. Lemkul
Ph.D. Candidate
ICTAS Doctoral Scholar
MILES-IGERT Trainee
Department of Biochemistry
Virginia Tech
Blacksburg, VA
jalemkul[at]vt.edu | (540) 231-9080
http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin

========================================



More information about the gromacs.org_gmx-users mailing list