We did not initiate a D2H copy of coordinates when doing a neighbor
search but were anyway waiting on the associated event.
Unlikely that it had any negative consequences, but that's still a logic
bug.
// For the rest of the CPU tasks that depend on GPU-update produced coordinates,
// this wait ensures that the D2H transfer is complete.
- if ((simulationWork.useGpuUpdate)
+ if (simulationWork.useGpuUpdate && !stepWork.doNeighborSearch
&& (runScheduleWork->domainWork.haveCpuLocalForceWork || stepWork.computeVirial))
{
+ GMX_ASSERT(haveCopiedXFromGpu, "a wait should only be triggered if copy has been scheduled");
stateGpu->waitCoordinatesReadyOnHost(AtomLocality::Local);
}