给定一个指向__global__函数的指针,我可以检索它的名字吗?

时间:2013-10-29 21:34:00

标签: cuda

假设我在CUDA中有一个指向__global__函数的指针。有没有办法以编程方式向CUDART询问包含其名称的字符串?

1 个答案:

答案 0 :(得分:1)

我认为任何公共API都不可能实现这一点。

我之前尝试过在驱动程序中进行探索,但这看起来并不太有希望。编译器为<<< >>>内核调用发出的代码清楚地通过__cudaRegisterFunction向运行时注册了受损的函数名,但我看不到任何明显的方法来在运行时库中按名称/值执行查找。相当于cuModuleGetFunction的驱动程序API会导致同样不透明的类型,从中无法提取函数名称。

编辑添加:

主机编译器本身不支持反射,因此没有明显的花哨语言技巧可以在运行时拉出来。一种可能性是在编译轨迹中添加另一个预处理器传递,以在最终构建之前构建静态内核函数查找表。这将是相当多的工作,但它可以完成,至少对于“经典”编译而言,一切都在一个翻译单元中结束。