Fix two nbnxn search indexing bugs
commita18e551901e83494c5bd686134fc98fcdf530032
authorBerk Hess <hess@kth.se>
Wed, 9 Aug 2017 15:07:11 +0000 (9 17:07 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Mon, 4 Sep 2017 16:31:23 +0000 (4 18:31 +0200)
treef666678d0eb7c3561bdbd32a829e0bc9f19416bc
parent9a73b267e25ddc35339431081cac59c93580b6f8
Fix two nbnxn search indexing bugs

The conversion for nbnxn i-cluster indexing to j-cluster indexing
in the SIMD cluster list generation code was incorrect for the
(common) case where the j-cluster size is 8 (i is always 4).
This bug was compensated by a bug that caused the input j-cluster
range, in terms of i-cluster size, to be to wide by 1 at both ends.
This change fixes both bugs, which leads to slightly fewer distance
checks.
Note that because of the compensating bugs, the pair-lists have
always been fully correct.

Change-Id: I79ff95d71880dc53305dbbf9282487895be71ed9
src/gromacs/mdlib/nbnxn_search.cpp
src/gromacs/mdlib/nbnxn_search_simd_2xnn.h
src/gromacs/mdlib/nbnxn_search_simd_4xn.h