diff options
| author | Guilherme Valarini <guilherme.a.valarini@gmail.com> | 2022-12-14 13:46:23 -0300 |
|---|---|---|
| committer | Guilherme Valarini <guilherme.a.valarini@gmail.com> | 2022-12-14 14:03:32 -0300 |
| commit | 89c82c83949b2bea26ea574c88c1ceada399d7d8 (patch) | |
| tree | e9433eb8136c978175ad48352202fd47d410ebf0 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h | |
| parent | 2afc90a2de37d4d6eefedf813ac0e26a492f58ad (diff) | |
| download | llvm-89c82c83949b2bea26ea574c88c1ceada399d7d8.zip llvm-89c82c83949b2bea26ea574c88c1ceada399d7d8.tar.gz llvm-89c82c83949b2bea26ea574c88c1ceada399d7d8.tar.bz2 | |
[OpenMP] Add non-blocking support for target nowait regions
This patch better integrates the target nowait functions with the tasking runtime. It splits the nowait execution into two stages: a dispatch stage, which 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. Suppose during the synchronization stage the operations are not completed. In that case, 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.
Reviewed By: jdoerfert, tianshilei1992
Differential Revision: https://reviews.llvm.org/D132005
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h')
0 files changed, 0 insertions, 0 deletions
