Getting optimum performance via the autotuner

RUMD involves several internal parameters whose values do not affect the results of the simulation within round-off error, but they can have a noticeable effect on performance. The easiest way to identify the optimal values is to use the autotuner, which is a python script that takes a simulation object which is ready to run (the potential(s) and integrator have been set), and determines the best values for the internal parameters. The following snippet shows how this is done.

from rumd.Autotune import Autotune
at = Autotune()
[create sim with associated potential(s) and integrator]
at.Tune(sim)
sim.Run()

The time taken to do the tuning is of order a minute for small systems (longer if constraints are involved). The autotuner writes a file, autotune.dat in the directory. If the simulation is re-run in the same directory with the same user parameters and on the same type of graphics card, then the autotuner will simply use the previously determined internal parameters.