This patch avoids the emission of maps for target link variables when unified memory is present.
Details
Details
- Reviewers
ABataev caomhin - Commits
- rG5254f0a9abab: [OpenMP] Avoid emitting maps for target link variables when unified memory is…
rL363435: [OpenMP] Avoid emitting maps for target link variables when unified memory is…
rC363435: [OpenMP] Avoid emitting maps for target link variables when unified memory is…
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/CodeGen/CGOpenMPRuntime.cpp | ||
---|---|---|
7956 ↗ | (On Diff #195798) | Hmm, what about regular declare target declarations? Also, this is not enough. You also should not capture such variables in the captured regions. |
lib/CodeGen/CGOpenMPRuntime.cpp | ||
---|---|---|
7956 ↗ | (On Diff #195798) | For now, only variables under the link clause are considered for unified memory usage. |
Comment Actions
Tests?
lib/CodeGen/CGOpenMPRuntime.h | ||
---|---|---|
1628 ↗ | (On Diff #200818) | Do we need to make it virtual? |
Comment Actions
Just one question after looking at the test: how we're going to link the device variable to its host copy? I think the address should be passed to the runtime, no?
lib/CodeGen/CGOpenMPRuntime.h | ||
---|---|---|
1628 ↗ | (On Diff #200818) | Still not answered |
Comment Actions
The runtime will take care of it by performing a copy of the host address into the device pointer.
lib/CodeGen/CGOpenMPRuntime.h | ||
---|---|---|
1628 ↗ | (On Diff #204780) | You can make this function const. |