Archive for March, 2007

Tumblelogs

Posted in Web 5 years, 2 months ago

Through bbgm, I was introduced to the idea to Tumblelogs. I really like the format that is used to display content. I think limiting one post per page really helps focus the reading, and it doesn’t necessarily have to be short posts. I’m going to adopt this format for my blog over the next few months. Unfortunately, I’m currently swamped with work, so it’ll take atleast a month to see any changes on this site.

Version Control

Posted in Computing 5 years, 2 months ago

A few days back, I gave a presentation on Version Control to my lab. It focussed primarily on Subversion, but I think the first part is useful regardless of the controlling system.

svn.jpg

Here’s the outline:

What is Version Control

  • software that keeps track of changes to code over time
  • centralized repository to be accessed by multiple developers

Why do I need Version Control

  • safe way to develop
  • accountability
  • multiple versions
  • branching, tagging and comparisons

Choices

  • CVS
  • Subversion
  • Microsoft Visual Source Safe
  • Perforce
  • Git
  • Bittracker

Facts about SVN

  • cost (free)
  • license (Apache-like)
  • platforms (Linux, Windows and Mac)
  • documentation (svnbook)

Facts about CVS

  • cannnot rename files
  • cannot move directories
  • eats binary files
  • limited support for unicode files

Best practices

  • micro commits
  • never break the repository
  • add relevant messages to every commit
  • don’t fix whitespace
  • tag at each release
  • never add compiled files (like object files)

And then the demo. I used TortoiseSVN on Windows and the command line on Linux to simulate a normal development session. I’m not an expert at these things, so some things required me to experiment during the demo. I picked up a lot of the figures from the svnbook to explain concepts like the lock-modify-unlock and copy-modify-merge models.

Avoidable integrator errors

Posted in Paper 5 years, 2 months ago

A friend brought this paper(pdf) to my attention “A common, avoidable source of error in molecular dynamics integrators” recently published in the Journal of Chemical Physics by D. E. Shaw Research. I had previously written about their award winning paper at SC06.

In constrained molecular dynamics simulations using some of the most popular molecular dynamics codes, calculation of the velocities of constrained particles is based solely on the differences in particle positions during two successive time steps. This creates a numerical instability that the authors’ show to be significant in a typical single-precision floating-point simulation. They describe a simple modification that eliminates this source of instability and demonstrate that this change substantially reduces the energy drift of a sample single-precision NVE simulation.

The paper is really short (2 pages) and describes recipes for modifying constraint algorithms SHAKE, RATTLE and SETTLE. Below is a graph of the energy drift in double-precision, single-precision and modified versions of GROMACS and Desmond (that’s D.E. Shaw’s MD engine.) They simulated a 30A cube of 901 water molecules with periodic boundary conditions for one nanosecond with a one femtosecond timestep. See how bad single-precision GROMACS is for NVE simulations?

desmond.jpg