[Openmp-commits] [PATCH] D81989: [OpenMP] Introduce low level dependency process to target offloading
Shilei Tian via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Tue Jun 16 20:46:58 PDT 2020
tianshilei1992 created this revision.
Herald added subscribers: openmp-commits, sstefan1, jfb, guansong, yaxunl.
Herald added a reviewer: jdoerfert.
Herald added a project: OpenMP.
Asynchronous offloading will be wrapped into a target task, and the
corresponding dependencies will go to the task. Only all dependencies are
full-filled, the task will be enqueued and dispatched. However, almost all
device runtime libraries provide ways for dependencies such that we don't need
to go back to host side to resolve the dependencies. For exmaple, we could wait
for a CUDA event before we push some operations into a stream. The wait is not
blocking so that all following enqueues will be proceeded. However, they will
not be executed until the waiting event is full-filled.
This patch lowers the dependency process of target task to the device side. It
supports depending on both host tasks and target tasks. For depending on target
tasks, the process goes to the device side. As for depending on host tasks,
current mechanism is still used with a tiny modification.
rG LLVM Github Monorepo
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 65936 bytes
Desc: not available
More information about the Openmp-commits