[gmx-users] Performance values

Szilárd Páll pall.szilard at gmail.com
Mon Aug 28 13:05:51 CEST 2017

On Mon, Aug 7, 2017 at 6:10 PM, Maureen Chew <maureen.chew at oracle.com> wrote:
> Szilárd,
> Thank you so very much for the reply!    You mention
> that time/step is important if trying to do an apples-to-apples
> comparison for any given simulation.
> I have a few questions - For specific example, use the RNAse reference here:
> (http://www.gromacs.org/gpu <http://www.gromacs.org/gpu>)
> Influence of box geometry and virtual interaction sites
> This is a simulation of the protein RNAse, which contains roughly 24,000 atoms in a cubic box.
> The image rnase.png <http://www.gromacs.org/@api/deki/files/224/=rnase.png>, shows a 6 core baseline to be, roughly 50ns/day
> First,  assuming this is from rnase_cubic @ ftp://ftp.gromacs.org/pub/benchmarks/rnase_bench_systems.tar.gz <ftp://ftp.gromacs.org/pub/benchmarks/rnase_bench_systems.tar.gz>
> which contains these files:
> rnase_cubic/rf_verlet.mdp
> rnase_cubic/conf.gro
> rnase_cubic/topol.top
> rnase_cubic/pme_verlet.mdp
> 3 questions:
> - What gmx grompp command was use to generate the tpr file for the result in rnase.png?

Those are two sets of runs, the first four use the cubic RNAse setup
without virtual sites (i.e. the inputs you list above) and the "PME"
mdp settings file, so you need to do
gmx grompp -f pme_verlet

The latter four bars use the other input for which you'll need a
command line similar to the above to set up, but using the appropriate
input files from the "rnase_dodec_vsites" tarball.

>         Apologies if its intuitively obvious which mdp  was used
> - Aside from -ntmpi and -ntomp parms, what gmx mdrun command was used to obtain
>         the 6 core result?

In all single-node (and single-GPU) runs OpenMP-only parallelization
is used, i.e. 1 MPI rank and as many OpenMP threads as hardware
threads, i.e. for the 6-core run "mdrun -ntmpi 1 -ntomp 12" (which is
also the default).

Note that the date you're looking at is several years old by now and
was collected on an Intel Sandy Bridge-E CPU (i7-3930K), so it is not
highly representative of the current performance of GROMACS.

> - From that 6 core run, what is the time/step that you refer to?

Have a look in the "dt" field in the mdp or log file; in this case
dt=0.002, i.e 2 fs. For the vsites case it is 5 fs.

> Is that
>         real cycle  and time accounting for neighbor search, force, PME mesh etc,
>         and  time/step that you refer to is the wall time/call count?

Note sure if I understand the question, but I'll try to answer it:
that is simulation time/wall time, i.e. number of time-steps * dt /
wall-t in days.


> Thanks in advance!
> —maureen
> Date: Mon, 7 Aug 2017 16:01:16 +0200
> From: Szilárd Páll <pall.szilard at gmail.com <mailto:pall.szilard at gmail.com>>
> To: Discussion list for GROMACS users <gmx-users at gromacs.org <mailto:gmx-users at gromacs.org>>
> Subject: Re: [gmx-users] Performance values
> Indeed, "Wall t" is real application wall-time, nanoseconds/day is the
> typical molecular dynamics performance unit that corresponds to the
> effective amount of simulation throughput (note that this however
> depends on the time-step and without that specified it is not useful
> to compare to other runs), so often it is useful to use it convert it
> to time/step.
> --
> Szilárd
> On Fri, Jul 28, 2017 at 10:20 AM, Maureen Chew <maureen.chew at oracle.com <mailto:maureen.chew at oracle.com>> wrote:
>> You might find this reference handy - it has a really nice explanation for how to look
>> at a log file
>> Topology preparation, "What's in a log file", basic performance improvements: Mark Abraham, Session 1A <http://www.gromacs.org/Documentation/Tutorials/GROMACS_USA_Workshop_and_Conference_2013/Topology_preparation,_%22What's_in_a_log_file%22,_basic_performance_improvements:_Mark_Abraham,_Session_1A <http://www.gromacs.org/Documentation/Tutorials/GROMACS_USA_Workshop_and_Conference_2013/Topology_preparation,_%22What's_in_a_log_file%22,_basic_performance_improvements:_Mark_Abraham,_Session_1A>>
>> The ?Performance:? values are a throughput measure where both values represent
>> the same thing in different terms.  In your sample below, 3.964 is the
>> number of nanoseconds that can be simulated in 24 hours while it takes
>> 6.054 hours to simulate 1 ns
>> HTH
>> On Jul 27, 2017, at 10:15 AM, Maureen Chew <maureen.chew at oracle.com <mailto:maureen.chew at oracle.com>> wrote:
>>> Where is it documented how the mdrun performance metrics are calculated ? I?ve
>>> looked here
>>> http://manual.gromacs.org/documentation/2016/user-guide/mdrun-performance.html <http://manual.gromacs.org/documentation/2016/user-guide/mdrun-performance.html> <http://manual.gromacs.org/documentation/2016/user-guide/mdrun-performance.html <http://manual.gromacs.org/documentation/2016/user-guide/mdrun-performance.html>>
>>> and here
>>> http://manual.gromacs.org/documentation/2016.3/manual-2016.3.pdf <http://manual.gromacs.org/documentation/2016.3/manual-2016.3.pdf> <http://manual.gromacs.org/documentation/2016.3/manual-2016.3.pdf <http://manual.gromacs.org/documentation/2016.3/manual-2016.3.pdf>>
>>> but seem to have missed  explanation.
>>> Are the sample mdrun times below user time or real time?  Generally, wall is real time
>>> I understand that ?Performance:? is not a linear scale but what is the scale
>>> in the 2016.3 sample below?
>>>             Core t (s)   Wall t (s)        (%)
>>>      Time:    69761.050      272.504    25600.0
>>>                (ns/day)    (hour/ns)
>>> Performance:        3.964        6.054
> --
> 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