Task #1063

update documentation to correct "single" precision

Added by Mark Abraham about 8 years ago. Updated over 6 years ago.

Target version:


Precision is actually "mixed" but we will change our official naming only with 5.0

Email from Berk:

It's been like that forever.
We always had virial summation in double. I added PME exclusion energy summation in double
some years ago. I also made the COM in settle double, but recently reverted that as I found a
better way to avoid rounding errors.

The essential thing in that we (and also other packages like NAMD and Amber on GPUs) do a lot
of effort to avoid rounding errors propagating. You're almost never interested in digits beyond
single in final results, but rouding shouldn't significantly affect your results, which will happen
if you don't pay attention. We try to avoid doubles as much as possible by paying a lot of attention
to the order of operations etc. But that's difficult to convey to the average user. Saying we use
mixed precision is probably more convincing (and it's actually true).
This might get somewhat confusing when we pursue the idea of only doing non-bonded (e.g. on GPUs)
in float and the rest in double. That also mixed, but in a different way.

Related issues

Related to GROMACS - Bug #1372: Energy drift - comparison of double and single precisionClosed10/28/2013


#1 Updated by Mark Abraham about 8 years ago

Related to #1069 - we can document there that things really aren't "single," and for 5.0 get serious about not calling things "single" unless they really are (e.g. kernels)

#2 Updated by Szilárd Páll about 8 years ago

I strongly support that we at least clarify and emphasize in the docs and wiki the above explanation and the fact that GROMACS is and has been forever mixed precision. This is especially as users are getting confused by the discussion that often comes up abut single precision not being "enough". Moreover, some packages get the credit for their smart-ness with the mixed precision trick they use and nobody realizes that many of these ideas/tricks are probably as old as the (GROMACS) hills or even older.

#3 Updated by Erik Lindahl almost 8 years ago

  • Target version changed from 4.6 to 4.6.1

#4 Updated by Mark Abraham over 7 years ago

  • Status changed from New to Accepted
  • Target version changed from 4.6.1 to 5.0
  • Affected version set to N/A

#5 Updated by Rossen Apostolov over 6 years ago

  • Related to Bug #1372: Energy drift - comparison of double and single precision added

#6 Updated by Erik Lindahl over 6 years ago

  • Status changed from Accepted to Fix uploaded

#7 Updated by Erik Lindahl over 6 years ago

  • Status changed from Fix uploaded to Resolved

#8 Updated by Erik Lindahl over 6 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF