diff --git a/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/SubbandProc.cc b/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/SubbandProc.cc index c6050d41a32621d32dd73db9f5d467fcea02d3a5..6f33de85b0c8adb272fc8b2591de7f4bb479a978 100644 --- a/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/SubbandProc.cc +++ b/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/SubbandProc.cc @@ -31,6 +31,7 @@ #include <ApplCommon/PosixTime.h> #include <Common/LofarLogger.h> +#include <Common/Thread/Thread.h> #include <iomanip> @@ -223,7 +224,13 @@ namespace LOFAR processCPUTimer.stop(); // Synchronise to assure that all the work in the data is done - queue.synchronize(); + { + // If we delay the reception of the DONE signal from the GPU, + // we can't schedule the next batch of work in time. + Thread::ScopedPriority sp(SCHED_RR, 10); + + queue.synchronize(); + } }