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

Guilherme Valarini via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Tue Aug 16 17:47:18 PDT 2022


gValarini created this revision.
gValarini added reviewers: jdoerfert, tianshilei1992.
Herald added a project: All.
gValarini requested review of this revision.
Herald added subscribers: openmp-commits, sstefan1.
Herald added a project: OpenMP.

This patch better integrates the target nowait functions with the
tasking runtime. It splits the nowait execution into two stages:
a dispatch stage, that triggers all the necessary asynchronous device
operations and stores a set of post-processing procedures that must be
executed after said ops; and a synchronization stage, responsible for
synchronizing the previous operations in a non-blocking manner and
running the appropriate post-processing functions. 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, allowing other target nowait regions to be
concurrently dispatched.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D132005

Files:
  openmp/libomptarget/include/omptarget.h
  openmp/libomptarget/src/interface.cpp
  openmp/libomptarget/src/omptarget.cpp
  openmp/libomptarget/src/private.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D132005.453177.patch
Type: text/x-patch
Size: 22474 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20220817/9316569f/attachment-0001.bin>


More information about the Openmp-commits mailing list