[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