GROMACS: Fast, Free and Flexible MD
 
 
 
Is there any way I can make GROMACS run faster?
Friday, 09 September 2005
That depends on your setup. If you are using x86 processors you should definitely make sure that you compile GROMACS with assemblt loops, and that your OS supports SSE instructions if you are using Pentium III/IV processors. If you compiled GROMACS with assembly loops there will be a line in the logfile telling you which loops we are using.
On alpha hardware you might want to play around with enabling/disabling the software invsqrt, and the inner loop vectorization. Modern alpha chips have a fairly fast hardware sqrt, but they also seem to benefit even more from vectorizing the innerloops and using the vectorized invsqrt provided in GROMACS.
If you are using IBM hardware you should locate or download the MASS libraries (mathematical accelerated subsystem). If you provide the location of this library in the LDFLAGS environment variable GROMACS will automatically use fast vectorized inner loops on IBM.
On any system apart from Linux/x86 (where we use assembly innerloops) you should also try to use a fortran compiler for better performance, and if you run Linux/alpha you should use the Compaq compilers instead of gcc.

You should always use single precision; there are very few cases where you actually need double precision, and it's slower.

Investigate the options -dummy and -heavyh to pdb2gmx which control the constraining of hydrogen atoms and the mass of unconstrained hydrogen atoms. This eliminates the highest freqency motions in your system, which in some cases makes it possible to increase the timestep.

If your system has relatively slow disk-IO, and/or you write frames and energies out very often, and/or you have a very large system the performance might be limited by disk access. In that case, you might consider writing fewer frames to your trajectories (.xtc and especially .trr or .trj) and energy file (.ene or .edr).
 
< Prev   Next >
 
Top! Top!
This page took 0.034788 seconds to load.