Do not allow AtomLocality::All for coordinates and velocities transfer.
authorArtem Zhmurov <zhmurov@gmail.com>
Sun, 15 Aug 2021 13:40:55 +0000 (13:40 +0000)
committerAndrey Alekseenko <al42and@gmail.com>
Sun, 15 Aug 2021 13:40:55 +0000 (13:40 +0000)
commit63e96b8597cc4619c6b03524e3e9a7d5915c9f69
tree0416a7c79ed839dc5175b75c32afd5d1491d727e
parent21b60805b47e12a6bd0a863c7c5c60e5e1ec02c0
Do not allow AtomLocality::All for coordinates and velocities transfer.

1. Use AtomLocality:Local instead of AtomLocality::All in PME-only ranks
   and in PME tests.
2. Assert on using AtomLocality::All for positions and velocities transfers,
   print verbose message on assert.

This reduces the number of possible streams used in StatePropagatoerData, hence
reduces its complexity. In preparation for buffer state tracking.

Refs. #3323

Refs. #3020
src/gromacs/ewald/pme_only.cpp
src/gromacs/ewald/tests/pmetestcommon.cpp
src/gromacs/mdtypes/locality.h
src/gromacs/mdtypes/state_propagator_data_gpu_impl_gpu.cpp