summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/runtime/OMP/OMPScheduler.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/runtime/OMP/OMPScheduler.cpp b/src/runtime/OMP/OMPScheduler.cpp
index 1dd251199..d68b8af02 100644
--- a/src/runtime/OMP/OMPScheduler.cpp
+++ b/src/runtime/OMP/OMPScheduler.cpp
@@ -71,15 +71,12 @@ void OMPScheduler::schedule(ICPPKernel *kernel, unsigned int split_dimension)
}
else
{
- #pragma omp parallel num_threads(info.num_threads)
+ #pragma omp parallel private(info) num_threads(info.num_threads)
{
- #pragma omp for
- for(int t = 0; t < info.num_threads; ++t)
- {
- Window win = max_window.split_window(split_dimension, t, info.num_threads);
- info.thread_id = t;
- kernel->run(win, info);
- }
+ const int tid = omp_get_thread_num();
+ Window win = max_window.split_window(split_dimension, tid, info.num_threads);
+ info.thread_id = tid;
+ kernel->run(win, info);
}
}
}