Assembla home | Assembla project page
 

Changes made since 0.8.1 (to be released in 0.8.2)

Note: only major changes are listed here. See milestone:0.8.2 or the Timeline for a more exhaustive list.

New features

  1. Quantities that vary over time can now be specified easily in scripts with the variant.linear_interp command.
  2. Box resizing updater (update.box_resize) command that uses the time varying quantity command to grow or shrink the simulation box.
  3. Individual run() commands can be limited by wall-clock time
  4. Angle forces can now be specified
  5. Dihedral forces can now be specified
  6. Improper forces can now be specified
  7. 1-3 and 1-4 exclusions from the cutoff pair force can now be chosen
  8. New command line option: --minimize-cpu-usage cuts the CPU usage of HOOMD down to 10% of one CPU core while only decreasing overall performance by 10%
  9. Major changes have been made in the way HOOMD chooses the device on which to run (all require CUDA 2.2 or newer)
    • there are now checks that an appropriate NVIDIA drivers is installed
    • running without any command line options will now correctly revert to running on the CPU if no capable GPUs are installed
    • when no gpu is explicitly specified, the default choice is now prioritized to choose the fastest GPU and one that is not attached to a display first
    • new command line option: --ignore-display-gpu will prevent HOOMD from executing on any GPU attached to a display
    • HOOMD now prints out a short description of the GPU(s) it is running on
    • on linux, devices can be set to compute-exclusive mode and HOOMD will then automatically choose the first free GPU (see the documentation for details)

Bug/fixes small enhancements

  1. Default block size change to improve stability on compute 1.3 devices
  2. ULF workaround on GTX 280 now works with CUDA 2.2
  3. Standalone benchmark executables have been removed and replaced by in script benchmarking commands
  4. Block size tuning runs can now be performed automatically using the python API and results can be saved on the local machine
  5. Fixed a bug where GTX 280 bug workarounds were not properly applied in CUDA 2.2
  6. The time step read in from the XML file can now be optionally overwritten with a user-chosen one
  7. Added support for CUDA 2.2
  8. Fixed a bug where the WCA forces included in bond.fene had an improper cutoff
  9. Added support for a python callback to be executed periodically during a run()
  10. Removed demos from the hoomd downloads. These will be offered separately on the webpage now to keep the required download size small.
  11. documentation improvements
  12. Significantly increased performance of dual-GPU runs when build with CUDA 2.2 or newer
  13. Numerous stability and performance improvements

Changes made since 0.8.0 (released in 0.8.1)

Note: only major changes are listed here. See milestone:0.8.1 or the Timeline for a more exhaustive list.

New features

  1. Significant performance enhancements
  2. New build option for compiling on UMich CAC clusters: ENABLE_CAC_GPU_ID compiles HOOMD to read in the $CAC_GPU_ID environment variable and use it to determine which GPUs to execute on. No --gpu command line required in job scripts any more.
  3. Particles can now be assigned a non-unit mass
  4. init.reset() command added to allow for the creation of a looped series of simulations all in python
  5. dump.pdb() command for writing PDB files
  6. pair.lj now comes with an option to shift the potential energy to 0 at the cutoff
  7. pair.lj now comes with an opiton to smoothly switch both the potential and force to 0 at the cutoff with the XPLOR smoothing function
  8. Gaussian pair potential computation added (pair.gauss)
  9. update and analyze commands can now be given a function to determine a non-linear rate to run at
  10. analyze.log, and dump.dcd can now append to existing files

Changes that will break scripts from 0.8.0

  1. dump.mol2() has been changed to be more consistent with other dump commands. In order to get the same result as the previous behavior, replace
     dump.mol2(filename="file.mol2")
    
    with
     mol2 = dump.mol2()
     mol2.write(filename="file.mol2")
    
  2. Grouping commands have been moved to their own package for organizational purposes. group_all() must now be called as group.all() and similarly for tags and type.

Bug/fixes small enhancements

  1. Documentation updates
  2. DCD file writing no longer crashes HOOMD in windows
  3. FindBoost.cmake is patched upstream. Use CMake 2.6.3 if you need BOOST_ROOT to work correctly
  4. Validation tests now run with --gpu_error_checking
  5. ULF bug workarounds are now enabled only on hardware where they are needed. This boosts performance on C1060 and newer GPUs.
  6. FindPythonLibs now always finds the shared python libraries, if they exist
  7. "make package" now works fine on mac os x
  8. Fixed erroneously reported dangerous neighbor list builds when using --mode=cpu
  9. Small tweaks to the XML file format.
  10. Numerous performance enhancements
  11. Workaround for ULF on compute 1.1 devices in place
  12. dump.xml can now be given the option "all=true" to write all fields
  13. total momentum can now be logged by analyze.log
  14. HOOMD now compiles with boost 1.38 (and hopefully future versions)
  15. Updaters can now be given floating point periods such as 1e5
  16. Additional warnings are now printed when HOOMD is about to allocate a large amount of memory due to the specification of an extremely large box size
  17. run() now shows up in the documentation index
  18. Default sorter period is now 100 on CPUs to improve performance on chips with small caches