[Openmp-commits] [PATCH] D132005: Add non-blocking support for target nowait regions

Ye Luo via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Tue Aug 16 18:30:03 PDT 2022


ye-luo added a comment.

In D132005#3727790 <https://reviews.llvm.org/D132005#3727790>, @gValarini wrote:

> In D132005#3727763 <https://reviews.llvm.org/D132005#3727763>, @ye-luo wrote:
>
>>> If during the synchronization stage the operations are not completed, the attached hidden helper task is re-enqueued to any hidden helper thread to be later synchronized
>>
>> Does this explicitly depends on helper threads and helper tasks or regular OpenMP threads and tasks can be used?
>
> This currently is intended only for helper tasks attached to target nowait regions.

Existing target nowait implementation doesn't distinguish using helper tasks or not. Setting LIBOMP_USE_HIDDEN_HELPER_TASK=0 dispatchs target tasks as regular tasks. As long as there are available OpenMP threads, these tasks can still run concurrently and gain asynchronicity although this scheme has the issue of active waiting and consuming host thread resource. I think this is the same issue you are trying to address in helper tasks.
Your scheme of splitting target tasks doesn't seem necessary tied to helper tasks. Do you have a a specific reason restricting this feature to only target tasks?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D132005/new/

https://reviews.llvm.org/D132005



More information about the Openmp-commits mailing list