parallel-runtimes/lomp

Barriers are not handling tasks correctly

Opened this issue · 0 comments

Describe the bug
The current implementation of barriers (all of them!) assumes that once a thread has entered a barrier only the barrier code needs to execute. That is incorrect, since other threads (which have not yet entered the barrier) may create tasks that a thread inside the barrier could execute.

The barrier polling code needs to be calling out to the tasking code to allow tasks to be executed even though a thread has checked in to the barrier.

To Reproduce
Read the code.

Expected behavior
Threads which have checked into a barrier should still be looking for tasks to execute.

Desktop (please complete the following information):

  • OS: all
  • Target architecture: all
  • LOMP Version: 0.2