Fix stepWork.useGpuXHalo on search steps
authorSzilárd Páll <pall.szilard@gmail.com>
Mon, 27 Sep 2021 16:23:05 +0000 (18:23 +0200)
committerAndrey Alekseenko <al42and@gmail.com>
Mon, 27 Sep 2021 22:15:38 +0000 (22:15 +0000)
The value of stepWork.useGpuXHalo was not correct on search steps when
mdrun always falls back to comunicating over the CPU.

src/gromacs/mdlib/sim_util.cpp

index 3882768ada0e9dcb72ec7ed6284fdaacc3bfbb0b..13a13d23eac9f6b8921ee152fcbc57e162c148f5 100644 (file)
@@ -987,7 +987,7 @@ static StepWorkload setupStepWorkload(const int                     legacyFlags,
     const bool rankHasGpuPmeTask = simulationWork.useGpuPme && !simulationWork.haveSeparatePmeRank;
     flags.useGpuPmeFReduction    = flags.computeSlowForces && flags.useGpuFBufferOps
                                 && (rankHasGpuPmeTask || simulationWork.useGpuPmePpCommunication);
-    flags.useGpuXHalo          = simulationWork.useGpuHaloExchange;
+    flags.useGpuXHalo          = simulationWork.useGpuHaloExchange && !flags.doNeighborSearch;
     flags.useGpuFHalo          = simulationWork.useGpuHaloExchange && flags.useGpuFBufferOps;
     flags.haveGpuPmeOnThisRank = rankHasGpuPmeTask && flags.computeSlowForces;
     flags.combineMtsForcesBeforeHaloExchange =