2014/1/29 Bernd Schmidt <ber...@codesourcery.com>: > 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.
Yes. > 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. We also wanted to use function names at the beginning of our work [1]. Then Jakub noticed that the names aren't necessarily unique: [2], [3], [4], etc. This led to the current approach of host/target address tables. > > Bernd > [1] http://gcc.gnu.org/ml/gcc/2013-08/msg00251.html [2] http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00250.html [3] http://gcc.gnu.org/ml/gcc/2013-09/msg00146.html [4] http://gcc.gnu.org/ml/gcc/2013-10/msg00184.html -- Ilya