diff --git a/src/vesselbase/ActionWithVessel.cpp b/src/vesselbase/ActionWithVessel.cpp index ea50634675718f26c9d3c1aa8d08986cc3cd18cd..de9b94954d29dd6d884a809e05bcefc231b76e05 100644 --- a/src/vesselbase/ActionWithVessel.cpp +++ b/src/vesselbase/ActionWithVessel.cpp @@ -265,7 +265,7 @@ void ActionWithVessel::runAllTasks() { // Get number of threads for OpenMP unsigned nt=OpenMP::getNumThreads(); - if( nt*stride*10>nactive_tasks || !threadSafe()) nt=1; + if( nt*stride*2>nactive_tasks || !threadSafe()) nt=1; // Get size for buffer unsigned bsize=0, bufsize=getSizeOfBuffer( bsize ); @@ -275,7 +275,7 @@ void ActionWithVessel::runAllTasks() { if( dertime_can_be_off ) dertime=false; if(timers) stopwatch.start("2 Loop over tasks"); - #pragma omp parallel num_threads(nt) + #pragma omp parallel num_threads(nt) schedule(dynamic) { std::vector<double> omp_buffer; if( nt>1 ) omp_buffer.resize( bufsize, 0.0 );