在CUDA程序中添加函数

在CUDA程序中添加函数,cuda,compilation,Cuda,Compilation,所以,我想我有一个非常奇怪的问题 所以,假设我已经在我的GPU上安装了一个程序,在这个程序中我调用了一个函数X。但是函数X还没有声明 我希望能够动态地修改函数X,完全更改代码并将其放入程序中,而不会重新编译其余部分或丢失任何指针 为了将它与我们大多数人都知道的东西进行比较,我希望能够像OpenGL中的着色器那样进行操作。在执行的中间,我可以改变一个着色器的代码,只重新编译着色器,激活程序,现在我用了这个。 那么,有可能吗。还是我需要一直重新编译整件事。如果我必须重新编译,我会丢失在全局内存中创建

所以,我想我有一个非常奇怪的问题

所以,假设我已经在我的GPU上安装了一个程序,在这个程序中我调用了一个函数X。但是函数X还没有声明

我希望能够动态地修改函数X,完全更改代码并将其放入程序中,而不会重新编译其余部分或丢失任何指针

为了将它与我们大多数人都知道的东西进行比较,我希望能够像OpenGL中的着色器那样进行操作。在执行的中间,我可以改变一个着色器的代码,只重新编译着色器,激活程序,现在我用了这个。 那么,有可能吗。还是我需要一直重新编译整件事。如果我必须重新编译,我会丢失在全局内存中创建的各种数组吗

谢谢


W.P/>P> >如果使用NVCC编译-CUDA标志,则可以获得将PTX流到处理器的中间C++源。理论上,您可以对这个中间输出进行后期处理,动态生成PTX并将其发送过来。您甚至可以让PTX进行自我修改,但这不是我的能力。

您能提供一个代码示例来演示您想做什么吗?听起来使用函数指针可能是一个解决方案,但是你的问题陈述有点含糊不清。我不确定我是否理解这个问题,但是全局内存在不同的内核调用中是可用的。因此,您可以在给定时间更改内核调用,并访问已分配的相同全局内存空间。共享内存空间不会发生这种情况。对不起,我还没有任何源代码。。。这是我未来的一个项目!