在 CUDA 程序中添加函数

发布于 2024-12-01 05:43:49 字数 329 浏览 2 评论 0原文

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

因此,假设我已经在 GPU 上放置了一个程序,并且在该程序中我调用了函数 X。但是该函数 X 尚未声明。

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

为了与我们大多数人都知道的东西进行比较,我希望能够像 OpenGL 中的着色器一样。在执行过程中,我可以更改一个着色器的代码,只需重新编译该着色器,激活程序,现在我使用了这个。

那么,有可能吗。或者我是否需要一直重新编译整个过程。如果我必须重新编译,我是否会丢失在全局内存中创建的各种数组?

谢谢

W

So, I think I have a very weird question.

So, let say that I already have a program put on my GPU and in that program I call a function X. But that function X is not declared yet.

I want to be able, dynamically, to modify that function X, by completely changing the code and put it in the program without recompiling the rest or losing any pointers whatsoever.

To compare it with something that most of us know, I want to be able to do like the shaders in OpenGL. In the middle of the execution, I can change the code of one shader, only recompile that shader, activate the program and now I used this one.

So, is it possible. Or do I need to recompile the whole thing all the time. And if I have to recompile, do I lose the various arrays that I created in global memory ?

Thanks

W

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半寸时光 2024-12-08 05:43:49

如果使用 nvcc 使用 -cuda 标志进行编译,则可以获得将 PTX 流式传输到处理器的中间 C++ 源。理论上,您可以对此中间输出进行后处理,以动态生成 PTX 并将其发送出去。您甚至可以让 PTX 自我修改,但这超出了我的能力范围。

If you compile with the -cuda flag using nvcc, you can get the intermediate C++ source that streams PTX to the processor. In theory, you could post-process this intermediate output to dynamically generate PTX on the fly and send it over. You might even be able to have PTX be self modifying, but that's way out of my league.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文