[PATCH] D157738: [OpenMP] Emit offloading entries for indirect target variables
Joseph Huber via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 14 14:35:31 PDT 2023
jhuber6 added a comment.
In D157738#4586465 <https://reviews.llvm.org/D157738#4586465>, @JonChesterfield wrote:
>> calling device functions via their associated host pointer
>
> What does this mean? Defining a function foo such that the host and each individual target each have their own machine code for it, such that &foo on the host can be copied over to the target and then invoked to mean call the function on the local target with the same name?
>
> If so, calling through the pointer &foo on the GPU doing a logarithmic search through a table to choose a function address to branch to sounds like something that will codegen into very slow code. Does it do that search on every call?
>
> Is there an ambition to have &foo on the host and &foo on the target return the same value, in the pointer equality sense?
That's exactly what it means, the mapping is only done for targets with `indirect` declared on them. The indirect calls themselves, I think @jdoerfert is implementing some specialization? He just asked me to implement this since it's related to copying of virtual classes to the device.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D157738/new/
https://reviews.llvm.org/D157738
More information about the cfe-commits
mailing list