diff --git a/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp b/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp index 4b180fb65383ad4d9ad745ea910677001d6d5b31..d91cd55003137958b5fe3c5b6e35680780fc6c0e 100644 --- a/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp +++ b/src/gpu/VirtualFluids_GPU/Calculation/UpdateGrid27.cpp @@ -27,18 +27,14 @@ void updateGrid27(Parameter* para, ////////////////////////////////////////////////////////////////////////// int borderStreamIndex = 1; - int bulkStreamIndex = 0; - - if (para->getUseStreams()) { - // launch border kernel - collisionUsingIndex(para, pm, level, t, kernels, para->getParD(level)->fluidNodeIndicesBorder, - para->getParD(level)->numberOffluidNodesBorder, borderStreamIndex); - } else - collision(para, pm, level, t, kernels); + int bulkStreamIndex = 0; ////////////////////////////////////////////////////////////////////////// if (para->getUseStreams() && para->getNumprocs() > 1) { + // launch border kernel + collisionUsingIndex(para, pm, level, t, kernels, para->getParD(level)->fluidNodeIndicesBorder, + para->getParD(level)->numberOffluidNodesBorder, borderStreamIndex); //prepare exchange and trigger bulk kernel when finished prepareExchangeMultiGPU(para, level, borderStreamIndex); if (para->getUseStreams()) @@ -51,6 +47,7 @@ void updateGrid27(Parameter* para, exchangeMultiGPU(para, comm, cudaManager, level, borderStreamIndex); } else { + collision(para, pm, level, t, kernels); prepareExchangeMultiGPU(para, level, -1); exchangeMultiGPU(para, comm, cudaManager, level, -1); }