Improved the intra-GPU load balancing
authorBerk Hess <hess@kth.se>
Mon, 3 Nov 2014 16:25:51 +0000 (17:25 +0100)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Sat, 27 Jun 2015 22:39:16 +0000 (00:39 +0200)
commit6106367bd902e228c32cfcf7e079f3fa6493c15a
treea2ea9fc8d3a6b28a1a73d4515e1471060a030c3f
parentadbada47acec11923abb49678aae1a5437c9322b
Improved the intra-GPU load balancing

The splitting of the pair list to improve load balancing on the GPU
was based on the number of generated lists. But this number can be
high(er) due to small lists before splitting. This lead to too few
lists for small systems and too many for large systems.
Now the splitting is based on the number of pairs in the list up till
now. This produces much more stable results.
Because of the more stable results, we increased the min_ci_balanced
factor from 40 to 44 (closer to the ideal 48).
With small systems on many threads we used to generate many more lists
than targeted. Because the algorithm is now far better, we increased
the minimum list size from 32 to 36 and still get fewer lists.

Change-Id: Id2210171a409ef1a27f7dc919fe806f0fe4d869c
src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.cu
src/gromacs/mdlib/nbnxn_search.c