The CUDA project has enabled scientists to utilize NVIDIA's many-core Graphical Processor Unit (GPU) to solve complex computational problems. Beside being a very fast processor the GPU is relatively cheap, and is thus an ideal computational unit for low-cost high-performance supercomputing.
RUMD is a high-performance molecular dynamics simulation software package for NVIDIA's GPU. RUMD is optimized for simulating small to medium size systems composed of spherical particles, as well as molecules.
RUMD consists of a library, easy-to-use Python interface, and a set of post-simulation data analysis tools.
- 16/03 - 2015
Version 3.0 is available for download
Version 3.0 represents a major upgrade, but most of the changes are under the hood, in the way the neighbor-list is stored and used for pair-force calculation, the way it is generated (actually two different ways, appropriate for small and large systems), and way potential parameters are stored. These changes were necessary to obtain optimal performance on the newest cards (Kepler). Users will not need to change any scripts. The main changes from a user point of view (apart from improved performance) are that there is no longer a hard-coded maximum number of types allowed in a simulation, and that large molecular systems can be simulated. Regarding performance, the autotuner takes care of choosing the optimal parameters, but the defaults work well in most cases. Note that some changes to the interface appeared in the last update to version 2.1; see the release notes for version 2.1.2.
- 16/02 - 2015
Version 2.1.2 is available for download
- Several bugs fixed: Most noteworthy are
- (1) incorrect build of neighbor list when using Lees-Edwards (for example in SLLOD simulations) under certain circumstances.
- (2) Improper dihedral angles are ignored.
- Improvements to configuration-making tools (including new one for BCC crystal).
- Exponential pair potential added.
- CalculateMolecularStress now calculates the molecular stress due to all PairPotentials present (not just one).
- New analysis tool, analyze_energies.py.
- Slight change in interface:
- for setting intra-molecular forces (bonds, constraints, angles, dihedrals), the keyword type has been replaced by bond_type, angle_type, dihedral_type.
- 23/06 - 2014
Version 2.1.1 is available for download
- Compatible with CUDA 5.5.
- Minor problems with paths fixed.
- Some limits on system sizes in molecular systems removed.
- New tests added.
- Two small bugs fixed: one involving correct accounting of periodic images in sheared systems which affected the calculation of the molecular stress, the other involving the degrees of the freedom not being correctly determined following a restart.
- Features added to analysis tools.
- Some other small improvements.
- 09/12 - 2013
Version 2.1 is available for download
Main new features:
- Memory optimizations to allow over a million particles (atomic systems only for now though, no molecules)
- SLLOD equations of motion integrator for molecular systems (using the molecular formulation of the SLLOD algorithm and thermostat)
- User-defined "runtime" actions to be included in the main loop
- TetheredGroup class for manipulating tethering a group of particles to a set of lattice sites by springs.
- Support for more types, maximum number of types is now 16 by default.
- Improvements to the autotuner (speed and reliability)
- Newton's third law now assumed by default, so not necessary to call SetParams for both i,j and j,i.
- Improvements to analysis tools.
- 12/09 - 2013
Version 2.0.2 is available for download
This is a bug-fix release. Fixes a problem (present since version 2.0) with missing neighbors when unlike types have a cut-off distance larger than either of the corresponding like-like cutoff distances.
- 04/06 - 2013
Version 2.0.1 is available for download
This is a bug-fix release: Fixes a problem with particle sorting when scaling the system.
- 31/05 - 2013
Version 2.0 is available for download
Major new features: (1) Optimization for large systems via spatial sorting and (2) the Autotune script which automatically chooses the optimal values for the internal parameters. In addition there are some new pair potentials and analysis tools, improved documentation within Python (docstrings). A user manual is nearly complete and will be available here soon.
- 29/06 - 2012
Version 1.2.2 is available for download
This is a bug-fix release: The evaluation of the pressure virial when using shifted force interactions is now correct.
- 29/05 - 2012
Version 1.2.1 is available for download
This is a bug-fix release: Setting the momentum to zero after loading a restart file is now done correctly.
- 14/01 - 2012
Version 1.2 is available for download
With this release RUMD now supports
- Contraint/rigid bond simulations
- Bond angle interactions
- Dihedral angle interactions
- More flexible Python interface for user-defined run-time data analysis
- Standard Monte-Carlo simulations
- Potential energy minimization