【发布时间】:2015-09-15 01:32:42
【问题描述】:
在cuda中,是否可以调用在不同程序中定义的设备函数?
我想要一个包含多个设备函数的程序,然后创建不同的内核(可以在不同的cubin中编译),但能够调用这些函数。
所以,我想要的是:
- 具有实用函数 A、B 和 C 的 cubin
- 能够调用函数 A 和 B 的 cubin
- 能够调用函数 A 和 C 的 cubin
有没有办法做到这一点?
还有一个类似的问题,CUDA中是否可以有一种类似于GLSL中的子程序的函数指针?
【问题讨论】:
-
如果你想问CUDA是否支持设备代码库,答案是肯定的
-
我需要做一些特别的事情吗?或者只是按正确的顺序加载模块?
-
在 NVIDIA 开发者论坛的 this thread 中,我展示了一个关于如何创建和使用适用于 Linux 和 Windows 的设备代码库的最小工作示例。
-
你有cubins的例子吗?在您的示例中,项目链接在一起。但我想要单独的 cubin 文件。然后可以动态加载它们,有点像插件或 DLL。