From 2294b649de224448a33b7ad250368d8a9e565289 Mon Sep 17 00:00:00 2001
From: Anna Wellmann <a.wellmann@tu-braunschweig.de>
Date: Wed, 6 Oct 2021 15:41:11 +0200
Subject: [PATCH] Only call methods for grid exchange when using multiple
 processes

cherry-picked from d954628
---
 src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp b/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp
index d62e9607d..96f5287fc 100644
--- a/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp
+++ b/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp
@@ -92,13 +92,16 @@ void updateGrid27(Parameter *para, vf::gpu::Communicator *comm, CudaMemoryManage
             }
 
             coarseToFine(para, level);
-        } else {
+        } else if (para->getNumprocs() > 1) {
             fineToCoarse(para, level);
 
-            prepareExchangeMultiGPU(para, level, -1);
-            exchangeMultiGPU(para, comm, cudaManager, level, -1);
+             prepareExchangeMultiGPU(para, level, -1);
+             exchangeMultiGPU(para, comm, cudaManager, level, -1);
 
             coarseToFine(para, level);
+        } else {
+            fineToCoarse(para, level);
+            coarseToFine(para, level);
         }
     }
 }
-- 
GitLab