Removes PME rank dependency on Non-local X H2D copy when buffer ops are on GPU but...
authorGaurav Garg <gaugarg@nvidia.com>
Wed, 25 Aug 2021 08:56:18 +0000 (14:26 +0530)
committerGaurav Garg <gaugarg@nvidia.com>
Fri, 27 Aug 2021 07:51:51 +0000 (07:51 +0000)
This was not a problem until now because because !stepWork.haveGpuPmeOnThisRank will always evaluate to true in case of domain decomposition as PME will always be on a separate rank.
But now with PME decomposition this bug gets exposed.

Refs #4125

src/gromacs/mdlib/sim_util.cpp

index 6ecc338f703ec72a87a248f94d7691cb361f4624..69c380a73f3e9edfefd6dbbf8a249999b60352f6 100644 (file)
@@ -1592,7 +1592,7 @@ void do_force(FILE*                               fplog,
 
             if (stepWork.useGpuXBufferOps)
             {
-                if (!stepWork.haveGpuPmeOnThisRank && !stepWork.useGpuXHalo)
+                if (!stepWork.useGpuXHalo)
                 {
                     stateGpu->copyCoordinatesToGpu(x.unpaddedArrayRef(), AtomLocality::NonLocal);
                 }