update documentation to correct "single" precision
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.
#2 Updated by Szilárd Páll over 7 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.