Folding@home Gromacs FAQ

Table of Contents

The Folding@home developers (primarily Guha Jayachandran) have been working with the Gromacs development team (primarily Erik Lindahl) to incorporate Gromacs into Folding@home. Please go to the Gromacs.org web site to learn more about Gromacs and download the source if you're interested.

As a participant of Folding@home, is there anything I need to do?

No. For the participants of Folding@home, nothing new needs be done, as the update is automatic.

Why include Gromacs? What do you gain?

For the scientists using Folding@home, the results will be dramatic. For some calculations, Gromacs affords benefits over the current code in Folding@home (the current code is based on Jay Ponder'sTinker), especially a great speed increase (up to 20x-30x for certain calculations). This will substantially increase the power of Folding@home for many calculations.

If it's faster, will the participants get more points?

Sorry, the points in the stats will still be benchmarked by the CPU time, so your stats won't be affected either.

How can Gromacs be that much faster?

Gromacs is built for speed. Everything about it has been optimized to be the very fastest MD code on the planet. For example, it uses the SSE instructions on Pentiums to get a 3x speed increase. 3D-Now! is supported on AMD chips. Altivec is supported on Macs. The inner loops are hand coded in assembly. It has algorithms creatively designed for speed. It's an amazing feat. For us to include all of these optimizations into our current scientific code did not seem a judicious use of our programming resources (why reinvent the wheel?) and we instead decided to collaborate with the Gromacs team.

Do I need to do anything to enable SSE/3D-Now/Altivec support?

No, the binary should automatically detect this if the OS supports it. There are no issues on Win or Mac OS X. For Linux, you'll need a 2.4.x series kernel or later.

Why didn't you use Gromacs in the first place?

When we started coding the project (summer, 2000), using Gromacs was not a possibility. Apart for licensing issues, we decided to use implicit solvent models for several reasons (speed, low memory and low bandwidth requirements) and implicit solvation models currently cannot be simulated by Gromacs. Now that we are starting to move to explicit solvation models, Gromacs is applicable and hence our move.

Has the current scientific code been slowing you down unnecessarily?

No. Because Gromacs only speeds explicit solvent calculations and we've been running implicit solvation calculations (and we've modified Tinker to speed these calculations), this hasn't been an issue. However, now that it is time scientifically to move to explicit solvent models, the speed Gromacs gives will be very useful.

What about the original scientific code (Tinker)? What will happen to it?

We will continue to perform some calculations with the current code, since there are still many calculations that Gromacs cannot do (e.g. implicit solvation models, force fields, polarizable models, etc). In particular, we have made many additions to Tinker, so we will either use both as necessary, or gradually port our Tinker modifications to Gromacs. We have also given our patches to Tinker to Jay Ponder for its inclusion in the mainstream version of Tinker.

Isn't Gromacs a GPL'd code? Where's the source for your mods?

Folding@home has been granted a non-commercial, non-GPL license for Gromacs, so we are not required to release our source. The copyright owners of any GPL code (in this case the owners are the Gromacs development team) can distribute the same piece of software with difference licenses in parallel. See the GPL FAQ for more info on this. However, we will release our patches GPL'd (see below).

Why don't you just use the GPL version? Why the special license?

Folding@home has special security checksums meant to maintain error detecting and data integrity. To ensure the validity of the work calculated, we need to keep these routines closed source. However, this is not relevant to other Gromacs users and all other modifications will be released GPL to the Gromacs developers.

What modifications will you be making to Gromacs, and when will they be available?

We have several additions planned -- mainly the ones we have made to Tinker or aspects present in Tinker, but not in Gromacs. We will GPL release our modifications to Gromacs, so that our enhancements will be able to be used by others. However, we do not have any specific plans for when these modifications will be finished. We will release the modifications as we complete them. Specifically:

  • Andersen temperature and pressure control
  • Porting of force fields, including Amber, OPLS, and CHARMM
  • Additional methods or modifications for thermodynamics calculations, especially thermodynamic integration (TI)
  • Some implicit solvation models
  • Checksumming of output files

What do the Gromacs developers think about all of this?

Here's a quote from Erik Lindahl, one of the primary Gromacs developers: "We just love to see the code put to good use, and we're very excited to be part of the largest computational folding experiment in the history of science. We also believe it's important to support Folding@home since it's an open project in contrast to many of the alternatives; it makes a tremendous difference to publish the scientific results instead of hiding them in proprietary databases (and it's only fair since you contribute the CPU time)."

Can I turn off SSE/3D-Now?

It causes problems for my system -- it runs too hot or my K6 doesn't have the full 3D-Now you use. The default configuration will be for SSE to be on. In the new client, you will be able to manually turn off SSE in the new client G's putting out. The Gromacs core will do some internal tests to see if SSE is a problem. If these tests indicate that it is, then the Gromacs core will turn off SSE itself (although one will be able to try to force SSE manually).

Are there other Gromacs-based cores?

In addition to the original Gromacs core (core 78), many additional Gromacs cores have been added over time.

  • The DGromacs core (core 79) is compiled for double precision calculations, for cases where higher precision is needed. We use SSE2 in this case to speed calculations on CPUs that support SSE2.
  • The GBGromacs core (core 7a) adds the Generalized Born implicit solvent to Gromacs; we have set this up as a separate core since this technology is still a bit experimental and we do not want to taint the main production Gromacs core (core 78).
  • The Double Gromacs B core (core 7b) is very similiar to the Double Gromacs core. This new fahcore_7b has several scientific additions to the core.
  • The Gromacs Serial Replica Exchange Method core (core 80), also known as GroST (Gromacs Serial replica exchange with Temperatures), uses Replica Exchange Method in its simulations also known as REMD, Replica Exchange Molecular Dynamics.
  • GROSimT is a new (May 2007) Gromacs core (core 81) that performs simulated tempering. Simulated tempering is one of the sampling algorithms, of which the basic idea is to enhance sampling by periodically raising and lowering temperature. Using this new core, we are hoping to sample more efficiently the transitions between folded and unfolded conformations of proteins.
  • The Gromacs 33 core (core a0) contains features from more recent versions of Gromacs which have been ported to Folding@Home, allowing a broader range of simulations to be run.
  • The Gromacs SMP FAQ core (core a1) supports running on multiprocessor or multicore processor systems. This core is currently available for Mac OSX, Linux x86-64 and Windows x86.

For More Information, Please See:


Last Updated on October 24, 2007, at 11:54 AM