Changelog¶
Version 1.0-alpha6¶
Breaking changes
- simplifications of the simulation script: essential setup (e.g. logger) is no
longer the user’s responsibility, merely routines
main()
and optionallydefine_args()
are needed, provide argument parser actions (Daniel Kirchner) - pair potentials are truncated or modified by generic potential adapters (Daniel Kirchner)
Bug fixes
- remove velocity rescaling from
halmd.mdsim.velocities.boltzmann
, shifting of the velocities to zero centre of mass is retained. This fixes also the integratorhalmd.mdsim.integrators.verlet_nvt_boltzmann
, which now samples correctly from a Maxwell-Boltzmann distribution (except for the mentioned constraint). (Felix Höfling, Daniel Kirchner) - host backend compiles with single floating-point precision again (Daniel Kirchner)
- support very large particle numbers on the GPU (more than 1e7) by improved choice of the CUDA configuration dimensions (Daniel Kirchner)
Improvements
- more flexible interfaces of
halmd.mdsim.particle
andhalmd.observables.phase_space
using string-based identifiers of data arrays (Daniel Kirchner) - specify floating-point precision in the simulation script (see construction
of
halmd.mdsim.particle
). Use CMake flags to control for which precisions GPU and host backends are built. (Daniel Kirchner) - overwrite output files only if forced to do so, add command line flag
--overwrite
. (Daniel Kirchner)
Internal changes
- switch to extensible and generic data arrays in
halmd.mdsim.particle
, unified implementation of single and mixed precision arrays (Daniel Kirchner)
Version 1.0-alpha5¶
Breaking changes
- increase minimal required version of the CUDA SDK to 5.0 (Nicolas Höft)
Bug fixes
- fix build with up-to-date versions of build tools and third-party libraries: (Daniel Kirchner, Nicolas Höft)
- minor fixes in exemplary simulation scripts (Felix Höfling, Nicolas Höft)
New features
- release the software under the terms of the LGPL-3+ license (Felix Höfling)
- find additional Lua scripts in the directory of the simulation script, which allows factoring out common functions or definitions, e.g., of interaction potentials (Felix Höfling)
- add function
to_particle()
to particle groups, which convert the selected particles to an instance ofhalmd.mdsim.particle
(Nicolas Höft)
Improvements
- drop restriction on minimal number of Verlet neighbour cells (fall back to no binning upon neighbour list construction) (Nicolas Höft)
- builds with standard CMake ≥ 2.8.12, the patch for native CUDA support is not needed anymore (Daniel Kirchner)
- support version 7.5 of the CUDA SDK (Daniel Kirchner)
- increase default CUDA compute capability to 2.0 (older hardware is still supported with CUDA SDK ≤ 6.0) (Daniel Kirchner)
Version 1.0-alpha4¶
Breaking changes
- Lua scripts in
examples/liquid
: rename option “–trajectory” to “–input” (Felix Höfling)
Bug fixes
- fix native build for Fermi and Kepler GPUs (compute capability ≥ 2.0) (Nicolas Höft)
- fix build with Boost ≥ 1.57.0 (Nicolas Höft)
- compatibility with HDF5 ≥ 1.8.14 (Nicolas Höft, Felix Höfling)
New features
- add function
halmd.random.shuffle()
, which allows one, e.g., to setup well-stirred fluid mixtures (Felix Höfling)
Improvements
- documentation: new sections “Recipes” and “Publications” (Felix Höfling)
- support version 6.0 of the CUDA SDK (Nicolas Höft)
- support both Lua 5.1 and Lua 5.2 (built without compatibility flags) (Nicolas Höft)
Version 1.0-alpha3¶
Breaking changes
- mdsim/particle: make space dimension mandatory (Felix Höfling)
- mdsim/potentials: move to sub-namespace “pair” (Felix Höfling)
Bug fixes
- potentials: fix uninitialised memory for energy shift (host only) (Nicolas Höft)
- integrators: make Nosé–Hoover thermostat working again (Felix Höfling)
- compile and build against Boost C++ 1.56 (Felix Höfling)
New features
- tensor-valued custom dynamic correlation functions (Felix Höfling)
Improvements
- packages.mk: more robust installation of prerequisites (Felix Höfling)
- documentation: installation instructions, minor fixes (Felix Höfling)
Internal changes
- move from boost::{array,tuple} to std::{array,tuple} (Nicolas Höft)
- mdsim/box: fix failing unit test (Nicolas Höft)
Version 1.0-alpha2¶
Improvements
- drop submodule Boost.Log and use library shipped with Boost ≥ 1.55 (Nicolas Höft)
- integrators: reduce memory access gives a 10-20% performance gain (GPU only) (Felix Höfling)
- documentation: new benchmark results, minor fixes and updates (Felix Höfling, Nicolas Höft)
Bug fixes
- integrators: fix missing update of box image data (GPU only) (Felix Höfling)
Version 1.0-alpha1¶
Substantial development (1225 commits!) happened since version 0.2.1 with contributions from Peter Colberg, Felix Höfling, and Nicolas Höft.
Most important changes
- completed the switch from a monolithic to a modular design
- modules are exposed through a Lua API
- simulations are defined and steered by either custom or shipped Lua scripts
- dynamic correlation functions can be customised
- H5MD format (version 1.0) for input and output files
- face lift of the website
Version 0.2.1¶
Improvements
- improve performance of force kernel for truncated pair interactions by about 10% due to inefficient use of the texture cache
Bug fixes
- fix regex benchmark scripts
- fix build failure with Boost C++ 1.53.0
- fix build failure with nvcc option -arch=sm_20 and CMake switch VERLET_DSFUN=FALSE
Version 0.2.0¶
Version 0.2.0 is a complete rewrite of branch 0.1.x, aiming at a modular code base. Most algorithms, in particular the actual MD simulation algorithms, have been kept.
This version features a slightly larger choice of potentials and NVT integrators, but it brings only rudimentary support for dynamic correlations functions.
Version 0.1.1¶
New features
- computation of shear viscosity
- displacement/mobility filters for dynamic correlation functions
Bug fixes
- fix build failure with CUDA 3.2
- fix build failure with Boost C++ 1.42
Version 0.1.0¶
The first release of HAL’s MD package, forming the basis for the preprint at http://arxiv.org/abs/0912.3824, later published in Comput. Phys. Commun. 182, 1120 (2011).