Make virial reproducible
authorBerk Hess <hess@kth.se>
Wed, 17 Aug 2016 13:27:49 +0000 (15:27 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Tue, 30 Aug 2016 14:27:04 +0000 (16:27 +0200)
commitcfd74c5e8272a3bba1a8b74d2e453bb6b1e614b4
treeb854ec291216c3fbe73c0b3fb13ee8a6308b1f64
parent699bd4995eb1276173358d7f4941ed53dedc0e4f
Make virial reproducible

OpenMP reduction was used to reduce virial contributions over threads,
which does not have a defined order. This leads to different rounding,
which makes runs non-reproducible (but still fully correct).
Now thread local buffers are used.
Also removed OpenMP parallezation for small count (e.g. shift forces).

Change-Id: I8d80def602337cc12ab601916bf40d7f66bf9bbc
src/gromacs/mdlib/calcvir.cpp