Finally the functionality to split the runtimecall __tgt_target_data_begin.
- Still problems querying AAResults.
Paths
| Differential D85535
[OpenMPOpt][SplitMemTransfer][WIP] Splitting the runtime call __tgt_target_data_begin ClosedPublic Authored by hamax97 on Aug 7 2020, 9:26 AM.
Details
Summary Finally the functionality to split the runtimecall __tgt_target_data_begin.
Diff Detail Event TimelineComment Actions This still conflates different tasks and should be separated. The definitions of the new issue and wait function need to be provided with the splitting code. Just splitting, not all the other stuff. We can then also test that.
Comment Actions I think if I only add the declarations of __tgt_target_data_begin_issue and __tgt_target_data_being_wait the linking process will fail. How should I define the wait function?, the issue is just a wrapper of the current function, but as we don't have Shilei's patch merged yet I would have to create something that does nothing and change it later when the asynchronous stuff is merged.
Comment Actions
We can add this under a command line flag, declarations will be sufficient to test it with lit tests then. Comment Actions
Comment Actions
Comment Actions Is this a diff against master?
Comment Actions Hm, is it possible to apply this one first. I think this is the easiest to approve right away, that way we have less outstanding code.
Comment Actions
WDYT? Comment Actions
But we need to add the structure MemoryTranfer too. Also remember this assumes we moved the declarations in OpenMPOpt.cpp to OpenMPOpt.h, so we would have to put this new code into OpenMPOpt.cpp, which I think is not a problem at all, but just to consider it. Comment Actions
Why do we need anything to split the runtime calls? The arguments should be sufficient for the split, no? Comment Actions
In that case, sure. I will do that.
Comment Actions
This revision is now accepted and ready to land.Aug 17 2020, 5:28 PM
Revision Contents
Diff 286174 llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
llvm/lib/Transforms/IPO/OpenMPOpt.cpp
llvm/test/Transforms/OpenMP/hide_mem_transfer_latency.ll
|
Call the variable and option "hide memory transfer latency" (or similar) and add a WIP to the description.