Eliminated pick_nbnxn_resources
commit47452f355259b59662e3aa47ba9719c0fa102190
authorMark Abraham <mark.j.abraham@gmail.com>
Fri, 30 Jun 2017 23:49:05 +0000 (1 01:49 +0200)
committerKasson <kasson@gmail.com>
Tue, 18 Jul 2017 14:33:35 +0000 (18 16:33 +0200)
tree55f7ac793e6e31d5c59f097b055d15a2b672c880
parent012dd48620655fd242cb98381705f522b877f1d5
Eliminated pick_nbnxn_resources

The data about which GPUs on a node will be used by the PP tasks on it
is stored when the dev_use array is filled, either by user selection
or the automated per-rank round-robin assignment in
gmx_select_rank_gpu_ids. It is filled so that the PP intra-node rank
IDs will index into it, so aspects of the task assignment can be seen
as already complete. The code in pick_nbnxn_resources makes the final
action of indexing with the intra-node rank ID, then handles the
initialization of the selected GPUs.

Note that nothing meaningful has happened since the the call to
gmx_select_rank_gpu_ids. mdrun has done some checks, called
init_forcerec (which then set up a lot of unrelated things), and then
called init_nb_verlet. The actual task assignment (selecting the GPU
for this task) is where it always was (ie implicitly somewhere between
filling the dev_use array, and the act of actually indexing into it),
and future design options are still as open as they ever were.

Change-Id: Iac908bb74dbec20edaecf6fbfcd18b87179e7aba
src/gromacs/mdlib/forcerec.cpp