Better concurrency support for analysis nbsearch.
authorTeemu Murtola <teemu.murtola@gmail.com>
Sun, 5 May 2013 09:55:31 +0000 (12:55 +0300)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Thu, 27 Jun 2013 19:28:04 +0000 (21:28 +0200)
commit1adde8a13dbbea812ed3ee825548fc87baed2c3c
tree8976853194f83f27d86ff6fcc99857222c043446
parent49ec30f1dcfe46d2d03b92f5d827577123fbe4c0
Better concurrency support for analysis nbsearch.

AnalysisNeighborhood::initSearch() now supports concurrent calls from
multiple threads such that each call creates an independent search.
A pool of search objects is kept allocated to avoid constant
reallocation of the data structures.

This allows using the neighborhood search routines transparently in
thread-parallel analysis tools after that is implemented in the
framework.  The changes in the template demonstrate how this simplifies
the tool code.

Part of #866.

Change-Id: If469284671ec66e249e138e59da7cc87a8f4ac65
share/template/template.cpp
share/template/template_doc.cpp
src/gromacs/selection/nbsearch.cpp
src/gromacs/selection/nbsearch.h
src/gromacs/selection/tests/nbsearch.cpp