parsec
parsec copied to clipboard
Add support for fork-join tasks
Original report by George Bosilca (Bitbucket: bosilca, GitHub: bosilca).
These tasks should enqueue one fake tasks on each execution context, based on their scope. Once these fake tasks are executed by their corresponding execution context, they will take some of the tasks pertaining to the range and execute them. Coordination should be done in the engine to ensure all tasks are correctly executed.
Beware: while the real tasks will then have the same priority, the fake tasks can have different priority. As a result, the upper level is not allowed to make any hard synchronization in these tasks.