Feature Parity

I've had quite a productive week. The new version of Sire is now finally reaching feature parity with the old version (i.e. new Sire can now be used for QM/MM free energy simulations, and I've just finished adding the RDF monitor).

This means that I can finally run the water/methane QM/MM simulations in new Sire that I previously ran in old Sire. It also means that I can start upgrading current users to the new version (which I hope will be appreciated, given that the new version is a little friendlier to use, and has built in replica exchange using MPI). Speaking of users of the old version, they are now growing in number, and some really interesting QM/MM simulations are now being performed on a range of systems. This all makes the code feel like it has grown up - sort of like how it felt when I had my first group of users of ProtoMS. It changes the feeling of the code from something personal and in-progress to something more shared and more solid.

I've been spending today compiling Sire on the University supercomputer - blue crystal. This is a seriously fast machine - my benchmark run showed that Sire was reaching 1.1 gigaflops on a single node (double precision, calculating the total energy of a periodic water box - it took just 0.2 s). The code compiled well, with the only problem being that cmake had found an old mpi.h in /usr/local/include when I wanted to use a locally installed copy in ~/local/include. I fixed that by changing the cmake files to place the 3rd party include directories at the front of the include directories list. This fixed it, and Sire compiled without error. Which is not bad considering I develop on 32 bit OS X Intel, and baby blue is a 64 bit Linux AMD. To be honest though, cmake helps make the porting easy (it is very good at searching for libraries, and it is very easy to write compile tests), and I've also been using vmware Fusion on my macbook to test compile periodically with linux 64 bit.