On 01/28/2014 01:52 PM, Ilya Verbin wrote:
The table is used in libgomp (see my patch [1]), as proposed by Jakub
(see [2]).  The idea is that the order of entries in the host and
target tables must be identical.  This allows to set up one-to-one
correspondence between host and target addresses.

I was worried the answer was going to be something like this. These are produced by two different compilers/linkers, aren't they? This seems really fragile to me and a recipe for hard-to-debug silent failures.

For ptx, I think we can create both tables at the same time in the image-generating tool, so I'm hoping that it won't be a problem. I'll let you know what I find, but it would still be nice to come up with something more robust.

Could you please describe how functions would be invoked on
PTX?

First we let the driver compile and load all the ptx code, then we'd call a cuda library function with the name of the function passed as a string. So I guess the host table would contain pointers to the host version of the functions, and the target table would contain a pointer to the name.


Bernd

Reply via email to