[gmx-users] Free-energy on GMX-2019.1 ( lower performance on GPU)

Mark Abraham mark.j.abraham at gmail.com
Fri Mar 15 07:59:36 CET 2019


Hi,

How large is your perturbed region and your normal region? The FEP
short-ranged kernels run on the CPU, and are not written very well for
performance. So the larger the perturbed region, the worse things get.
Because there's a lot of extra CPU work when running FEP, you may see
improvements from also adding -pme gpu -bonded gpu to your mdrun
invocation, by moving such work off the CPU.

BTW lincs-order=12 is uselessly large, but is not the problem here.

Mark

On Fri, 15 Mar 2019 at 06:16 praveen kumar <praveenche at gmail.com> wrote:

> Dear All
>
> I am trying to run the free-energy simulation using TI method in gromacs
> 2019.1 in a GPU machine  (containing two Nvidia Geforce 1080 TI cards ).
> But unfortunately, am unable to run the free-energy simulation run on GPU.
>
> The normal MD simulation (without free-energy )is able to run perfectly by
> making use of GPU, which gives us excellent speed up in the simulation.
> for example, 100 K atoms system is able to give us ~ 80 ns per day on a gpu
> card.  (It uses > 80 % GPU usage)
> When I am trying to run the free-energy simulations for the same system,
> the performance drastically falls down to ~0.02 ns per day.  (It uses 0 %
> GPU usage).
>
> I am pasting the MDP files for Normal MD simulation and Free-energy
> simulation below.
> npt. mdp (MD simulation)
>
>
> #####################################################################
> title        = MD simulation
> ; Run parameters
> integrator    = md        ; leap-frog integrator
> nsteps        = 100000000      ; 2 * 60000000   = 200 ns
> dt        = 0.002        ; 2 fs
> ; Output control
> nstxout                = 100000      ; save coordinates every 10.0 ps
> nstvout                = 100000      ; save velocities every 10.0 ps
> nstfout            = 100000      ; save forces every 10.0 ps
> nstenergy            = 500        ; save energies every 10.0 ps
> nstlog                = 5000        ; update log file every 10.0 ps
> nstxout-compressed      = 5000          ; save compressed coordinates every
> 10.0 ps, nstxout-compressed replaces nstxtcout
> compressed-x-grps       = System        ; replaces xtc-grps
> ; Bond parameters
> continuation            = yes            ; Restarting after NVT
> constraint_algorithm    = lincs            ; holonomic constraints
> constraints            = h-bonds        ; H bonds constrained
> lincs_iter            = 1            ; accuracy of LINCS
> lincs_order            = 4            ; also related to accuracy
> ; Neighborsearching
> cutoff-scheme       = Verlet
> ns_type            = grid        ; search neighboring grid cells
> nstlist            = 10        ; 20 fs, largely irrelevant with Verlet
> rcoulomb        = 1.2        ; short-range electrostatic cutoff (in nm)
> rvdw            = 1.2        ; short-range van der Waals cutoff (in nm)
> rvdw-switch         = 1.0
> vdwtype         = cutoff
> vdw-modifier        = force-switch
> rlist             = 1.2
> ; Electrostatics
> coulombtype        = PME        ; Particle Mesh Ewald for long-range
> electrostatics
> pme_order        = 4                ; cubic interpolation
> fourierspacing        = 0.16        ; grid spacing for FFT
> ; Temperature coupling is on
> tcoupl        = V-rescale                ; modified Berendsen thermostat
> tc-grps        = system            ;     Water           ; two coupling
> groups - more accurate
> tau_t        = 0.1             ;    0.1          ; time constant, in ps
> ref_t        = 360              ;    340             ; reference
> temperature, one for each group, in K
> ; Pressure coupling is on
> ;pcoupl                  =no
> pcoupl                = Parrinello-Rahman        ; Pressure coupling on in
> NPT
> pcoupltype            = isotropic                ; uniform scaling of box
> vectors
> tau_p                = 2.0                    ; time constant, in ps
> ref_p                = 1.0   ;1.0                 ; reference pressure, in
> bar
> compressibility         = 4.5e-5 ; 4.5e-5            ; isothermal
> compressibility of water, bar^-1
> ; Periodic boundary conditions
> pbc        = xyz        ; 3-D PBC
> ; Dispersion correction
> DispCorr    = no        ; account for cut-off vdW scheme
> ; Velocity generation
> gen_vel        = no        ; Velocity generation is off
> ######################################################################
> npt. mdp ( for free-energy simulation)
> ##########################################################################
>
> ; Run control
> integrator               = sd       ; Langevin dynamics
> tinit                    = 0
> dt                       = 0.002
> nsteps                   = 50000    ; 100 ps
> nstcomm                  = 100
> ; Output control
> nstxout                  = 500
> nstvout                  = 500
> nstfout                  = 0
> nstlog                   = 500
> nstenergy                = 500
> nstxout-compressed       = 0
> ; Neighborsearching and short-range nonbonded interactions
> cutoff-scheme            = verlet
> nstlist                  = 20
> ns_type                  = grid
> pbc                      = xyz
> rlist                    = 1.2
> ; Electrostatics
> coulombtype              = PME
> rcoulomb                 = 1.2
> ; van der Waals
> vdwtype                  = cutoff
> vdw-modifier             = potential-switch
> rvdw-switch              = 1.0
> rvdw                     = 1.2
> ; Apply long range dispersion corrections for Energy and Pressure
> DispCorr                  = EnerPres
> ; Spacing for the PME/PPPM FFT grid
> fourierspacing           = 0.12
> ; EWALD/PME/PPPM parameters
> pme_order                = 6
> ewald_rtol               = 1e-06
> epsilon_surface          = 0
> ; Temperature coupling
> ; tcoupl is implicitly handled by the sd integrator
> tc_grps                  = system
> tau_t                    = 1.0
> ref_t                    = 298
> ; Pressure coupling is on for NPT
> Pcoupl                   = berendsen
> tau_p                    = 1.0
> compressibility          = 4.5e-05
> ref_p                    = 1.0
> ; Free energy control stuff
> free_energy              = yes
> init_lambda_state        = 0
> delta_lambda             = 0
> calc_lambda_neighbors    = 1        ; only immediate neighboring windows
> couple-moltype           = IO  ; name of moleculetype to decouple
> couple-lambda0           = vdw     ; only van der Waals interactions
> couple-lambda1           = vdw-q     ; turn off everything, in this case
> only vdW
> couple-intramol          = no
> ; Vectors of lambda specified here
> ; Each combination is an index that is retrieved from init_lambda_state for
> each simulation
> ; init_lambda_state        0    1    2    3    4    5    6    7    8
> 9    10   11   12   13   14   15   16   17   18   19   20
> vdw_lambdas              = 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40
> 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00
> coul_lambdas             = 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
> 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
> ; We are not transforming any bonded or restrained interactions
> bonded_lambdas           = 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
> 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
> restraint_lambdas        = 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
> 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
> ; Masses are not changing (particle identities are the same at lambda = 0
> and lambda = 1)
> mass_lambdas             = 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
> 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
> ; Not doing simulated temperting here
> temperature_lambdas      = 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
> 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
> ; Options for the decoupling
> sc-alpha                 = 0.5
> sc-coul                  = no       ; linear interpolation of Coulomb (none
> in this case)
> sc-power                 = 1
> sc-sigma                 = 0.3
> nstdhdl                  = 10
> ; Do not generate velocities
> gen_vel                  = no
> ; options for bonds
> constraints              = h-bonds  ; we only have C-H bonds here
> ; Type of constraint algorithm
> constraint-algorithm     = lincs
> ; Constrain the starting configuration
> ; since we are continuing from NVT
> continuation             = yes
> ; Highest order in the expansion of the constraint coupling matrix
> lincs-order              = 12
>
> ################################################################################
>
>  for running simulation I am using the command below.:
>
> "gmx  mdrun -v -s MD.tpr -deffnm MD -nb gpu  -ntomp 10 -gpu_id 0 "
>
> Any help in solving this issue is much appreciated
>
> Thanking you in Advance
>
> Praveen
> --
> Gromacs Users mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> send a mail to gmx-users-request at gromacs.org.
>


More information about the gromacs.org_gmx-users mailing list