Optimized the bonded thread force reduction
commit9112ae6c49e3486a57a6641b018f83b521ec89ec
authorBerk Hess <hess@kth.se>
Wed, 21 Oct 2015 10:04:50 +0000 (21 12:04 +0200)
committerDavid van der Spoel <davidvanderspoel@gmail.com>
Sat, 14 Nov 2015 10:11:33 +0000 (14 11:11 +0100)
tree62ce37ec08f4e161bf10943b979921ee8cb140f6
parentdc90d31d051cb245aba5aaa610f9b6048fed3076
Optimized the bonded thread force reduction

The bonded thread force reduction now uses fixed size blocks of 32
atoms. Instead of dividing reduction of the whole range of blocks
uniformly over the threads, now only used blocks are divided
(uniformly) over the threads.
This speeds up the reduction by a factor #threads (!) for typical
protein+water systems when not using domain decomposition.
With domain decomposition the speed up is up to a factor of 3.

Change-Id: I255b4336d315ef62ac9bc446c22313bf47baa097
src/gromacs/listed-forces/listed-forces.cpp
src/gromacs/listed-forces/listed-internal.h
src/gromacs/listed-forces/manage-threading.cpp